Shoper: dlaczego /sitemap.xml zwraca 404 i gdzie naprawdę jest Twoja mapa strony
Wpisujesz adres swojego sklepu z końcówką /sitemap.xml, spodziewasz się listy adresów, a dostajesz stronę „404 — nie znaleziono". Pierwsza myśl: coś się zepsuło albo sklep nie ma mapy. Otóż ma. Shoper po prostu trzyma ją pod adresem, którego nikt nie zgaduje — i dopóki nie wskażesz go wyszukiwarkom jawnie, Twój sklep pracuje bez mapy strony.
Spis treści
Objaw: 404 tam, gdzie każdy się mapy spodziewa
Konwencja /sitemap.xml jest na tyle powszechna, że traktuje się ją jak standard. WooCommerce
ją ma, PrestaShop ma, IdoSell serwuje /sitemap.xml.gz. Na Shoperze pod tym adresem nie ma nic —
serwer zwraca kod 404 i pełną stronę błędu sklepu.
Sprawdziłem to na dwóch niezależnych sklepach na tej platformie, prowadzonych przez
różne firmy i skonfigurowanych niezależnie od siebie. Oba zwracają pod /sitemap.xml to samo:
GET /sitemap.xml → HTTP 404, Content-Type: text/html,
~150 kB strony błędu.
To nie jest awaria konkretnego sklepu ani skutek czyjejś złej konfiguracji. Tak działa platforma. Problem w tym, że nic o tym nie informuje — panel nie pokazuje ostrzeżenia, a osoba przejmująca sklep po kimś innym sprawdza adres, widzi 404 i wyciąga wniosek, że sitemapy nie ma wcale.
Gdzie Shoper naprawdę trzyma sitemapę
Mapa jest generowana przez moduł integracji i leży pod ścieżką konsoli:
https://twojsklep.pl/console/integration/execute/name/GoogleSitemap
Pod tym adresem dostajesz poprawny <sitemapindex> z odnośnikami do map składowych
(produkty, kategorie, aktualności). Zgodnie z protokołem sitemap.org, z prawidłową deklaracją przestrzeni nazw.
Wszystko jest w porządku — tylko adres jest inny, niż wszyscy zakładają.
Ta sama ścieżka obsługuje też inne integracje. Feed do Google Merchant Center siedzi analogicznie pod
/console/integration/execute/name/GoogleProductSearch. Warto o tym wiedzieć, bo jeśli szukasz
w sklepie „gdzie jest feed", odpowiedź jest w tym samym miejscu co mapa.
Pułapka drugiego stopnia: nagłówek pliku
Kiedy już znajdziesz właściwy adres, czeka drobiazg, który potrafi zmylić narzędzia. Shoper serwuje sitemapę z nagłówkiem:
Content-Type: application/force-download
Nie application/xml, nie text/xml — tylko typ, który mówi przeglądarce
„pobierz to jako plik". W praktyce oznacza to, że po wejściu na ten adres przeglądarka zaproponuje
zapisanie pliku zamiast go wyświetlić. Łatwo wtedy uznać, że coś jest nie tak.
Google radzi sobie z tym bez problemu — czyta zawartość, nie nagłówek. Ale część zewnętrznych walidatorów i crawlerów SEO potrafi taką mapę zignorować albo zgłosić jako błąd. Jeśli Twoje narzędzie audytowe twierdzi, że sklep nie ma sitemapy, a Search Console pokazuje ją poprawnie — to zwykle właśnie ten przypadek, a nie realny problem.
Co wpisać w robots.txt
Najważniejsza konsekwencja jest taka: skoro adres jest niestandardowy, wyszukiwarka nie odkryje
mapy sama. Trzeba jej ten adres podać. Miejsce numer jeden to robots.txt:
Sitemap: https://twojsklep.pl/console/integration/execute/name/GoogleSitemap
Pełny adres bezwzględny, z protokołem i domeną — dyrektywa Sitemap nie akceptuje ścieżek
względnych. Jeśli w Twoim robots.txt stoi dziś Sitemap: /sitemap.xml albo
https://twojsklep.pl/sitemap.xml, to wskazujesz robotom adres zwracający 404.
Warto to sprawdzić nawet w sklepie, który działa od lat. Wpis w robots.txt bywa przepisywany
z szablonu innej platformy albo zostaje po migracji i nikt do niego nie wraca.
Co zgłosić w Search Console
W Search Console, w sekcji Mapy witryny, wklej ten sam adres konsoli. Nie /sitemap.xml —
ten zostanie odrzucony, bo zwraca 404.
Po zgłoszeniu sprawdź w raporcie, ile adresów Google odczytał z mapy i porównaj to z liczbą produktów w sklepie. Rozjazd między tymi liczbami jest jednym z najszybszych sygnałów, że coś jest nie tak z indeksacją — i dużo konkretniejszym niż ogólne „sklep słabo się pozycjonuje".
To samo zrób w Bing Webmaster Tools. Bing bywa lekceważony, ale to on zasila odpowiedzi Copilota, a od 2024 roku ruch z asystentów AI przestał być marginesem.
Konsekwencja uboczna: IndexNow na Shoperze
Jest jeszcze jeden skutek tego, jak Shoper obsługuje pliki w katalogu głównym. IndexNow —
darmowy protokół natychmiastowego zgłaszania zmian, obsługiwany przez Bing, Yandex i Seznam — wymaga
umieszczenia pliku z kluczem w rootcie domeny, pod adresem twojsklep.pl/{klucz}.txt.
Na hostingu, gdzie masz FTP, to kwestia jednego wgrania pliku. Na Shoperze, w planach, na których pracowałem, nie znalazłem sposobu, żeby położyć własny plik w katalogu głównym — a bez niego weryfikacja klucza nie przejdzie. Jeśli Twój plan daje taką możliwość, sprawdź to u siebie; jeśli nie, zostaje obejście.
Obejściem jest Bing Webmaster Tools i funkcja przesyłania adresów URL — limit rzędu 100 adresów dziennie na domenę, bez żadnego pliku w rootcie. Dla sklepu, który aktualizuje opisy partiami, to w zupełności wystarcza, żeby nie czekać na naturalny crawl.
Checklista — pięć minut na sprawdzenie
- Wejdź na
twojsklep.pl/sitemap.xml. Jeśli widzisz 404 — to normalne, nie panikuj. - Wejdź na
twojsklep.pl/console/integration/execute/name/GoogleSitemap. Powinien pobrać się plik XML. Otwórz go w edytorze i sprawdź, czy zawiera<sitemapindex>. - Otwórz
twojsklep.pl/robots.txti sprawdź, na jaki adres wskazuje dyrektywaSitemap:. Jeśli na/sitemap.xml— popraw na adres konsoli. - W Search Console porównaj liczbę adresów odczytanych z mapy z liczbą aktywnych produktów.
- Zgłoś tę samą mapę w Bing Webmaster Tools.
To najtańsza możliwa poprawka SEO w sklepie na Shoperze: nie wymaga programisty, nie rusza szablonu i nie zmienia ani jednej treści. A bez niej wyszukiwarki odkrywają nowe produkty wyłącznie przez linkowanie wewnętrzne — czyli wolniej i mniej kompletnie.
Najczęstsze pytania
Czy 404 pod /sitemap.xml szkodzi pozycjonowaniu?
Sam w sobie nie. Adres, którego nigdy nie było, nie ma czego stracić — to nie jest zerwany link ani usunięta strona. Szkodzi co innego: jeśli w robots.txt albo w Search Console wskazujesz właśnie ten adres, wyszukiwarka nie dostaje mapy w ogóle i musi odkrywać sklep wyłącznie przez linki wewnętrzne.
Czy mogę zrobić przekierowanie z /sitemap.xml na adres konsoli?
W panelu Shopera jest moduł przekierowań, więc technicznie da się to ustawić. Nie jest to jednak konieczne — dyrektywa Sitemap w robots.txt i zgłoszenie w Search Console załatwiają sprawę w całości. Przekierowanie ma sens głównie wtedy, gdy zewnętrzne narzędzia audytowe uparcie pytają o standardowy adres.
Sitemapa pobiera się jako plik zamiast otwierać w przeglądarce — czy to błąd?
Nie. To skutek nagłówka Content-Type: application/force-download, którym Shoper serwuje ten zasób. Zawartość jest poprawnym XML-em i Google czyta ją bez problemu. Żeby zajrzeć do środka, zapisz plik i otwórz w edytorze tekstu albo pobierz go poleceniem curl.
Jak często Shoper odświeża mapę?
Mapa generowana jest dynamicznie w momencie żądania, więc odzwierciedla aktualny stan katalogu. Nie ma pliku, który mógłby się „zestarzeć”. Co innego tempo, w jakim wyszukiwarka po tę mapę wraca — na to wpływa ogólna częstotliwość crawlowania domeny, a nie ustawienia sklepu.
Czy da się dodać do sitemapy własne adresy, na przykład landing page?
Moduł generuje mapę z zasobów sklepu: produktów, kategorii i aktualności. Stron spoza tej struktury tam nie umieścisz. Jeśli masz landing pod tą samą domeną, ale poza sklepem, zgłoś go osobno — w Search Console przez „Sprawdzenie adresu URL” albo drugą, ręcznie utrzymywaną mapą.
Sprawdzę, czy Twój sklep na Shoperze w ogóle ma zgłoszoną mapę
W bezpłatnym audycie pokażę, ile adresów Google faktycznie widzi w Twoim sklepie i gdzie się gubi.
Zamów bezpłatny audyt SEO sklepu Shoper →