Strategia SEO dla sklepu internetowego - plan na 3, 6 i 12 miesięcy
POWRÓT_DO_BLOGA
Aktualizacja: AI & SEO 15 min

Strategia SEO dla sklepu internetowego - plan na 3, 6 i 12 miesięcy

Paweł Wiszniewski
Paweł Wiszniewski
Specjalista SEO & GEO · AI Engineer

Strategia SEO dla sklepu internetowego to kolejność prac ustawiona według przychodu, a nie lista wszystkiego, co da się poprawić. Reguła na start: jeśli w Search Console zaindeksowanych jest mniej niż ok. 80% adresów kategorii i produktów z mapy witryny albo filtry dają więcej zaindeksowanych adresów niż masz produktów, pierwsze 3 miesiące poświęć technice. Jeśli indeksacja jest w porządku, a kategorie mają frazy na pozycjach 4-20, zacznij od kategorii, bo tam najszybciej przybywa ruchu. Przy mniej niż ok. 100 produktach i nowej domenie SEO jest dodatkiem do Merchant Center i reklam, a nie głównym kanałem sprzedaży.

Jak ułożyć strategię SEO sklepu internetowego według przychodu: diagnoza w jeden dzień z Search Console, macierz priorytetów, roadmapa na 3, 6 i 12 miesięcy z KPI, koszt SEO wobec Google Ads przy dwóch skalach, audyt danych produktowych 26 polskich sklepów i skrypt do szybkich zysków.

/// WPIS W SKRÓCIE

Strategia SEO sklepu - od czego zacząć

W tym wpisie pokazuję, jak w jeden dzień ustalić priorytety z danych Search Console, jak policzyć potencjał każdej grupy stron, roadmapę na 3, 6 i 12 miesięcy z KPI dla każdego etapu, gdzie inwestować (kategorie, karty produktów, filtry, poradniki czy Merchant Center), ile to kosztuje przy dwóch skalach sklepu i jak SEO wypada wobec Google Ads. Do tego wyniki mojego audytu danych produktowych w polskich sklepach, skrypt do szukania szybkich zysków i pułapka, która potrafi zablokować porządki z filtrami na miesiące.

Czy sklep w ogóle potrzebuje strategii SEO - pierwsza decyzja

Nie każdy sklep powinien zaczynać od SEO. Efekty pozycjonowania przychodzą z opóźnieniem, więc na starcie liczy się to, czy masz czas i asortyment, na którym ruch organiczny w ogóle może zarabiać.

Sytuacja sklepuOd czego zacząćSEO na tym etapie
Nowy sklep, do 100 produktów, nowa domenaMerchant Center (darmowe wyniki), Google Ads, dobre karty produktówPodstawy: indeksacja, dane Product, unikalne opisy najlepszych produktów
Sklep z ruchem, ale sprzedaż z organiku robi kilka produktówKategorie i linkowanie wewnętrzneGłówny kanał wzrostu
Tysiące produktów, ruch stoi mimo rosnącej ofertyAudyt indeksacji, filtrów i wariantówNajpierw technika, potem treść
Sklep po migracji platformy ze spadkiem ruchuPrzekierowania i porównanie adresów sprzed i po migracjiNaprawa, dopiero potem rozwój
Marka sprzedająca też przez marketplace'yKategorie i frazy marki, Merchant CenterUzupełnienie, które zmniejsza zależność od prowizji

Najczęstszy błąd na tym etapie to strategia skopiowana z bloga firmowego: kilka artykułów miesięcznie i linki do strony głównej. W sklepie przychód robią kategorie i karty produktów, więc to one wyznaczają kolejność prac.

Diagnoza w jeden dzień: 6 liczb, które ustawiają priorytety

Zanim cokolwiek zaplanujesz, zbierz te liczby. Wszystkie są w Search Console, GA4 i w crawlu sklepu (Screaming Frog, Sitebulb albo własny skrypt).

LiczbaGdzie ją znaleźćPróg alarmowyCo oznacza
Odsetek zaindeksowanych kategorii i produktówSearch Console - Strony, filtr po mapie witrynyponiżej ok. 80%Problem z indeksacją: zacznij od techniki
Zaindeksowane adresy z parametrami i filtramiSearch Console - Strony, przykłady adresów; site: nie wystarczywięcej niż liczba produktówFiltry i sortowanie zjadają crawl i duplikują kategorie
Udział kategorii w kliknięciach organicznychSearch Console - Skuteczność, grupy adresów po wzorcuponiżej ok. 30%Ruch idzie na produkty i bloga, kategorie nie rankują
Frazy kategorii na pozycjach 4-20Search Console - Skuteczność, zapytanie + stronadużo wyświetleń, mało kliknięćNajszybsze zyski: poprawa kategorii i linkowania
Produkty z błędami w raporcie produktówSearch Console - Fragmenty produktów i informacje o sprzedawcypowyżej ok. 10% produktówBrak ceny, dostępności lub dostawy w danych Product
Przychód z organiku na 1 000 sesjiGA4 - pozyskanie, kanał Organic Searchwyraźnie niżej niż z płatnego wyszukiwaniaRuch trafia na złe strony albo karty nie sprzedają

Progi to moje reguły z audytów sklepów, nie wartości od Google. Służą do ustalenia kolejności, a nie do oceny, czy sklep jest dobry. Szczegóły o indeksacji filtrów znajdziesz we wpisie o crawl budgecie, a o danych produktowych w przewodniku po danych strukturalnych.

Macierz priorytetów: przychód razem z wysiłkiem

Każde zadanie oceniasz dwiema liczbami: ile przychodu może dodać i ile pracy kosztuje. Przychód liczę z danych Search Console, a nie z ogólnych szacunków:

potencjał (zł/mies.) = wyświetlenia × (docelowy CTR - obecny CTR) × współczynnik konwersji × średnia wartość zamówienia

Docelowy CTR to mediana CTR Twoich własnych fraz na pozycjach 1-3 dla tego samego typu strony. Nie używam ogólnych badań CTR, bo w sklepie wyniki produktowe, reklamy i AI Overviews zmieniają klikalność dla każdej frazy inaczej. Wysiłek oceniam w skali 1-5 (1 = zmiana w panelu, 5 = przebudowa szablonu z programistą).

ZadanieTypowy potencjałWysiłek (1-5)Kiedy
Porządek z filtrami, sortowaniem i parametramiduży przy tysiącach adresów3-40-3 mies.
Naprawa danych Product (cena, dostępność, dostawa, zwroty)średni, szybki efekt w wynikach produktowych20-3 mies.
Merchant Center i darmowe wyniki produktoweśredni, ruch z karty Zakupy i Grafiki20-3 mies.
Tytuły, nagłówki i treść kategorii z frazami na pozycjach 4-20duży, najszybszy wzrost kliknięć20-3 mies.
Nowe kategorie i filtry indeksowane pod frazy z popytemduży w średnim terminie33-6 mies.
Linkowanie wewnętrzne: menu, okruszki, powiązane kategorieśredni2-33-6 mies.
Unikalne opisy najlepiej sprzedających się produktówśredni, głównie konwersja23-6 mies.
Poradniki pod frazy porównawcze i problemowemały do średniego, długi termin26-12 mies.
Linki z serwisów branżowych do kategorii i poradnikówśredni do dużego, wolny46-12 mies.

Zasada: najpierw prawy górny róg (duży potencjał, mały wysiłek), potem zadania, które odblokowują inne (indeksacja przed treścią), na końcu długi termin.

Roadmapa SEO sklepu na 3, 6 i 12 miesięcy

Poniżej plan, który rozpisuję dla sklepów z kilkuset do kilkudziesięciu tysięcy produktów. Kolejność wynika z zależności: nie ma sensu pisać treści kategorii, które Google ledwo indeksuje, ani zdobywać linków do stron, które za miesiąc zmienią adres.

EtapPraceKPI etapuTypowy wynik
0-3 miesiące: fundamentAudyt techniczny i mapa fraz, reguły dla filtrów, sortowania i paginacji, canonicale, dane Product z ceną, dostępnością, dostawą i zwrotami, Merchant Center, poprawa kategorii z frazami na pozycjach 4-20Odsetek zaindeksowanych stron sprzedażowych, mniej adresów z parametrami w indeksie, 0 błędów krytycznych w raporcie produktów, CTR kategoriiCzystszy indeks, pierwsze wzrosty kliknięć kategorii
3-6 miesięcy: kategorie i produktyNowe kategorie i filtry pod frazy z popytem, przebudowa szablonu kategorii (treść, FAQ, linki do podkategorii), linkowanie wewnętrzne, opisy topowych produktów, obsługa niedostępnych produktówKliknięcia i przychód z kategorii, liczba fraz w top 10, przychód z organiku na 1 000 sesjiWzrost ruchu na frazach kategorii
6-12 miesięcy: skala i autorytetPoradniki pod frazy porównawcze, linki z serwisów branżowych, rozbudowa kategorii o długi ogon, widoczność w AI Mode i zakupach w ChatGPT, analiza konkurencji i luk treściPrzychód i transakcje z organiku, udział organiku w sprzedaży, widoczność na frazy ogólneSEO jako stabilny kanał sprzedaży

Ten plan rozpisuje w szczegółach seria wpisów o pozycjonowaniu sklepów: dobór słów kluczowych, filtry i nawigacja fasetowa, indeksacja, dane strukturalne Product i Offer, paginacja oraz analiza konkurencji. Ogólny obraz SEO i GEO w e-commerce opisałem we wpisie o widoczności sklepu w Google i zakupach przez AI.

Co pokazał mój audyt danych produktowych w polskich sklepach

11 października 2026 sprawdziłem 48 dużych i średnich polskich sklepów (elektronika, drogerie, apteki, moda, książki, dom i ogród, zoologiczne). Skrypt w przeglądarce Chromium otwierał po jednej karcie produktu w każdym sklepie i odczytywał dane strukturalne po wyrenderowaniu strony, czyli tak, jak widzi je Google. Dla porównania pobierał też surowy HTML i robots.txt. Kompletne wyniki mam dla 26 sklepów. Pozostałe 22 pokazały automatycznej przeglądarce stronę weryfikacji „czy jesteś człowiekiem”, odmowę dostępu albo nie dało się w nich wskazać karty produktu.

Element na karcie produktuSklepy z elementem (n = 26)Uwagi
Dane Product (JSON-LD lub microdata)23 (88%)3 sklepy bez żadnych danych Product na badanej karcie
Cena i waluta w Offer22 (85%)w każdym sklepie z JSON-LD
Dostępność (availability)20 (77%)
Marka i zdjęcie21 (81%)
Kod GTIN (EAN)15 (58%)brak w 7 z 22 sklepów z JSON-LD
Koszt i czas dostawy (shippingDetails)11 (42%)
Zasady zwrotów (hasMerchantReturnPolicy)10 (38%)
Dostawa i zwroty razem9 (35%)
Ocena (aggregateRating)9 (35%)w części sklepów są opinie na stronie, ale bez znaczników
Okruszki (BreadcrumbList)22 (85%)
Canonical wskazujący na samą kartę25 (96%)
Sitemap wpisany w robots.txt19 (73%)
Blokada parametrów w robots.txt24 (92%)od 0 do 236 reguł Disallow

Wnioski dla strategii:

  • Podstawy są zrobione, braki są w danych, które pomagają wygrać porównanie. Cenę ma prawie każdy, ale dostawę i zwroty w danych produktu podaje mniej niż połowa, a GTIN brakuje w co trzecim sklepie z JSON-LD. To dokładnie te informacje, które Google pokazuje w wynikach produktowych i których używa do łączenia oferty z innymi sklepami sprzedającymi ten sam produkt. Zastrzeżenie: zasady zwrotów i dostawy można też ustawić w Merchant Center albo w znacznikach Organization dla całego sklepu (Google zaleca to drugie dla zwrotów), więc brak na karcie nie zawsze oznacza brak w Google. Sprawdź to w swoim Merchant Center, zanim zaczniesz poprawiać szablon.
  • W żadnym sklepie dane Product nie pojawiały się dopiero po wykonaniu JavaScriptu. Tam, gdzie mogłem porównać, JSON-LD był już w surowym HTML. To dobra praktyka: Google renderuje JavaScript, ale nie każdy crawler AI to robi.
  • Ochrona przed botami to temat do strategii. 16 z 48 sklepów (co trzeci) pokazało automatycznej przeglądarce weryfikację, odmowę dostępu albo pustą stronę. To zwykle nie dotyczy Googlebota, ale warto sprawdzić w logach serwera, czy reguły nie blokują też crawlerów wyszukiwarek AI, z których korzystają ChatGPT czy Perplexity, jeśli chcesz być widoczny w zakupach przez AI.

Ograniczenia: to jedna karta produktu na sklep i próba 26 sklepów, więc wyniki pokazują kierunek, a nie dokładny obraz rynku. Nie sprawdzałem danych w Merchant Center ani znaczników na innych podstronach.

Kategorie, karty produktów, filtry, poradniki czy Merchant Center - gdzie inwestować

Każdy typ strony odpowiada na inną intencję i inaczej się skaluje. To porównanie pomaga rozdzielić budżet.

Typ stronyIntencja zapytańPrzykład frazyCzas do efektuSkala w sklepieGłówne ryzyko
Kategoriazakupowa, ogólnabuty do biegania damskie1-3 mies. po poprawkachdziesiątki do setek stronkanibalizacja z filtrami
Filtr indeksowany (np. marka + kategoria)zakupowa, doprecyzowanabuty do biegania asics damskie2-4 mies.kilkadziesiąt do kilkuset wybranychindeksowanie wszystkich kombinacji
Karta produktuzakupowa, konkretny modelasics gel-nimbus 27 damskietygodnie po zaindeksowaniusetki do dziesiątek tysięcyopisy od producenta, duplikaty wariantów
Poradnikinformacyjna, porównawczajakie buty do biegania na asfalt3-9 mies.kilkanaście do kilkudziesięciuruch bez sprzedaży, jeśli nie linkuje do kategorii
Merchant Center (darmowe wyniki)zakupowa, wizualnawyniki w karcie Zakupy, Grafice, Lensdni do tygodni po zatwierdzeniucały katalog z feeduodrzucone produkty przez niespójne ceny

W większości sklepów, które audytowałem, najwięcej ruchu do odzyskania leżało w kategoriach i wybranych filtrach, a nie w blogu. Poradniki opłacają się dopiero wtedy, gdy kategorie są gotowe na ruch, który z nich trafi.

SEO czy Google Ads - koszt przy dwóch skalach

SEO i reklamy liczy się inaczej: reklama kosztuje za każde kliknięcie, SEO ma koszt stały, a kliknięcia rosną z opóźnieniem. Przykład dla dwóch sklepów, na moich założeniach (podstaw własne dane z Google Ads i Search Console):

ZałożenieSklep A: 500 produktówSklep B: 20 000 produktów
Kategorie i indeksowane filtry40600
Prace SEO miesięcznie (szacunek z moich wycen, X 2026)15-20 godz.40-60 godz.
Dodatkowe kliknięcia z organiku po 9-12 miesiącach (cel)3 000/mies.30 000/mies.
Średni CPC w Google Ads dla tych fraz (założenie)1,50 zł1,20 zł
Wartość tych kliknięć w cenach reklam4 500 zł/mies.36 000 zł/mies.
Konwersja 1,5%, średnie zamówienie 200 zł45 zamówień, 9 000 zł przychodu/mies.450 zamówień, 90 000 zł przychodu/mies.

Wniosek: w małym sklepie SEO zwraca się wolno, bo stały koszt pracy dzieli się na mało kliknięć, więc reklamy i Merchant Center powinny nieść sprzedaż przez pierwsze miesiące. W dużym sklepie ta sama praca rozkłada się na setki kategorii i tysiące produktów, więc przewaga SEO rośnie z każdym miesiącem. Krzywe przecinają się zwykle wtedy, gdy wartość dodatkowych kliknięć organicznych w cenach reklam przekracza miesięczny koszt SEO. Tego progu pilnuj w raportach zamiast samych pozycji.

Przykładowa roadmapa dla sklepu z ok. 2 000 produktów

Tak rozpisuję pierwszy rok dla typowego sklepu na WooCommerce, PrestaShop lub Shopify z ok. 2 000 produktów, 80 kategoriami i filtrami po marce, rozmiarze, kolorze i cenie.

MiesiącPraceMierzę
1Crawl sklepu, eksport Search Console, mapa fraz do kategorii, lista filtrów z popytemPunkt wyjścia: indeksacja, kliknięcia kategorii, przychód z organiku
2Reguły dla filtrów i sortowania (noindex, potem linki bez parametrów), canonicale, poprawki danych ProductLiczba adresów z parametrami w indeksie, błędy w raporcie produktów
3Merchant Center, tytuły i nagłówki 20 kategorii z największym potencjałemCTR i kliknięcia tych 20 kategorii
4-5Szablon kategorii: treść pod listą, FAQ, linki do podkategorii; 10-15 indeksowanych filtrów marka + kategoriaFrazy w top 10, ruch na nowe filtry
6Opisy 100 najlepiej sprzedających się produktów, obsługa niedostępnych produktówPrzychód z kart produktów, odsetek 404 z ruchem
7-9Poradniki pod frazy porównawcze linkujące do kategorii, linkowanie wewnętrzneRuch z poradników i przejścia do kategorii
10-12Linki z serwisów branżowych, rozbudowa kategorii o długi ogon, analiza konkurencjiPrzychód i transakcje z organiku rok do roku

W miesiącu 2 nie zaczynam od blokady w robots.txt, tylko od noindex, z powodu opisanego niżej w pułapce produkcyjnej.

Skrypt: szybkie zyski z Search Console

Ten skrypt pobiera z API Search Console dane z ostatnich 90 dni, dzieli adresy na typy stron według wzorców w URL i liczy dla każdej strony potencjał dodatkowych kliknięć na frazach z pozycji 4-20. Docelowy CTR liczy z Twoich własnych danych dla każdego typu strony.

quick_wins.py
# pip install google-api-python-client google-auth pandasimport re, datetime as dtimport pandas as pdfrom google.oauth2 import service_accountfrom googleapiclient.discovery import buildSITE = "sc-domain:twojsklep.pl"# wzorce adresów - dopasuj do swojej platformyTYPES = [("produkt", r"/p/|/produkt/|-p\d+|\.html$"), ("kategoria", r"/k/|/kategoria/|/c/"),         ("poradnik", r"/blog/|/poradnik/")]creds = service_account.Credentials.from_service_account_file(    "sa.json", scopes=["https://www.googleapis.com/auth/webmasters.readonly"])gsc = build("searchconsole", "v1", credentials=creds)end = dt.date.today() - dt.timedelta(days=3)rows, start_row = [], 0while True:    body = {"startDate": str(end - dt.timedelta(days=90)), "endDate": str(end),            "dimensions": ["page", "query"], "rowLimit": 25000, "startRow": start_row}    batch = gsc.searchanalytics().query(siteUrl=SITE, body=body).execute().get("rows", [])    rows += batch    if len(batch) < 25000:        break    start_row += 25000df = pd.DataFrame([{"page": r["keys"][0], "query": r["keys"][1], **{k: r[k] for k in                    ("clicks", "impressions", "ctr", "position")}} for r in rows])df["type"] = df["page"].map(lambda u: next((t for t, p in TYPES if re.search(p, u)), "inne"))# docelowy CTR = mediana CTR Twoich fraz z pozycji 1-3 dla danego typu stronytarget = df[(df.position <= 3) & (df.impressions >= 50)].groupby("type")["ctr"].median()q = df[(df.position.between(4, 20)) & (df.impressions >= 100)].copy()q["extra_clicks"] = (q["type"].map(target).fillna(0.1) - q["ctr"]).clip(lower=0) * q["impressions"] / 3out = (q.groupby(["type", "page"]).agg(extra_clicks=("extra_clicks", "sum"),       queries=("query", "count"), top_query=("query", "first"))       .sort_values("extra_clicks", ascending=False).round(0))print(target.round(3))print(out.head(30).to_string())out.to_csv("quick_wins.csv")

Wynik to lista stron posortowana według dodatkowych kliknięć miesięcznie (dzielę przez 3, bo dane obejmują 90 dni). Pomnóż je przez współczynnik konwersji i średnią wartość zamówienia danego typu strony, a dostaniesz kolumnę „potencjał” do macierzy priorytetów. Dwie uwagi: API zwraca dane z pominięciem części rzadkich zapytań (anonimizacja), więc sumy będą niższe niż w panelu, a adresy z parametrami warto przed analizą znormalizować, inaczej jedna kategoria rozpadnie się na kilkanaście wierszy.

Pułapka produkcyjna: robots.txt przed noindex

Najczęstszy błąd przy porządkach z filtrami: sklep ma w indeksie tysiące adresów filtrów, więc ktoś dopisuje do robots.txt regułę Disallow dla parametrów i czeka. Te adresy nie znikną. Google nie może pobrać zablokowanej strony, więc nie zobaczy na niej noindex ani canonicala, a adresy zostają w indeksie ze statusem „Zaindeksowana, ale zablokowana przez plik robots.txt”. Google pisze wprost, że robots.txt nie służy do usuwania stron z wyników.

Prawidłowa kolejność:

  1. 1.Dodaj meta robots noindex (albo nagłówek X-Robots-Tag) na adresach filtrów, które nie mają popytu, i usuń do nich linki z list produktów albo zamień je na elementy, które nie są linkami.
  2. 2.Poczekaj, aż liczba tych adresów w raporcie Strony w Search Console wyraźnie spadnie. Przy dużym sklepie to zwykle kilka tygodni.
  3. 3.Dopiero potem zablokuj ich crawlowanie w robots.txt, jeśli nadal zjadają crawl. Google zaleca blokadę w robots.txt dla adresów nawigacji fasetowej, które nie mają być w wynikach.

Ta sama logika dotyczy canonicala: canonical na zablokowanym adresie nie działa, bo Google go nie odczyta.

Czego nie robić na początku

  • Nie zaczynaj od pisania bloga, jeśli kategorie nie rankują i nie są gotowe na ruch.
  • Nie indeksuj wszystkich kombinacji filtrów - tylko te, których ludzie szukają (marka + kategoria, czasem rodzaj lub materiał).
  • Nie kopiuj opisów od producenta do najważniejszych produktów. Przy reszcie katalogu lepiej poprawić parametry, zdjęcia i dane Product.
  • Nie usuwaj niedostępnych produktów z ruchem i linkami jako 404 bez zastanowienia - często lepiej zostawić stronę z informacją i zamiennikami albo przekierować na następcę.
  • Nie mierz sukcesu pozycjami kilku fraz. Mierz przychód z organiku, kliknięcia kategorii i liczbę produktów bez błędów.
  • Nie kupuj pakietów linków na start. Linki mają sens dopiero do stron, które są technicznie gotowe.

FAQ

Jeśli chcesz, żebym rozpisał taki plan dla Twojego sklepu na danych z Search Console, zobacz pozycjonowanie sklepów internetowych.

/// AUTHOR
Paweł Wiszniewski – AI & Web Engineer

Paweł Wiszniewski

SEO & GEO Specialist & AI Engineer

Specjalista SEO/GEO (10 lat) i AI engineer (3 lata). Buduję widoczność w wyszukiwarkach, systemy AI i automatyzacje, które redukują koszty i zwiększają efektywność operacyjną firm.

Signal received?

Przerwij
Ciszę

Zainicjuj protokół. Nawiąż połączenie. Zbudujmy coś głośnego.

> OCZEKIWANIE_NA_SYGNAŁ...