Świeży projekt

Lume Design - lume.sklep.pl

Migracja z FlowStore na WordPress + własny block theme. Opisy produktów pisze lokalny Bielik. AI Search Visibility 72/100 po wdrożeniu.

lume.sklep.pl ↗ | Rękodzieło - biżuteria, zakładki, RPG dice | Anna Nowicka, Gdynia

Wyzwanie

Anna prowadzi Lume Design z Gdyni. Wykonuje ręcznie biżuterię z kamieni naturalnych, magiczne zakładki do książek, kości RPG ze stałych minerałów i breloki. Produkty są nietypowe, każdy ma swój charakter, wiele jest spersonalizowanych. Klient Lume to nie kupujący "kolejną ozdobę", tylko ktoś, kto wybiera konkretny kamień do konkretnej osoby.

Stary sklep stał na FlowStore - dedykowanym, zamkniętym systemie e-commerce, którego od dłuższego czasu się nie rozwija. Nowych funkcji nie dodasz, bezpieczeństwa nie podbijesz, integracji nowych płatności i kurierów nie wepniesz. Do tego dochodziły rzeczy, których stary system z natury nie miał - na przykład compliance GPSR (rozporządzenie UE 2023, weszło w grudniu 2024, wymóg dla każdego sklepu sprzedającego konsumentom w UE), omnibus directive (historia cen), nowy reżim zwrotów UE 2023/2673, integracja z marketplace Erli, automatyzacja kurierów Apaczka.pl plus paczkomaty InPost.

Plus jedno: budżet. Lume to mały sklep handmade, nie ma miejsca na płatny CDN Cloudflare ani drogi hosting. Trzeba było wycisnąć maksimum z niewielkiego VPS plus Cloudflare Free.

Stawka migracji

Sklep żyje z Google. Każda godzina po migracji bez działających 301 redirectów to traffic, który leci na 404. Każdy stary URL FlowStore zaindeksowany w wyszukiwarce musi prowadzić na właściwy nowy produkt - nie na stronę główną, nie na "nie ma takiego adresu", ale dokładnie tam, gdzie klient chciał trafić. Inaczej tracimy pozycje budowane latami.

Co zrobiliśmy

1. Standalone FSE block theme - lume-design

Standardowy ruch przy migracji ze starego systemu to: kup Storefront albo gotowy motyw WooCommerce, dolep customy, lecisz. My poszliśmy inną drogą i napisaliśmy cały motyw od zera jako standalone Full Site Editing block theme - bez Storefront, bez parent theme, bez page-buildera. Dlaczego? Bo gotowiec przy tak nietypowym sklepie i tak trzeba by go mocno przerabiać w 80%, a w międzyczasie zostawalibyśmy zależni od cudzych aktualizacji.

Motyw to nie tylko style.css i theme.json. To pełna paczka deweloperska:

  • composer.json dla PHP, package.json dla buildu assetów
  • phpcs.xml + phpstan.neon - statyczna analiza kodu i sprawdzanie standardów
  • playwright.config.js + folder tests/ - testy E2E całego flow zakupowego
  • ARCHITECTURE.md + docs/ - dokumentacja dla siebie z przyszłości i dla każdego, kto kiedyś przejmie projekt

Pełna integracja Block Cart i Block Checkout WooCommerce - bo to świeży, oficjalny kierunek WordPressa, a nie klasyczny shortcode-based checkout. Dodaliśmy do tego customy: floating mini-cart z drawerem, popup po dodaniu do koszyka, fix continue shopping, własne kolory marki (accent pink #c73986 wszędzie, gdzie ma sens).

2. Migracja z FlowStore - 301 nginx z mapy

Najnudniejszy, najważniejszy fragment migracji. Zinwentaryzowaliśmy wszystkie URL-e ze starego sklepu i zapisaliśmy do listy, potem zmapowaliśmy każdy stary URL na nowy w drugim arkuszu, wygenerowaliśmy z tego plik konfiguracyjny nginx (lume_301_redirects.conf) i wgraliśmy go na produkcję przez paramiko.

Efekt: każdy zaindeksowany URL FlowStore robi clean 301 prosto do właściwego produktu lub kategorii w nowym sklepie. Google przepiął indeks bez utraty pozycji.

3. AI generator opisów produktów - lokalnie, na Bieliku

Setki produktów Lume potrzebowały świeżych, unikalnych, sprzedażowych opisów. Standardowy ruch: ChatGPT albo Claude API plus jakiś skrypt. My poszliśmy inną drogą - napisaliśmy generator opisów uruchomiony lokalnie:

  • Python skrypt iteruje po produktach przez WooCommerce REST API
  • Każdy produkt idzie do Ollamy uruchomionej lokalnie z modelem Bielik 11B v3.0-instruct (polski LLM od SpeakLeash)
  • Wygenerowane opisy wracają do WooCommerce REST API jako short_description
  • 3 równoległe workery (Ollama daje radę), bezpieczne ratelimitowanie

Co to daje Annie:

  • Zero kosztu za request (kompletnie lokalnie, własna maszyna)
  • Zero transferu danych poza Polskę (model polski, infrastruktura lokalna)
  • Polski LLM rozumiejący kontekst handmade jewelry, RPG dice i książek lepiej niż OpenAI GPT-4 dla tego segmentu
  • Każdy produkt dostaje opis sprzedażowy zoptymalizowany pod LLM-y oraz Google AI Overviews

4. Własny plugin - lume-erli-sync

Erli to polski marketplace, na który Anna sprzedaje równolegle z własnym sklepem. Gotowej, sensownej wtyczki łączącej WooCommerce z Erli po prostu nie ma. Napisaliśmy autorski plugin lume-erli-sync - synchronizuje produkty, stany magazynowe i zamówienia w obie strony. Anna prowadzi jeden katalog, jeden stan magazynowy, jeden punkt prawdy.

5. Własny plugin - gpsr-for-woocommerce

GPSR (General Product Safety Regulation, UE 2023) weszło w grudniu 2024 i obowiązuje każdy sklep sprzedający konsumentom w UE. Wymaga, żeby na karcie produktu były informacje o producencie, osobie odpowiedzialnej w UE, oznaczeniach bezpieczeństwa. Mało kto to wdraża, bo gotowych pluginów było wtedy ze 2 i wszystkie kosztowne.

Napisaliśmy własny gpsr-for-woocommerce. Anna jest zgodna z GPSR, ma to widoczne na każdym produkcie, w polu producent i podstawach prawnych.

GEO i SEO bez kompromisów

Sklep ma być widoczny nie tylko w Google, ale i w wyszukiwarkach AI, które szybko zjadają część rynku (ChatGPT Search, Perplexity, Gemini, Bing Copilot, Google AI Overviews). Cały stack zoptymalizowany pod oba kierunki:

  • llms.txt PL-native, zgodny ze specyfikacją llmstxt.org - mapa strony specjalnie dla LLM-ów
  • Dynamic robots.txt z explicit allow dla wszystkich liczących się botów AI (GPTBot, ClaudeBot, PerplexityBot, OAI-SearchBot, ChatGPT-User, Google-Extended, Bingbot, Applebot)
  • Blokowanie scraper-only UA (CCBot, anthropic-ai, Bytespider, FacebookBot) - tych co tylko biorą, nic nie dają w zamian
  • Schema.org rich przez Yoast 27.7: Organization, Store, WebSite + SearchAction, BreadcrumbList, Product, plus Person na /o-mnie/
  • NAP consistent - VAT ID PL5861516423, Gdynia geo coordinates, 3 social profiles w sameAs
  • Server-rendered HTML bez JS gate - Perplexity i Bing z ograniczonym JS-em też wszystko widzą

Po wdrożeniu odpaliliśmy pełen audyt GEO + SEO przez 8 specjalistycznych subagentów (geo-ai-visibility, geo-platform-analysis, seo-technical, seo-content, seo-schema, seo-performance, seo-sitemap, seo-local). Wynik:

  • AI Search Visibility: 72/100 (Good)
  • Crawler Access: 100/100 (Excellent)
  • llms.txt: 85/100 (Very good)
  • Citability: 73/100 (Good)
  • TTFB ~88ms z Warszawy
  • Lab CLS: 0.00 (was 0.24 field przed fixami)
  • Wszystkie 9 AI crawlerów zweryfikowane live jako mające dostęp (HTTP 200, full HTML)

Pakiet pluginów - sprawdzony, dopracowany

WooCommerce to ekosystem - liczy się nie sama wtyczka, ale jak dobrze grają ze sobą pozostałe. Dla Lume zestaw stabilny i dopracowany:

  • Yoast SEO - schema, sitemap, IndexNow
  • Pressidium Cookie Consent z PL override w functions.php (Consent Mode v2)
  • WP Mail SMTP na skrzynce CyberFolks (mail dochodzi do klienta zawsze)
  • Przelewy24 - oficjalna paczka z panelu P24, nie wp.org
  • WPNest Returns for WooCommerce (compliance UE 2023/2673)
  • Apaczka.pl + Mapa Punktów - kurierzy, paczkomaty, geowidget
  • FiboSearch (Ajax Search for WooCommerce) - inteligentne wyszukiwanie
  • Divi Smarter Gallery - galeria na karcie produktu
  • WC Price History - omnibus directive (historia cen)
  • Redis Cache - object cache backend

Najmocniejszy akcent

72/100 AI Search Visibility na samym starcie.

Bez GPT-4. Bez Claude API. Bez zewnętrznych usług, którym płacisz miesięcznie. Cała warstwa GEO zaszyta w motywie, opisy produktów pisze polski LLM uruchomiony lokalnie u nas. Anna ma sklep, który Google AI Overviews, ChatGPT Search i Perplexity widzą lepiej niż 90% sklepów konkurencji.

Efekty

  • Pełna migracja z FlowStore bez utraty pozycji w Google - nginx 301 redirector mapuje każdy stary URL na właściwy nowy
  • AI Search Visibility 72/100 potwierdzone audytem 8 specjalistów GEO/SEO
  • TTFB ~88ms z Warszawy, lab CLS = 0.00 - mimo VPS + Cloudflare Free
  • Setki unikalnych opisów produktów wygenerowanych lokalnie na Bieliku - zero kosztów per request
  • Sklep zgodny z GPSR, omnibus directive i nowymi przepisami o zwrotach UE 2023/2673
  • Integracja z marketplace Erli przez własny plugin - synchronizacja produktów i stanów
  • Standalone block theme z testami E2E (Playwright) i statyczną analizą (PHPStan, PHPCS) - utrzymywalny, dokumentowany

Wyróżniki - rzeczy, których inni nie robią

  1. Migracja z zamkniętego systemu na własny stack, nie na kolejny gotowiec. FlowStore -> własny FSE block theme + WooCommerce. Anna nie wpadnie znów w pułapkę platformy bez ucieczki.
  2. Opisy produktów generowane przez polski LLM uruchomiony lokalnie (Bielik 11B + Ollama + WC REST). Zero ChatGPT, zero OpenAI, zero kosztów per request, zero transferu danych poza Polskę.
  3. Dwa własne pluginy - lume-erli-sync i gpsr-for-woocommerce. Drugi rozwiązuje problem, który dotyczy każdego sklepu w UE od grudnia 2024, a mało kto o tym pamięta.
  4. Block theme z dev-grade pipeline: composer, package.json, phpcs.xml, phpstan.neon, playwright tests, ARCHITECTURE.md. Nie WordPress "od kolanka", tylko jak normalny projekt softwarowy.
  5. Pełen audyt GEO/SEO 8 subagentami po wdrożeniu - obiektywne potwierdzenie, że strona jest gotowa pod AI search.

Stack

WordPress 6.5+ + PHP 8.3

Block-based WooCommerce 10.x, Block Cart + Block Checkout (świeży, oficjalny kierunek).

lume-design FSE theme

Standalone block theme, bez parent. Composer + npm + PHPStan + Playwright. ARCHITECTURE.md.

Bielik 11B + Ollama

Polski LLM uruchomiony lokalnie. Generator opisów produktów przez WooCommerce REST API.

lume-erli-sync (własny)

Synchronizacja produktów, stanów i zamówień między WooCommerce a marketplace Erli.

gpsr-for-woocommerce (własny)

Compliance z rozporządzeniem UE 2023 o bezpieczeństwie produktów (GPSR).

Yoast SEO 27.7 + llms.txt

Schema rich (Org/Store/WebSite/Product/Person/Breadcrumb), IndexNow, mapa dla LLM-ów.

nginx 301 redirector

Mapowanie wszystkich starych URL FlowStore na nowe WP. Zero utraconych pozycji.

Przelewy24 + Apaczka + InPost

Płatności (oficjalna paczka z panelu P24), kurierzy, paczkomaty z geowidgetem.

Redis Cache

Object cache backend - WP nie męczy bazy przy każdym requeście.

VPS + Cloudflare Free

Mały hosting, darmowy CDN. TTFB 88ms z Warszawy mimo zerowego budżetu na infrastrukturę.