00 / SEO Command Center
Kontrola techniczna indeksacji katalogu B2B
Panel zbiera w jednym miejscu stan indeksacji katalogu LUMORA PRO, poprawność znaczników schema.org i wyniki audytu technicznego całej platformy. Dane są liczone przy każdym deployu i przy każdej zmianie struktury katalogu, więc pokazują stan bieżący, a nie raport sprzed miesiąca.
01 / Stan indeksacji
Co widzi robot
0
Strony w indeksie
Karty produktów, kategorie, wpisy techniczne i strony projektowe. Portal klienta i pokój negocjacyjny są poza indeksem celowo.
0
Strony z poprawnym schema
Różnica 58 stron to pozycje RFQ-only, które świadomie nie emitują obiektu Offer. Rich Results Test zwraca dla nich Product bez ceny.
0
Błędy krytyczne
Trzy karty produktowe importowane z pliku PIM bez pola gtin. Poprawka wchodzi w kolejnym cyklu synchronizacji.
0
Średni TTFB
Mediana z 30 dni dla stron katalogowych, pomiar z serwera brzegowego w Warszawie. Strony z filtrami: 212 ms.
02 / Struktura danych
Znaczniki schema.org na platformie
Wszystkie znaczniki są generowane po stronie serwera jako JSON-LD i wstrzykiwane w nagłówek dokumentu. Żadne pole nie jest budowane w przeglądarce, więc robot widzi dokładnie to samo co użytkownik niezalogowany.
| Typ | Gdzie | Status | Uwaga |
|---|---|---|---|
| Organization | Każda strona, nagłówek globalny | Aktywny | Dane rejestrowe, NIP, adres fabryki, profile branżowe w polu sameAs. |
| WebSite | Strona główna | Aktywny | Z obiektem SearchAction wskazującym na wyszukiwarkę katalogu. |
| Product | 1247 kart produktowych | Aktywny | Nazwa, sku, mpn, marka, zdjęcia, parametry techniczne jako additionalProperty. |
| ProductGroup | Rodziny produktowe z wariantami | Aktywny | Warianty barwy światła, mocy i wykończenia spięte polem variesBy. Jeden URL kanoniczny na rodzinę. |
| BreadcrumbList | Katalog, kategorie, karty produktu | Aktywny | Ścieżka odwzorowuje realną hierarchię katalogu, nie historię kliknięć. |
| Offer | Tylko produkty z ceną katalogową | Warunkowy | Produkty oznaczone jako RFQ-only nie dostają obiektu Offer, bo nie mają ceny publicznej. Ceny kontraktowe nigdy nie trafiają do schema, niezależnie od tego kto jest zalogowany. To celowe zabezpieczenie, nie brak wdrożenia. |
03 / Audyt techniczny
Lista kontrolna platformy
Canonical na wariantach produktu
Każdy wariant mocy, barwy i wykończenia wskazuje na URL rodziny. Parametry wariantu zostają w query string i są ignorowane przy indeksacji.
Hreflang PL / EN
Wzajemne odwołania w obu językach plus x-default na wersję angielską. Każda strona ma komplet, braków zwrotnych brak.
Sitemap.xml podzielony na indeksy
Osobne mapy dla produktów, kategorii, wpisów technicznych i realizacji. Pole lastmod bierze datę faktycznej zmiany rekordu, nie datę przebudowy cache.
Robots.txt: /portal/ i /live-deal-room/
Obie ścieżki zablokowane dla wszystkich robotów. Blokada w robots.txt to warstwa pierwsza, nie jedyna - patrz pozycja niżej.
Noindex na stronach za loginem
Nagłówek X-Robots-Tag: noindex, nofollow wysyłany po stronie serwera dla każdej trasy wymagającej sesji. Działa także wtedy, gdy ktoś wklei link publicznie.
Core Web Vitals
LCP 1,9 s i CLS 0,04 na kartach produktu są w normie. Widok katalogu z aktywnymi filtrami ma LCP 2,7 s przez galerię renderowań - w kolejce jest podmiana na obrazy o mniejszej rozdzielczości.
Lazy-loading obrazów
Atrybut loading=”lazy” wszędzie poniżej pierwszego ekranu, format AVIF z zapasem WebP, wymiary zapisane na sztywno żeby nie przesuwać układu.
Preload fontów
Dwa kroje w wariancie zmiennym ładowane z własnego serwera z font-display: swap. Trzeci krój używany w panelu operatora nie jest preładowany i daje 40 ms opóźnienia na pierwszym renderze.
04 / Ryzyka
Pułapki indeksacji w B2B
Katalog B2B ma inne ryzyka niż sklep detaliczny. Poniżej trzy, które najczęściej wysadzają wdrożenia, i sposób w jaki platforma je zamyka.
Wyciek cen kontraktowych przez cache
Klasyczny scenariusz: warstwa cache zapisuje stronę wygenerowaną dla zalogowanego dystrybutora z rabatem 34 procent, a potem podaje ją anonimowemu robotowi. Cena z umowy ląduje w indeksie i w cache przeglądarki.
Rozwiązanie: cache stron działa wyłącznie na wersji anonimowej. Ceny indywidualne są pobierane osobnym zapytaniem po stronie klienta, po sprawdzeniu sesji, z nagłówkiem Cache-Control: private, no-store. Robot dostaje kartę bez pola ceny i to jest jedyna wersja, która w ogóle istnieje w cache.
Duplikacja treści na wariantach
Oprawa liniowa w 4 mocach, 3 barwach światła i 5 wykończeniach to 60 niemal identycznych stron. Google indeksuje jedną, resztę traktuje jak szum i obniża ocenę całej sekcji.
Rozwiązanie: jeden URL na rodzinę produktową, warianty jako stan interfejsu w query string, znacznik ProductGroup z polem variesBy i canonical do rodziny. Zamiast 60 słabych stron w indeksie jest jedna mocna z pełną tabelą parametrów.
Crawl budget zjadany przez filtry
Katalog ma 11 filtrów. Ich kombinacje dają kilkadziesiąt tysięcy adresów, które w niczym nie różnią się od siebie poza kolejnością parametrów. Robot spędza na nich czas zamiast na nowych kartach produktu.
Rozwiązanie: linki filtrów renderowane bez atrybutu href dla robota, parametry normalizowane do stałej kolejności, kombinacje powyżej dwóch filtrów oznaczone jako noindex, follow. Do indeksu trafiają tylko te zestawy filtrów, które mają realny wolumen zapytań - obecnie 23 adresy.
05 / Widoczność
Pozycje na frazach zakupowych
Śledzone są wyłącznie frazy z intencją hurtową i projektową. Zapytania konsumenckie zostały z listy usunięte, bo generują ruch, który nie kończy się zapytaniem ofertowym.
| Fraza | Pozycja | Zmiana | Miesięcznie |
|---|---|---|---|
| oświetlenie architektoniczne hurt | 4 | +2 | 390 |
| kinkiety do hoteli producent | 7 | bez zmian | 210 |
| szyny magnetyczne 48V dystrybutor | 11 | -1 | 170 |
| oprawy liniowe do biur na wymiar | 3 | +5 | 140 |
| oświetlenie sklepowe projekt świetlny | 9 | +3 | 260 |
| producent opraw led dla instalatorów | 6 | -2 | 320 |
Dane demonstracyjne. Pozycje z okresu 30 dni, źródło: Search Console, urządzenia łączone, rynek PL. Wolumeny zaokrąglone do dziesiątek.