SEO PrestaShop — kompletny poradnik techniczny dla sklepów internetowych 2026
PrestaShop generuje tysiące URL-i — filtry, warianty, paginacje, wersje językowe. Bez technicznego fundamentu żadna kampania content ani link building nie przyniesie stabilnych wyników. Ten poradnik prowadzi przez cały stos techniczny SEO: od konfiguracji URL po hreflang i Core Web Vitals.
SEO PrestaShop to nie tylko opis produktu i dodanie meta title do kategorii. Platforma generuje automatycznie dziesiątki tysięcy adresów URL: filtry nawigacji fasetowanej, strony paginacji, warianty produktów, wersje językowe, kanały XML. Każdy z tych URL-i może wchodzić do indeksu Google, tworzyć duplikaty, marnotrawić crawl budget i kanibalizować frazy. Zanim uruchomisz link building albo kampanię contentową, musisz mieć porządek techniczny. Ten poradnik pokazuje, jak to zrobić krok po kroku.
Dla kogo jest ten poradnik
Poradnik jest dla właścicieli sklepów PrestaShop, managerów e-commerce oraz osób technicznych odpowiedzialnych za widoczność organiczną. Zakładamy, że masz dostęp do panelu admina PrestaShop, a w razie potrzeby do plików serwera. Omawiamy PrestaShop 8 i 9 — tam gdzie konfiguracja różni się od starszych wersji, zaznaczamy to wprost. Jeśli Twój sklep jest nadal na wersji 1.7, zacznij od aktualizacji — bez aktualnej platformy techniczna optymalizacja SEO ma ograniczone możliwości.
Jeśli dopiero zaczynasz przygodę z pozycjonowaniem — przejrzyj najpierw naszą stronę usługi SEO i pozycjonowanie. Jeśli masz sklep, który już działa, ale wyniki są niezadowalające — sprawdź ofertę audytu SEO sklepu.
Dlaczego techniczne SEO PrestaShop to osobna dyscyplina
PrestaShop różni się od WordPressa czy prostego serwisu wizytówkowego pod względem SEO z kilku powodów. Po pierwsze, skala URL-i: średniej wielkości sklep (5 000 produktów, 200 kategorii, 3 filtry) może generować ponad 100 000 unikalnych adresów URL po włączeniu nawigacji fasetowanej. Po drugie, automatyzacja: system sam tworzy adresy wariantów, paginacji, tagów, nowych języków i sklepów w multistorze. Po trzecie, zależności modułowe: moduły płatności, dostawy i integracji wpływają na czas odpowiedzi serwera, co bezpośrednio przekłada się na Core Web Vitals i ranking.
Filtry nawigacji fasetowanej generują URL-e z parametrami, które bez konfiguracji trafiają do indeksu jako duplikaty.
Warianty produktów (rozmiar, kolor) mogą być dostępne pod osobnymi URL-ami — każdy wymaga decyzji: canonical czy noindex.
Paginacja kategorii (/kategoria?p=2) to klasyczny problem duplikacji tytułów i opisów.
Multistore z różnymi domenami lub subfolderami wymaga poprawnego hreflang, żeby nie duplikować treści między wersjami językowymi.
Wyeksportowane XML (Google Merchant, marketplace) indeksują się przez GoogleBot jako zewnętrzna treść — potrzebujesz X-Robots-Tag albo ochrony direktorium.
Krok 1 — Przyjazna struktura URL w PrestaShop
Struktura URL to fundament architektury informacji i jeden z najsilniejszych sygnałów on-page dla Google. W PrestaShop masz szeroką kontrolę nad formatem adresów — skorzystaj z niej zanim zbudujesz katalog produktów.
Krok 1Konfiguracja przyjaznych URL
Przejdź do panelu: Sklep → Parametry SEO → SEO i URL. Włącz opcję 'Przyjazne URL'. Upewnij się, że plik .htaccess jest poprawnie wygenerowany przez PrestaShop — bez tego przekierowania nie działają.
Zdefiniuj schemat URL dla każdego typu zasobu. Dobra praktyka to:
Produkty: /kategoria/nazwa-produktu.html lub /p/nazwa-produktu — bez ID numerycznych w URL.
Kategorie: /kategoria/podkategoria — hierarchia odzwierciedlona w URL, nie głębiej niż 3–4 poziomy.
Producenci / Dostawcy: /producent/nazwa — warto włączyć, jeśli masz frazy brandowe dla marek.
Strony CMS: /o-nas, /kontakt, /regulamin — proste, krótkie URL.
Nie zmieniaj struktury URL na działającym sklepie bez przygotowania mapy przekierowań 301. Każda zmiana istniejącego URL bez redirectu = utrata link equity i pojawienie się 404.
Wyłącz opcję wyświetlania ID w URL jeśli jest włączona — /123-nazwa-produktu to gorszy sygnał SEO niż /kategoria/nazwa-produktu.
Ustaw jeden spójny separator: myślnik (-) jest standardem, nie używaj podkreślnika (_) w nowych URL-ach.
Krok 2Przekierowania 301 przy zmianie URL
Każda zmiana slug produktu lub kategorii wymaga natychmiastowego przekierowania 301 ze starego URL na nowy. PrestaShop pozwala skonfigurować przekierowania w module lub ręcznie w .htaccess.
W panelu: SEO i URL → Zarządzaj przekierowaniami (lub użyj dedykowanego modułu np. 'SEO Expert by MyPresta').
Reguły .htaccess pisz na samej górze sekcji RewriteRule, przed standardowymi regułami PrestaShop.
Przy przebudowie kategorii (np. zmiana hierarchii, przeniesienie podkategorii) mapuj każdy stary URL — narzędzie: Screaming Frog lub lista URL ze starego crawla.
Sprawdź w Google Search Console raport Indeksowanie → Błędy po każdej fali zmian URL.
Łańcuchy przekierowań (A → B → C) szkodzą wydajności crawlowania — skróć je do A → C bezpośrednio.
Po migracji na nową wersję PrestaShop (np. z 1.7 na 8) zawsze wykonaj crawl obu wersji i porównaj URL-e — platforma może zmienić domyślny schemat.
Krok 2 — Meta tagi: title, description i canonical
Meta tagi to pierwsza warstwa on-page SEO, którą Google analizuje po URL. W PrestaShop każdy produkt, kategoria i strona CMS ma dedykowane pola meta — ale domyślne wartości generowane automatycznie z nazwy produktu lub kategorii rzadko są zoptymalizowane pod konkretne frazy.
Krok 3Optymalizacja meta title i meta description
Meta title to jeden z najsilniejszych czynników on-page. W PrestaShop masz pole 'Meta tytuł' w każdym produkcie, kategorii i stronie CMS. Zdefiniuj globalny szablon w Sklep → Parametry SEO → SEO i URL jako fallback, ale ręcznie wpisuj unikalny title dla każdej ważnej strony.
Optymalna długość title: 50–60 znaków, fraza główna jak najwcześniej.
Format: Główna fraza — Dodatkowy kontekst | Nazwa sklepu (np. 'Buty biegowe damskie Nike — wyprzedaż 2026 | NazwaSklep').
Nie duplikuj title między produktami wariantu tej samej linii — dodaj rozmiar lub kolor do tytułu jeśli Google indeksuje osobne URL-e.
Meta description nie wpływa bezpośrednio na ranking, ale wpływa na CTR. Pisz działanie + benefit + CTA: 'Zamów buty Nike Air Zoom Pegasus z darmową dostawą. Sprawdź dostępne rozmiary i kolory.'
Długość description: 130–155 znaków — w tym limicie mieści się treść w wynikach mobilnych.
Sprawdź duplikaty title i description w Google Search Console: Wygląd w wyszukiwarce → Wyniki wyszukiwania → filtruj po 'Duplikat'.
Strony paginacji (/kategoria?p=2) powinny mieć title z indykacją strony: 'Nazwa kategorii — strona 2 | NazwaSklep' — lub canonical na stronę 1 jeśli treść się nie różni.
Krok 4Canonical tag — zapobieganie duplikatom
Tag canonical (`<link rel='canonical'>`) informuje Google, który adres jest wersją kanoniczną strony. To kluczowe narzędzie w PrestaShop, gdzie warianty, filtry i parametry sortowania generują wiele URL-i o podobnej treści.
Włącz generowanie canonical w module SEO (np. SEO Expert, SEO Simple Pack lub moduł dedykowany). Sprawdź, czy canonical jest obecny w <head> każdej strony — zweryfikuj w DevTools lub narzędziu audytu.
Produkty z wariantami: canonical na główną kartę produktu (URL bez parametrów wariantu), chyba że każdy wariant ma unikalny, znaczący opis.
Strony paginacji: canonical na pierwszą stronę (/kategoria, nie /kategoria?p=1) LUB rel='next/prev' (Google przestał oficjalnie wspierać, ale wciąż procesuje jako sygnał paginacji).
Wersje z parametrami sortowania: /kategoria?order=price_asc — canonical na /kategoria bez parametrów.
Wersje z parametrami UTM i tracking: PrestaShop nie powinien generować odrębnych stron dla parametrów kampanii — upewnij się, że .htaccess lub canonical strip-uje UTM.
Self-referencing canonical (canonical strony wskazujący na siebie) — to poprawna praktyka dla stron bez duplikatów; nie traktuj jego braku jako błędu, ale jego obecność jako standard.
Canonical musi być absolutnym URL z protokołem i domeną, nie ścieżką względną.
Krok 3 — Sitemap XML w PrestaShop
Sitemap XML to mapa dla GoogleBota — informuje, jakie adresy URL sklep uważa za ważne. W PrestaShop sitemap generuje się przez moduł lub wbudowaną funkcję (w zależności od wersji). Domyślna konfiguracja rzadko jest optymalna.
Krok 5Konfiguracja i optymalizacja sitemapy XML
W PrestaShop 8 i 9 sitemap generuje moduł 'Google Sitemap' (ps_googleanalytics lub dedykowany). Przejdź do Moduły → wyszukaj 'sitemap' i skonfiguruj:
Włącz sitemap dla: produktów, kategorii, stron CMS, producentów (jeśli mają znaczenie SEO).
Wyłącz z sitemapy: strony paginacji, strony filtrów, warianty produktów jako osobne URL-e (jeśli canonical wskazuje na produkt główny), strony z noindex.
Ustaw częstotliwość aktualizacji i priorytety: produkty i kategorie — changefreq 'weekly', priority 0.8–1.0; strony CMS — changefreq 'monthly', priority 0.5–0.6.
Podziel sitemapę na sub-sitemapy jeśli masz ponad 50 000 URL-i: sitemap_products.xml, sitemap_categories.xml, sitemap_cms.xml — i zbierz je w sitemap_index.xml.
Zgłoś sitemapę w Google Search Console: Indeksowanie → Mapy witryn → Dodaj nową mapę witryny.
Dodaj URL sitemapy do robots.txt: Sitemap: https://twojsklep.pl/sitemap.xml
Ustaw automatyczne odświeżanie sitemapy po każdym dodaniu produktu lub kategorii — sprawdź czy moduł wspiera cron lub event-driven regenerację.
Monitoruj raport sitemapy w GSC: liczba przesłanych URL-i vs zindeksowanych. Duże rozbieżności wskazują na problemy z jakością treści lub blokowaniem przez canonical/noindex.
Krok 4 — robots.txt i zarządzanie crawl budget
Crawl budget to liczba URL-i, które GoogleBot jest w stanie przejrzeć w Twoim sklepie w określonym czasie. Większość sklepów marnuje crawl budget na strony bez wartości SEO: kombinacje filtrów, strony paginacji, warianty, URL-e testowe. robots.txt to pierwsze narzędzie do zarządzania tym procesem.
Krok 6Optymalizacja robots.txt dla sklepu PrestaShop
Plik robots.txt leży w roocie sklepu (https://twojsklep.pl/robots.txt). W PrestaShop możesz edytować go przez Sklep → Parametry SEO → SEO i URL → Edytuj robots.txt lub bezpośrednio przez FTP/SFTP.
Zablokuj ścieżki administracyjne: Disallow: /admin-twojsklep/ — nazwa folderu admina powinna być zmieniona z domyślnej dla bezpieczeństwa.
Zablokuj URL-e z parametrami sortowania i filtrów, jeśli nie obsługujesz ich przez canonical: Disallow: /*?order=*, Disallow: /*?q= (wyszukiwarka).
Zablokuj ścieżki XML exportów (Merchant Center, marketplace): Disallow: /export_*.xml — jeśli eksport jest pod stałą ścieżką.
NIE blokuj: /img/, /themes/, /js/, /css/, /modules/*.css, /modules/*.js — GoogleBot musi mieć dostęp do assetów, żeby poprawnie renderować strony i ocenić CWV.
Nie używaj robots.txt do ukrywania stron z wrażliwą treścią — robots.txt jest publiczny. Używaj noindex w <meta> lub X-Robots-Tag.
Dodaj na końcu: Sitemap: https://twojsklep.pl/sitemap.xml
Przetestuj plik w Google Search Console: Narzędzia → robots.txt Tester.
Krok 7Noindex dla stron bez wartości SEO
Strony, których nie chcesz blokować dla użytkowników (muszą działać), ale które nie powinny być w indeksie Google, oznaczaj tagiem noindex w <meta>. W PrestaShop robi to moduł SEO lub customowy override w szablonie.
<meta name='robots' content='noindex, follow'> — strona nie wchodzi do indeksu, ale Google może śledzić linki z niej.
Kandydaci do noindex w PrestaShop: strona logowania (/my-account/login), koszyk (/cart), checkout (/order), strona wyszukiwania (/search?q=), strony z tagami jeśli masz ich setki bez treści.
Strony paginacji głębokiej (powyżej strony 3–4) — opcjonalnie noindex jeśli nie mają unikalnej treści.
Strony 'podziękowanie' po złożeniu zamówienia: noindex obligatoryjnie.
Weryfikuj noindex w Google Search Console: Indeksowanie → Strony → filtruj 'Wykluczone przez tag noindex'.
Krok 5 — Dane strukturalne (schema.org) w PrestaShop
Dane strukturalne JSON-LD to kod, który mówi Google wprost: 'ta strona to produkt, ta kategoria to BreadcrumbList, ta firma to Organization'. Poprawna implementacja umożliwia rich snippets w wynikach wyszukiwania: gwiazdki opinii, ceny, dostępność — bezpośrednio pod tytułem strony. To realny wzrost CTR bez zmiany pozycji.
Krok 8Implementacja schema Product na kartach produktów
Schema Product to najważniejszy typ strukturalny w sklepie. Google weryfikuje ją wyjątkowo dokładnie — błędy (niezgodność ceny z ceną na stronie, błędny stan availability) kończą się manual actions i utratą rich snippets.
Wymagane pola przez Google: name, image, description, offers (z price i priceCurrency).
Silnie zalecane: sku, brand, aggregateRating (tylko jeśli masz realne opinie widoczne na stronie), availability (InStock / OutOfStock / PreOrder).
Availability musi zgadzać się z widocznym stanem magazynowym na stronie — jeśli produkt jest niedostępny na stronie, availability musi być 'OutOfStock', nie 'InStock'.
Cena w schema musi być identyczna z ceną widoczną dla użytkownika — jeśli sklep pokazuje cenę z VAT, schema również musi zawierać cenę z VAT.
Dla wariantów produktów (różne rozmiary/kolory pod osobnymi URL-ami): każda wersja powinna mieć własną schema z własną ceną i SKU.
Weryfikuj schema w Rich Results Test (search.google.com/test/rich-results) po każdej zmianie szablonu.
Sprawdź raport Dane strukturalne w Google Search Console: Wygląd w wyszukiwarce → Dane strukturalne.
Krok 9BreadcrumbList, Organization i WebSite schema
Poza Product schema, sklep powinien implementować kilka innych typów, które wzmacniają wygląd w SERP i sygnały zaufania.
BreadcrumbList: na każdej podstronie (produkt, kategoria, blog) — pozwala Google wyświetlać ścieżkę nawigacyjną pod tytułem w wynikach. Ważne: ścieżka w schema musi odpowiadać breadcrumbom widocznym na stronie.
Organization: na stronie głównej i na każdej podstronie — name, url, logo, contactPoint. To sygnał dla Knowledge Graph.
WebSite: na stronie głównej — z właściwością SearchAction jeśli chcesz Sitelinks Search Box (wyszukiwarka sklepu bezpośrednio w wynikach Google).
FAQPage: na stronach z widocznymi pytaniami i odpowiedziami — pozwala na rich snippet FAQ w SERP. TYLKO jeśli FAQ jest faktycznie widoczne na stronie dla użytkownika.
SiteLinksSearchBox (WebSite schema z SearchAction): możliwe do wdrożenia w PrestaShop przez globalny JSON-LD w szablonie — weryfikacja zajmuje Google kilka tygodni.
Nie implementuj schema dla treści, która nie jest widoczna na stronie. Nie dodawaj fikcyjnych opinii, nagród ani partnerów do schema.
Krok 6 — Nawigacja fasetowana a SEO: największe zagrożenie i szansa
Nawigacja fasetowana (filtrowanie po kolorze, rozmiarze, marce, cenie) to serce każdego sklepu z perspektywy UX. Z perspektywy SEO to generator setek tysięcy zduplikowanych URL-i. Nieprawidłowo skonfigurowana niszczy crawl budget, tworzy problemy z duplikatami i może w całości przyćmić wartościowe strony kategorii.
Krok 10Strategia SEO dla nawigacji fasetowanej
Przed konfiguracją zrób analizę fraz: czy Google ma istotny wolumen zapytań na kombinację filtrów (np. 'buty Nike damskie czerwone rozmiar 38')? Jeśli tak — ta kombinacja powinna być indeksowalna z unikalną treścią. Jeśli nie — powinna być blokowana dla crawlera.
Krok 1 — Audyt: zidentyfikuj, które filtry generują URL-e z parametrami (np. ?id_feature=5&id_feature_value=45). Zrób crawl ze Screaming Frog lub sitebulb.
Krok 2 — Segmentacja: podziel filtry na trzy grupy: (a) warty indeksacji (marka, główny atrybut produktowy z wolumenem fraz), (b) niewarty indeksacji ale potrzebny użytkownikowi (cena, rozmiar, dostępność), (c) technicznie niepotrzebny (sortowanie, strona).
Krok 3 — Konfiguracja modułu filtrów: moduł Faceted Search (ps_facetedsearch) w PrestaShop pozwala ustawić per filtr: 'Indeksuj tę kombinację' lub 'Nie indeksuj'. Włącz tę opcję dla grupy (a), wyłącz dla (b) i (c).
Krok 4 — Canonical: dla URL-i nieindeksowanych (grupa b i c) moduł powinien generować canonical na stronę kategorii bez filtrów. Sprawdź w źródle HTML.
Krok 5 — robots.txt: jako drugą linię obrony, zablokuj parametry grupy (c) w robots.txt: Disallow: /*?order=*, Disallow: /*?resultsPerPage=*.
Dla stron, które mają być indeksowane (grupa a): zadbaj o unikalną treść, H1 odzwierciedlający kombinację filtrów, title i description dopasowane do frazy.
Weryfikuj raport Indeksowanie → Strony w GSC po każdej zmianie konfiguracji faset — szukaj nagłego skoku liczby zindeksowanych URL.
Krok 7 — Duplikaty treści w PrestaShop — źródła i eliminacja
Duplikaty treści to jeden z najczęstszych problemów technicznych SEO w PrestaShop. Google nie karze bezpośrednio za duplikaty — ale konsoliduje link equity i może wybrać niepożądaną wersję jako kanoniczną. Efekt: strony kategorii tracą pozycje na korzyść stron filtrów lub stron paginacji.
Krok 11Identyfikacja i eliminacja źródeł duplikatów
Przeprowadź crawl sklepu narzędziem (Screaming Frog, Sitebulb) i wygeneruj raport duplikatów title i description. To da Ci listę URL-i do sprawdzenia. Typowe źródła duplikatów w PrestaShop:
Wersja www vs bez www: sklep powinien działać na jednej wersji, a druga powinna przekierowywać 301. Sprawdź w .htaccess i w konfiguracji PrestaShop (Sklep → Ustawienia → URL).
HTTP vs HTTPS: każda strona musi być dostępna WYŁĄCZNIE przez HTTPS. HTTP → HTTPS redirect 301 w .htaccess. Sprawdź canonical — musi używać https://.
Trailing slash: /kategoria/ vs /kategoria — wybierz jeden format i trzymaj się go, drugi niech przekierowuje 301.
Parametry paginacji: /kategoria?p=1 i /kategoria to ten sam content. Canonical /kategoria?p=1 powinien wskazywać na /kategoria.
Opisy producentów i tagów: jeśli PrestaShop generuje strony producentów (/manufacturer/nazwa) i tagów (/tag/nazwa) z tymi samymi opisami co strony kategorii — albo dodaj unikalną treść, albo ustaw noindex.
Produkty w wielu kategoriach: produkt może być przypisany do kilku kategorii i dostępny pod wieloma URL-ami (/kategoria-a/produkt vs /kategoria-b/produkt). Canonical musi wskazywać na jedną wersję — preferowaną kategorię.
Strony druku i wersje osadzone: jeśli sklep generuje ?print=1 lub ?iframe=1 — blokuj w robots.txt.
Po usunięciu źródeł duplikatów sprawdź raport Coverage w GSC — liczba 'Duplikat, przesłany URL nie jest wybrany jako kanoniczny' powinna spadać.
Krok 8 — Szybkość sklepu jako czynnik SEO: Core Web Vitals
Google od 2021 roku oficjalnie uwzględnia Core Web Vitals (CWV) jako czynnik rankingowy. LCP (Largest Contentful Paint), INP (Interaction to Next Paint) i CLS (Cumulative Layout Shift) to metryki mierzące rzeczywiste doświadczenie użytkownika. Wolny sklep PrestaShop traci podwójnie: niższe pozycje w Google i niższa konwersja.
Krok 12Audyt i optymalizacja Core Web Vitals w PrestaShop
Zacznij od danych rzeczywistych, nie tylko Lighthouse. W Google Search Console: Doświadczenie → Core Web Vitals — sprawdź raporty dla mobile i desktop. Lighthouse w DevTools daje syntetyczny pomiar, ale rzeczywiste dane użytkowników (CrUX) są tym, co Google uwzględnia w rankingu.
LCP (target < 2,5 s): najczęstszą przyczyną złego LCP w PrestaShop są niezoptymalizowane obrazy LCP (hero kategorii, główne zdjęcie produktu) i zewnętrzne fonty. Konwertuj obrazy na WebP/AVIF, dodaj <link rel='preload'> dla obrazu LCP, załaduj fonty lokalnie.
INP (target < 200 ms): wysoki INP pochodzi z ciężkich skryptów JS — moduły statystyk, chatboty, pixel Facebooka ładowane synchronicznie. Przenieś inicjalizację niekriycznych skryptów do zdarzenia 'load' lub użyj Intersection Observer.
CLS (target < 0,1): brak wymiarów width i height na zdjęciach produktów to klasyczna przyczyna CLS. PrestaShop domyślnie generuje obrazy z poznanymi wymiarami — sprawdź czy szablon ich używa. Embed youtube/video bez aspect-ratio to kolejne źródło CLS.
TTFB (Time to First Byte): wolny TTFB to problem serwera lub konfiguracji cache. Włącz cache PrestaShop: Zaawansowane → Wydajność → włącz 'CCC' (Combine, Compress, Cache), opcjonalnie użyj Varnish lub cache na poziomie serwera (LiteSpeed Cache).
Obrazy: PrestaShop generuje thumbnails przez moduł. Upewnij się, że ImageMagick lub GD obsługuje WebP — nowsze wersje PrestaShop 8/9 obsługują WebP natywnie.
JavaScript: audytuj moduły pod kątem skryptów blokujących renderowanie. W DevTools → Performance nagraj trace karty produktu i sprawdź Long Tasks.
Testy: PageSpeed Insights (pagespeed.web.dev) dla strony głównej, przykładowej kategorii i przykładowego produktu.
Szczegółowy poradnik optymalizacji technicznej (cache, WebP, moduły, hosting) opisujemy w osobnym artykule: jak przyspieszyć sklep PrestaShop. Wydajność i SEO to w e-commerce ten sam budżet priorytetów.
Krok 9 — Multistore i hreflang: SEO wielojęzycznego sklepu
Jeśli prowadzisz sklep w wielu językach (pl, en, de, cs) lub na wielu rynkach — hreflang jest technicznie wymaganym elementem SEO. Informuje Google, że dany URL jest przeznaczony dla konkretnej kombinacji języka i regionu, eliminując duplikat content między wersjami językowymi.
Krok 13Konfiguracja hreflang w PrestaShop Multistore
PrestaShop multistore umożliwia kilka architektur wielojęzycznych: subfoldery (/pl/, /en/), subdomeny (pl.sklep.com, en.sklep.com) lub oddzielne domeny (sklep.pl, sklep.de). Każda wymaga nieco innej implementacji hreflang, ale zasada jest ta sama.
Podstawowy format: <link rel='alternate' hreflang='pl' href='https://sklep.pl/pl/produkt'> — jeden tag per wersja językowa, plus hreflang='x-default' wskazujący na domyślną wersję.
Reguła zwrotności: jeśli strona A linkuje do strony B (pl → en), strona B musi linkować z powrotem do strony A (en → pl). Brak zwrotności to błąd krytyczny — Google może zignorować cały hreflang.
Tagi hreflang umieszcza się w <head> lub w sitemap XML — w PrestaShop najwygodniej jest używać zarówno <head> (dla ważnych stron) jak i sitemap (dla kompletności).
Dla sklepu z subfolderami (/pl/, /en/) prefiluj, że URL strony głównej bez prefiksu (/produkt) przekierowuje na preferowaną wersję językową — nie istnieje jako osobna strona.
Sprawdź raport 'Wersje językowe z błędami' w Google Search Console: Indeksowanie → Strony → filtruj po błędach hreflang.
Typowe błędy hreflang: brak x-default, adres URL w hreflang zwraca 404, niezgodność kodu języka (użyj ISO 639-1 i opcjonalnie ISO 3166-1 alpha-2 dla regionu: pl-PL, de-DE, en-GB).
Dla wielojęzycznego sklepu przetestuj hreflang na minimum 5 reprezentatywnych URL-ach: strona główna, kategoria, produkt, strona CMS — po jednym dla każdej konfiguracji języka.
Krok 14Treść w wersjach językowych a SEO
Sama techniczna konfiguracja hreflang nie wystarczy — treść musi być realnie przetłumaczona, nie zduplikowana. Google traktuje dosłownie zduplikowane tłumaczenia (np. skopiowane angielskie opisy produktów zamiast tłumaczenia) jako thin content.
Nie kopiuj tytułów i opisów produktów z wersji polskiej jako placeholder dla innych języków — ustaw noindex dla wersji nieprzetłumaczonych do czasu uzupełnienia treści.
Przetłumacz meta title i meta description dla każdego języka — nie tylko treść widoczną na stronie.
URL-e w wersjach językowych: decyduj świadomie — przetłumaczone slugi (/shoes vs /schuhe) są lepsze dla lokalnego SEO, ale trudniejsze w utrzymaniu. Angielskie slugi we wszystkich językach to kompromis akceptowany przez Google.
Sprawdź, czy moduł filtrów nawigacji fasetowanej generuje poprawne hreflang dla stron filtrowanych — to częsty przeoczony punkt.
Treści SEO — kategorie, karty produktów i thin content
Technika to fundament, ale nie wystarczy bez treści. Google potrzebuje wartościowego tekstu, żeby zrozumieć tematykę strony i dopasować ją do zapytań użytkowników. W sklepie PrestaShop dwa miejsca mają kluczowe znaczenie: strony kategorii i karty produktów.
Strony kategorii — opis SEO jako priorytet
Strona kategorii to często najważniejsza strona SEO w sklepie — to ona powinna rankować na główne frazy transakcyjne (np. 'buty biegowe damskie', 'laptop do gier 15 cali'). Pusty szablon kategorii z samą listą produktów to zmarnowany potencjał.
Opis kategorii: minimum 300–500 słów unikalnego tekstu z główną frazą i semantycznie powiązanymi terminami. Piszesz dla użytkownika — nie dla Google. Pomocne: czym wyróżnia się ta kategoria, jakie produkty obejmuje, na co zwrócić uwagę przy wyborze.
H1: jeden, unikalny per kategorię, odzwierciedlający główną frazę intencji zakupowej. H2: podsekcje opisu, podkategorie, FAQ — jeśli masz FAQ na kategorii, możesz dodać FAQPage schema.
Linkowanie wewnętrzne: z opisu kategorii linkuj do: podkategorii, popularnych produktów, powiązanych poradników na blogu. To buduje hierarchię tematyczną.
Unikaj opisów generycznych ('W tej kategorii znajdziesz...') — pisz konkretnie o produktach, zastosowaniach, parametrach ważnych dla kupującego.
Priorytetuj kategorie z dużym wolumenem fraz — nie pisz 600 słów dla kategorii z 3 produktami, zacznij od tych z 50+ produktami i realnym ruchem organicznym.
Karty produktów — unikalny opis jako standard
Nie kopiuj opisów od producenta lub z hurtowni XML — to klasyczna przyczyna thin content i duplikatów w całej branży. Przeformułuj, rozwiń, dodaj kontekst zastosowania.
Struktura karty produktu: H1 z nazwą produktu (unikalną), krótki opis (widoczny bez scrollowania), rozwinięty opis w zakładce, specyfikacja w tabeli, galeria zdjęć z alt, opinie — jeśli masz realne.
Alt obrazów: opisowy, konkretny ('Nike Air Zoom Pegasus 41 damskie różowe rozmiar 38'), nie generyczny ('zdjęcie produktu') ani upychany frazami ('buty biegowe Nike tanie sklep').
Thin content to karty produktów z samą tabelą specyfikacji i jednym zdaniem opisu — setki takich kart to problem jakości całej domeny (domain-level quality signal).
Produkty wycofane: nie usuwaj bezpośrednio — przekieruj 301 na następnik lub kategorię. Permanentne 404 na popularnych produktach = utrata linków i indeksu.
Kwestię treści prawnych (ceny regulaminowe, informacje o obniżkach) po dyrektywie Omnibus opisujemy oddzielnie: dyrektywa Omnibus w PrestaShop. To temat na pograniczu SEO i prawa e-commerce, który wpływa na treść kart produktów.
Google Search Console — monitoring i diagnostyka SEO PrestaShop
Google Search Console (GSC) to bezpłatne, pierwotne źródło danych o widoczności organicznej sklepu. Połącz GSC z domeną i GA4 jak najwcześniej — historyczne dane są bezcenne przy diagnozie spadków lub wzrostów.
Raport Wyniki wyszukiwania: filtruj po URL-ach kategorii — sprawdź CTR vs pozycja. Strony z wysoką pozycją (top 5) i niskim CTR (< 3–5%) mają potencjał wzrostu przez lepszy title/description.
Raport Indeksowanie → Strony: śledź rubryki 'Zindeksowane', 'Nie zindeksowane' i powody wykluczeń. 'Poza mapą witryny, zablokowane przez robots.txt' może wskazywać na błąd w robots.txt.
Raport Core Web Vitals: porównuj mobile vs desktop. Google rankuje głównie na podstawie mobile-first index — mobile CWV jest priorytetem.
Raport Dane strukturalne: błędy Product lub FAQPage mogą eliminować rich snippets.
Raport Wersje językowe: błędy hreflang dla sklepów wielojęzycznych.
Alerty i email powiadomienia: włącz w GSC powiadomienia o problemach z indeksowaniem — dowiesz się o problemach zanim wpłyną na rankingi.
Łącz GSC z Google Analytics 4: GA4 → Administracja → Linki Search Console — raport organiczny z danymi GSC w GA4.
Kiedy zlecić techniczne SEO PrestaShop agencji
Samodzielna optymalizacja techniczna SEO jest wykonalna przy prostym sklepie i podstawowej wiedzy technicznej. Zlecenie specjalistom ma sens w kilku sytuacjach:
Katalog ma ponad 10 000 SKU i problemy z indeksacją (setki błędów w GSC, crawl budget wyczerpany przez filtry).
Po migracji z innej platformy (Magento, WooCommerce, Shoper) lub po aktualizacji PrestaShop — sprawdzenie stanu URL-i, canonicali i przekierowań.
Sklep traci pozycje bez oczywistej przyczyny — audyt techniczny często ujawnia problemy z duplikatami, canonical loop lub blokadą crawla.
Planujesz przebudowę kategorii, zmianę struktury URL lub dodanie wersji językowej — zmiany strukturalne wymagają precyzyjnej mapy przekierowań.
Core Web Vitals poniżej progu pomimo optymalizacji obrazów — diagnostyka CWV wymaga analizy skryptów, modułów i infrastruktury serwera.
Tak — przy poprawnej konfiguracji technicznej PrestaShop jest pełnoprawną platformą SEO. Problemy, które widać w sklepach PrestaShop, wynikają nie z samej platformy, lecz z domyślnych ustawień: włączonych filtrów generujących duplikaty, braku optymalizacji obrazów i niezaktualizowanych modułów. Po prawidłowej konfiguracji URL, canonical, sitemap, schema i crawl budget sklep PrestaShop może rankować bardzo efektywnie.
Sklep → Parametry SEO → SEO i URL → włącz 'Przyjazne URL' i wygeneruj .htaccess. Upewnij się, że plik .htaccess jest zapisywalny przez serwer (chmod 644 lub 664 w zależności od konfiguracji). Bez poprawnego .htaccess przekierowania nie działają i strony zwracają 404.
Użyj modułu Faceted Search (ps_facetedsearch) — ma wbudowane ustawienie, które generuje canonical na stronę kategorii dla stron filtrowanych. Dla parametrów sortowania (?order=price_asc) dodaj blokadę w robots.txt: Disallow: /*?order=*. Sprawdź w Google Search Console raport Indeksowanie → Strony po tygodniu od zmian — liczba URL-i 'wykluczone przez tag canonical' powinna rosnąć, a URL-i duplikatów w indeksie — maleć.
Strony paginacji same w sobie nie szkodzą, ale bez konfiguracji canonical tworzą duplikaty meta title i description. Ustaw canonical na stronach ?p=2 i wyżej wskazujący na główną stronę kategorii, lub dodaj unikalny title z numerem strony ('Kategoria — strona 2 | Sklep'). Strony głębokiej paginacji (powyżej strony 5–6) przy dużych katalogach warto oznaczyć noindex.
Obowiązkowe dla rich snippets: schema Product z polami name, image, description i offers (price + priceCurrency + availability). Dostępność (availability) musi zgadzać się z faktycznym stanem na stronie — błąd kończy się manual action Google. Silnie zalecane: BreadcrumbList na każdej podstronie oraz Organization na stronie głównej. FAQPage tylko tam, gdzie FAQ jest faktycznie widoczne dla użytkownika.
Zainstaluj dedykowany moduł hreflang (np. 'Multilingual hreflang tags' lub moduł SEO z obsługą multistore). Każda wersja językowa musi mieć tagi hreflang wskazujące na wszystkie pozostałe wersje ORAZ na siebie samą. Dodaj hreflang='x-default' wskazujący na domyślną wersję. Zweryfikuj zwrotność tagów (A → B, B → A) — brak zwrotności powoduje, że Google ignoruje cały hreflang.
Tak — od 2021 roku CWV są oficjalnym czynnikiem rankingowym. W praktyce wpływ jest tie-breaker przy stronach o podobnej treści i linkowaniu — nie zdominuje jakości treści i autorytetu domeny, ale może decydować na pozycjach 3–8. Ważniejszy od rankingu jest wpływ CWV na konwersję: sklep z LCP 4+ s traci nawet 20–30% konwersji w porównaniu do LCP < 2,5 s.
Pierwsze efekty techniczne są szybkie: po naprawie crawl budget i canonical Google eliminuje duplikaty z indeksu w ciągu 2–6 tygodni. Wzrost ruchu organicznego na naprawionych stronach kategorii — zwykle 4–12 tygodni po indeksacji. Efekty contentowe (opisy kategorii, nowe frazy) — 3–6 miesięcy przy regularnym monitoringu i uzupełnianiu treści.
Tak, jeśli masz zasoby do regularnego publikowania wartościowych treści (co najmniej 2–4 wpisy miesięcznie). Blog pozwala rankować na frazy informacyjne i edukacyjne, budować linkowanie wewnętrzne do kategorii produktowych i zdobywać backlinki. Moduły blogowe PrestaShop (np. Smart Blog, YBC Blog) są funkcjonalne, ale jeśli zależy Ci na zaawansowanym SEO blogowym, rozważ WordPress na subfolderze /blog z zachowaniem spójnej nawigacji.
Nie usuwaj stron produktów wycofanych — jeśli produkt ma linki zewnętrzne lub ruch organiczny, usuniecie zwróci 404 i stracisz link equity. Najlepsze opcje: 301 do następnika lub podobnego produktu tej samej kategorii, lub zostawienie strony z komunikatem o niedostępności i rekomendacjami alternatyw (przekierowuje użytkownika, nie traci indeksu). Strony produktów sezonowych (dostępnych co roku) zostaw — Google je zaindeksuje i wróci gdy produkt znów będzie dostępny.
Audyt SEO to jednorazowa analiza stanu technicznego i contentowego sklepu — lista problemów z priorytetami i rekomendacjami do wdrożenia. Pozycjonowanie (SEO ciągłe) to regularna praca: wdrażanie zaleceń audytu, tworzenie treści, budowa linków, monitoring wyników i reagowanie na zmiany algorytmu. Audyt jest punktem startowym — bez wdrożenia zaleceń sam raport nie poprawia pozycji.
Bezpłatna konsultacja
Porozmawiajmy o Twoim projekcie
Opisz, czego potrzebujesz — zaproponujemy zakres, technologię i realny harmonogram. Bez zobowiązań.
24–48 hCzas odpowiedzi
100%Wycena indywidualna
0 złBez zobowiązań
kontakt
Masz projekt lub pytanie? Napisz do nas
Opisz, czego potrzebujesz — strony, sklepu, integracji czy wsparcia technicznego. Odpowiemy z konkretnymi propozycjami i orientacyjną wyceną, zwykle w ciągu jednego dnia roboczego.