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.
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.jsondla PHP,package.jsondla buildu assetówphpcs.xml+phpstan.neon- statyczna analiza kodu i sprawdzanie standardówplaywright.config.js+ foldertests/- testy E2E całego flow zakupowegoARCHITECTURE.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ą
- 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.
- 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ę.
- 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.
- 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.
- Pełen audyt GEO/SEO 8 subagentami po wdrożeniu - obiektywne potwierdzenie, że strona jest gotowa pod AI search.
Stack
Block-based WooCommerce 10.x, Block Cart + Block Checkout (świeży, oficjalny kierunek).
Standalone block theme, bez parent. Composer + npm + PHPStan + Playwright. ARCHITECTURE.md.
Polski LLM uruchomiony lokalnie. Generator opisów produktów przez WooCommerce REST API.
Synchronizacja produktów, stanów i zamówień między WooCommerce a marketplace Erli.
Compliance z rozporządzeniem UE 2023 o bezpieczeństwie produktów (GPSR).
Schema rich (Org/Store/WebSite/Product/Person/Breadcrumb), IndexNow, mapa dla LLM-ów.
Mapowanie wszystkich starych URL FlowStore na nowe WP. Zero utraconych pozycji.
Płatności (oficjalna paczka z panelu P24), kurierzy, paczkomaty z geowidgetem.
Object cache backend - WP nie męczy bazy przy każdym requeście.
Mały hosting, darmowy CDN. TTFB 88ms z Warszawy mimo zerowego budżetu na infrastrukturę.