Checklista technicznego SEO dla sklepu internetowego

Audyt technicznego SEO sklepu Shopify i WooCommerce: noindex, robots.txt, mapa witryny, title, H1, canonical, dane strukturalne Product, Open Graph i alt.

Redakcja FixReports13 min czytania

Checklista technicznego SEO dla sklepu internetowego potwierdza trzy rzeczy: wyszukiwarki mogą skanować i indeksować strony, które mają być znajdowane, rozumieją, czym jest każda strona, i potrafią dobrze pokazać ją w wynikach. W praktyce oznacza to: brak przypadkowych reguł noindex, plik robots.txt, który nie blokuje ważnych stron, mapę witryny z kanonicznymi adresami URL, unikalny tytuł i metaopis dla każdej strony, jeden wyraźny nagłówek H1, tagi canonical, które scalają duplikaty powstające przez warianty i kolekcje, poprawne dane strukturalne typu Product, tagi Open Graph, opisowe teksty alternatywne i brak niedziałających linków wewnętrznych. Te kontrole usuwają przeszkody techniczne, ale nie gwarantują pozycji w wynikach ani ruchu.

Najważniejsze w skrócie

  • Plik robots.txt steruje skanowaniem (crawlingiem), a nie indeksowaniem. Aby strona nie trafiła do Google, użyj noindex i nie blokuj tej strony w robots.txt, bo inaczej Google nigdy nie zobaczy tej reguły (Google Search Central (otwiera się w nowej karcie)).
  • Jeden plik mapy witryny może zawierać do 50 000 adresów URL lub 50 MB bez kompresji, a Google ignoruje <priority> i <changefreq> (Google Search Central (otwiera się w nowej karcie)).
  • Google twierdzi, że nie ma idealnej liczby nagłówków, ale jeden nagłówek H1 z nazwą produktu to najczytelniejszy tytuł główny dla kupujących i czytników ekranu.
  • Informacje o produktach sprzedawcy (merchant listings) wymagają nazwy produktu, zdjęcia i zagnieżdżonego obiektu Offer (nie AggregateOffer) z ceną wyższą od zera i walutą (Google Search Central (otwiera się w nowej karcie)).

Co Shopify i WooCommerce zapewniają domyślnie?

Shopify zapewnia większość podstaw technicznego SEO w ramach platformy i motywu, a sklep na WooCommerce w kilku z nich polega na rdzeniu WordPressa i wtyczce SEO.

ElementShopifyWooCommerce (WordPress)
Mapa witryny XML/sitemap.xml, automatycznie/wp-sitemap.xml od WordPressa 5.5 albo mapa z wtyczki SEO
robots.txtAutomatycznie; edycja przez robots.txt.liquidWirtualny plik WordPressa, który wskazuje mapę witryny z rdzenia
Tagi canonicalDodawane automatycznieRdzeń dodaje je tylko na pojedynczych stronach
MetaopisPole w sekcji wyników wyszukiwania każdego produktuWtyczka SEO lub motyw
Dane strukturalne produktuMotyw, przez filtr structured_dataJSON-LD z rdzenia WooCommerce na stronach produktów
Tagi Open GraphMotyw (Dawn: meta-tags.liquid)Wtyczka SEO lub motyw
Koszyk i kasaZablokowane regułą Disallow w robots.txtOznaczone przez WooCommerce jako noindex

Szczegóły i źródła dla każdego wiersza znajdziesz poniżej (stan na październik 2026 roku).

Jak upewnić się, że strony sklepu mogą być indeksowane?

Strona może zostać zaindeksowana, gdy zwraca kod stanu 200, nie jest zablokowana w robots.txt i nie zawiera reguły noindex.

Reguła noindex może znajdować się w metatagu lub w nagłówku HTTP, a Google nie obsługuje jej w pliku robots.txt (Google (otwiera się w nowej karcie)):

<meta name="robots" content="noindex">
X-Robots-Tag: noindex

Plik robots.txt zarządza ruchem robotów; zablokowany adres URL nadal może pojawić się w wynikach, bez opisu, jeśli prowadzą do niego linki z innych stron (Google (otwiera się w nowej karcie)). Raport indeksowania stron (otwiera się w nowej karcie) w Search Console wyświetla każdy niezaindeksowany adres URL wraz z przyczyną, na przykład „Adres URL oznaczony tagiem »noindex«” (URL marked 'noindex'). Nie każdy adres URL musi być zaindeksowany, ale Twoje produkty i kolekcje już tak.

Shopify

Domyślny plik robots.txt blokuje ścieżki panelu administracyjnego, koszyka, kasy, konta klienta i zamówień, a także adresy URL kolekcji z filtrami (/collections/*+*) i sortowaniem (sort_by), które powielają strony kolekcji. Możesz go edytować za pomocą szablonu robots.txt.liquid, ale Shopify nazywa to nieobsługiwaną modyfikacją i ostrzega, że błędy mogą kosztować sklep cały ruch (Shopify Help Center (otwiera się w nowej karcie)).

Aby ukryć stronę, wpis na blogu lub produkt, ustaw metapole typu liczba całkowita seo.hidden na 1, co ukrywa element w mapach witryny, wyszukiwarkach i wyszukiwarce sklepu; status produktu Niepubliczny (Unlisted) ukrywa produkty także w kolekcjach i rekomendacjach (Shopify Help Center (otwiera się w nowej karcie)). Dopóki sklep jest chroniony hasłem, wyszukiwarki nie mogą odczytać jego mapy witryny.

WooCommerce

Sprawdź Ustawienia > Czytanie > Widoczność dla wyszukiwarek (Settings > Reading > Search engine visibility). Gdy zaznaczona jest opcja „Proś wyszukiwarki o nieindeksowanie tej witryny” (Discourage search engines from indexing this site), WordPress (od wersji 5.3) dodaje do Twoich stron metatag robots noindex, nofollow (WordPress.org (otwiera się w nowej karcie)) i wyłącza mapę witryny z rdzenia. Jeśli sklep powstawał w środowisku testowym (staging), upewnij się, że przy uruchomieniu odznaczono to pole. Samo WooCommerce oznacza strony koszyka, kasy i Mojego konta jako noindex i wysyła X-Robots-Tag: noindex dla punktów końcowych, takich jak strona potwierdzenia zamówienia (kod źródłowy WooCommerce (otwiera się w nowej karcie)), i tak właśnie powinno być.

Co powinna zawierać mapa witryny XML sklepu internetowego?

Mapa witryny powinna zawierać tylko kanoniczne, indeksowalne adresy URL, które chcesz mieć w wynikach wyszukiwania: produkty, kolekcje lub kategorie, strony z treścią i wpisy na blogu.

Zasady Google: do 50 000 adresów URL lub 50 MB na plik, indeks map witryny dla większych zbiorów, bezwzględne adresy URL, tylko adresy, które chcesz pokazywać w wynikach, i <lastmod> tylko wtedy, gdy jest dokładny (Google (otwiera się w nowej karcie)). Prześlij mapę witryny w raporcie Mapy witryn w Search Console albo wskaż ją w robots.txt:

Sitemap: https://example.com/sitemap.xml

W Shopify każda domena ma automatyczny plik sitemap.xml, który prowadzi do podrzędnych map witryny dla produktów, kolekcji, blogów i stron i aktualizuje się, gdy je dodajesz; każda domena międzynarodowa dostaje własną (Shopify Help Center (otwiera się w nowej karcie)).

W WooCommerce WordPress 5.5 i nowsze wersje udostępniają indeks map witryny z rdzenia pod adresem /wp-sitemap.xml, wskazany w pliku robots.txt WordPressa, domyślnie z maksymalnie 2000 wpisów na mapę. Wtyczki SEO, takie jak Yoast SEO, zastępują go własnym (Make WordPress Core (otwiera się w nowej karcie)). Zanim prześlesz mapę witryny, sprawdź, która z nich faktycznie działa.

Jak pisać tytuły i metaopisy produktów?

Daj każdej stronie unikalny, opisowy tytuł i metaopis, który ją streszcza, z najważniejszymi słowami na początku, bo Google skraca oba elementy do szerokości ekranu.

Wytyczne Google dotyczące tytułów: tytuły mają być opisowe i zwięzłe, bez upychania słów kluczowych i powtarzalnych szablonowych fragmentów, a nazwa witryny powinna stać na początku lub na końcu, oddzielona separatorem. Nie ma limitu długości, ale linki tytułowe są obcinane do szerokości urządzenia (Google (otwiera się w nowej karcie)). Google może też zbudować link tytułowy z innego tekstu, na przykład z nagłówka H1 lub og:title.

We fragmentach wyników (snippetach) Google korzysta głównie z treści strony, a metaopis wykorzystuje wtedy, gdy opisuje stronę trafniej. Sugeruje umieszczanie w nim faktów o produkcie, takich jak cena lub producent, i stwierdza, że generowane automatycznie opisy są w porządku, jeśli są czytelne i zróżnicowane (Google (otwiera się w nowej karcie)).

<title>Linen shirt, natural, relaxed fit | Example Store</title>
<meta name="description" content="Relaxed-fit shirt in European linen. Sizes XS to XXL, $68, free returns within 30 days.">
  • Shopify: edytuj Tytuł strony (Page title), Metaopis (Meta description) i Uchwyt adresu URL (URL handle) w sekcji wyników wyszukiwania każdego produktu (Shopify Help Center (otwiera się w nowej karcie)). Shopify przyjmuje w tytule do 70 znaków, sugeruje około 60, a dla opisu zaleca 160 znaków (Shopify Help Center (otwiera się w nowej karcie)).
  • WooCommerce: rdzeń WordPressa nie generuje metaopisu (sprawdzone w kodzie źródłowym wersji 7.1.3), więc użyj wtyczki SEO lub swojego motywu.

Czy każda strona potrzebuje dokładnie jednego nagłówka H1?

Google nie wymaga konkretnej liczby, ale jeden nagłówek H1 z nazwą strony to najczytelniejszy tytuł główny dla kupujących, czytników ekranu i wyszukiwarek.

Przewodnik Google dla początkujących w SEO mówi, że nie ma idealnej liczby nagłówków i że ich kolejność nie ma znaczenia dla wyszukiwarki, choć semantyczna kolejność pomaga czytnikom ekranu (Google (otwiera się w nowej karcie)). Wytyczne dotyczące linków tytułowych sugerują, aby tytuł główny był najbardziej wyeksponowanym tekstem, na przykład jako pierwszy widoczny element <h1>. Samouczek W3C dodaje, że nagłówki przekazują strukturę strony i że należy unikać pomijania poziomów (W3C WAI (otwiera się w nowej karcie)).

Typowe błędy w sklepach: logo w nagłówku H1 na każdej stronie, nazwa produktu w elemencie <div> lub w H2, drugi nagłówek H1 dodany przez aplikację i strony kolekcji bez H1.

Jak adresy kanoniczne radzą sobie z duplikatami wariantów i kolekcji?

Tag canonical mówi Google, który z kilku adresów URL o tej samej treści ma zostać zaindeksowany, więc adresy z parametrami wariantów i ze ścieżkami kolekcji powinny wskazywać jeden preferowany adres URL produktu.

Google traktuje przekierowania i rel="canonical" jako silne sygnały, a obecność w mapie witryny jako słaby. Używaj bezwzględnych adresów URL i nie wybieraj wersji kanonicznej za pomocą robots.txt ani noindex (Google (otwiera się w nowej karcie)). W przypadku wariantów opartych na opcjonalnym parametrze zapytania, na przykład ?color=green, Google sugeruje jako kanoniczny adres bez parametru. Ignoruje fragmenty po #, więc warianty potrzebują ścieżek lub parametrów; zaleca też samoodwołujące się tagi canonical na indeksowalnych stronach i spójne adresy URL w linkach, mapach witryny i tagach canonical (Google (otwiera się w nowej karcie)).

<link rel="canonical" href="https://example.com/products/linen-shirt">

Jeśli Google zignoruje Twój wybór, raport indeksowania stron pokaże komunikat „Duplikat, Google wybrał inną stronę kanoniczną niż użytkownik” (Duplicate, Google chose different canonical than user), co zwykle oznacza sprzeczne sygnały.

Jak skonfigurować dane strukturalne Product dla informacji o produktach sprzedawcy?

Dodaj znaczniki Product z zagnieżdżonym obiektem Offer, który odpowiada cenie i dostępności na stronie, a potem sprawdź je w Teście wyników z elementami rozszerzonymi (Rich Results Test) od Google.

Google używa fragmentów opisu produktu (product snippets) dla stron produktów, na których nie da się kupić bezpośrednio, a informacji o produktach sprzedawcy (merchant listings) dla stron, na których można dokonać zakupu (Google (otwiera się w nowej karcie)). Zasadniczo zaleca format JSON-LD (Google (otwiera się w nowej karcie)). Informacje o produktach sprzedawcy wymagają name, image i offers jako Offer, z price powyżej zera i priceCurrency w formacie ISO 4217. Zalecane właściwości to między innymi availability, gtin, brand, aggregateRating, shippingDetails i hasMerchantReturnPolicy (Google (otwiera się w nowej karcie)). Dla wariantów Google obsługuje ProductGroup z hasVariant, variesBy i productGroupID (Google (otwiera się w nowej karcie)).

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Linen shirt, natural",
  "image": ["https://example.com/images/linen-shirt-1x1.jpg"],
  "sku": "LS-NAT-M",
  "brand": { "@type": "Brand", "name": "Example Store" },
  "offers": {
    "@type": "Offer",
    "url": "https://example.com/products/linen-shirt",
    "price": "68.00",
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock"
  }
}
</script>

Oznaczaj znacznikami tylko to, co widzą kupujący; Google nie gwarantuje, że dane strukturalne pojawią się w wynikach (Google (otwiera się w nowej karcie)).

  • Shopify: {{ product | structured_data }} zwraca Product dla produktów bez wariantów i ProductGroup dla produktów z wariantami (Shopify (otwiera się w nowej karcie)); motyw Dawn umieszcza go w sekcji produktu. Jeśli aplikacja do opinii lub SEO dodaje własne znaczniki, sprawdź, czy nie ma duplikatów.
  • WooCommerce: rdzeń wypisuje na stronach produktów JSON-LD typu Product z kodem SKU, ofertami, ocenami (jeśli są opinie) oraz kodem GTIN, gdy wypełnione jest pole GTIN, UPC, EAN lub ISBN (dodane w WooCommerce 9.2 (otwiera się w nowej karcie)). Produkty z wariantami o różnych cenach dostają przedział cenowy AggregateOffer, chyba że adres URL wybiera jeden wariant (kod źródłowy WooCommerce (otwiera się w nowej karcie)), więc przetestuj je, bo informacje o produktach sprzedawcy wymagają Offer.

W przypadku zwrotów Google akceptuje też w znacznikach zasady zwrotów na poziomie organizacji, ale ustawienia w Merchant Center lub Search Console mają pierwszeństwo (Google (otwiera się w nowej karcie)).

Jakie tagi Open Graph powinny mieć strony produktów?

Strony produktów powinny mieć og:title, og:type, og:image i og:url, a także og:description i og:image:alt, aby udostępniane linki pokazywały właściwy tytuł i zdjęcie.

Protokół Open Graph wymienia te cztery jako wymagane, definiuje og:url jako kanoniczny adres URL i stwierdza, że każdemu og:image powinien towarzyszyć og:image:alt (ogp.me (otwiera się w nowej karcie)).

<meta property="og:type" content="product">
<meta property="og:title" content="Linen shirt, natural">
<meta property="og:url" content="https://example.com/products/linen-shirt">
<meta property="og:image" content="https://example.com/images/linen-shirt-1200x630.jpg">
<meta property="og:image:alt" content="Natural linen shirt on a hanger">
<meta property="og:description" content="Relaxed-fit shirt in European linen.">

Dlaczego tekst alternatywny zdjęć produktów ma znaczenie?

Tekst alternatywny (alt) mówi wyszukiwarkom i użytkownikom czytników ekranu, co przedstawia zdjęcie produktu, a Google korzysta z niego razem z rozpoznawaniem obrazu (computer vision) i treścią strony.

Wytyczne Google dotyczące obrazów zalecają przydatny, konkretny tekst alternatywny bez upychania słów kluczowych; najlepszym przykładem jest tam „Dalmatian puppy playing fetch” (szczeniak dalmatyńczyka aportujący piłkę). Google nie indeksuje obrazów tła CSS, więc zdjęcia produktów powinny znajdować się w elementach <img> (Google (otwiera się w nowej karcie)). W sklepie oznacza to tekst alternatywny w rodzaju „Lniana koszula w kolorze naturalnym, widok z tyłu”, a nie „koszula koszula len kup”.

Jak znaleźć i naprawić niedziałające linki wewnętrzne?

Przeskanuj sklep crawlerem, wypisz linki wewnętrzne, które zwracają błąd 4xx, i zaktualizuj każdy z nich albo przekieruj stary adres URL przekierowaniem 301 na najbliższą działającą stronę.

Google skanuje linki zbudowane jako elementy <a> z atrybutem href i zaleca, aby do każdej ważnej strony prowadził link z co najmniej jednej innej strony (Google (otwiera się w nowej karcie)). Adresy URL zwracające kody 4xx nie są indeksowane, a te już zaindeksowane są usuwane z indeksu; przekierowanie 301 to silny sygnał, a 302 słaby (Google (otwiera się w nowej karcie)). Linki w sklepie przestają działać, gdy produkty są usuwane lub zmieniają nazwę, gdy zmieniają się uchwyty adresów albo gdy kolekcje są wycofywane, a stare linki zostają w menu, opisach i wpisach na blogu.

  • Shopify: przejdź do Zawartość > Menu > Wyświetl przekierowania adresów URL > Utwórz przekierowanie adresu URL (Content > Menus > View URL redirects > Create URL redirect). Shopify przekierowuje tylko adresy URL, które faktycznie nie działają (Shopify Help Center (otwiera się w nowej karcie)).
  • WooCommerce: dodaj reguły na serwerze lub użyj wtyczki do przekierowań za każdym razem, gdy zmieniasz uproszczone nazwy (slugi) lub ustawienia bezpośrednich odnośników.

Bezpłatny skan wykrywa wiele z tych problemów w około minutę. Raport naprawy SEO sprawdza tytuły, metaopisy, nagłówki H1, tagi canonical, noindex, robots.txt, mapę witryny, dane strukturalne Product, Open Graph, teksty alternatywne i niedziałające linki wewnętrzne na maksymalnie 25 stronach i podaje poprawki dla Twojej platformy.

Najczęściej zadawane pytania

Czy naprawa technicznego SEO gwarantuje wyższe pozycje w Google?

Nie. Te poprawki usuwają powody, dla których strona nie może zostać przeskanowana, zaindeksowana lub zrozumiana; pozycje w wynikach nadal zależą od trafności i wielu innych czynników.

Czy każdy wariant produktu powinien mieć własny zaindeksowany adres URL?

To zależy od tego, jak zbudowane są warianty. Jeśli dzielą jedną stronę i różnią się opcjonalnym parametrem zapytania, Google sugeruje jako kanoniczny adres bez parametru; jeśli każdy wariant ma własną stronę, wytyczne Google dotyczące wariantów traktują każdą stronę osobno.

Dlaczego mój produkt nie wyświetla wyników rozszerzonych mimo poprawnych znaczników?

Google nie gwarantuje wyników rozszerzonych (rich results) dla poprawnych danych strukturalnych. Sprawdź, czy znaczniki odpowiadają widocznej treści, używają Offer z ceną wyższą od zera i przechodzą Test wyników z elementami rozszerzonymi.

Czy blokować strony kolekcji z filtrami w robots.txt?

W Shopify domyślny plik robots.txt już blokuje adresy URL kolekcji z filtrami i sortowaniem, bo powielają one strony kolekcji. Jeśli edytujesz robots.txt.liquid, zachowaj te reguły, chyba że masz konkretny powód, aby je zmienić.

Źródła