Jak działa ta kontrola
Scanaris robi trzy rzeczy. Po pierwsze, żąda /robots.txt i uznaje go za ważny tylko wtedy, gdy odpowiada 200 i nie jest HTML-em (aplikacje jednostronicowe zwracają swoją stronę dla dowolnej ścieżki); w przeciwnym razie otwiera ustalenie o niskiej wadze. Po drugie, żąda /sitemap.xml i uznaje go za ważny, jeśli odpowiada 200 i zawiera znacznik <urlset> lub <sitemapindex>; jeśli go tam nie znajdzie, ale robots.txt ma linię Sitemap:, i tak to akceptuje; w innym przypadku ustalenie o niskiej wadze. Po trzecie, sprawdza, czy skanowana strona niesie noindex, w znaczniku <meta name="robots"> lub w nagłówku HTTP X-Robots-Tag; jeśli tak, otwiera ustalenie o średniej wadze, bo ta strona nie pojawi się w Google.
Dlaczego to ważne
robots.txt to pierwszy adres, który odwiedza każdy robot, i miejsce, w którym mówisz mu, co może przeglądać i gdzie jest Twoja mapa witryny. Mapa witryny to lista adresów, które Google ma zindeksować, z datą modyfikacji: bez niej Google odkrywa Twoje strony, podążając za linkami, co jest wolniejsze i pomija te słabo podlinkowane. Oba mają niską wagę, bo ich brak nie uniemożliwia indeksowania, tylko je pogarsza. noindex to co innego: to bezpośredni rozkaz dla Google, żeby nie pokazywać tej strony, a na stronie głównej oznacza, że Twoja witryna nie istnieje w wyszukiwarce. To najbardziej niszczycielski i najcichszy błąd SEO, jaki istnieje, i prawie zawsze pozostałość po środowisku testowym.
Jak to naprawić
robots.txt
User-agent: *
Allow: /
Sitemap: https://twojadomena.pl/sitemap.xml
Zwykły plik tekstowy w roocie. W Nuxt i Next.js są moduły i konwencje (app/robots.ts), które go generują; na stronie statycznej trafia do katalogu public. Nie wymieniaj w nim prywatnych ścieżek: jest publiczny i wskazywałbyś je każdemu, jak wyjaśnia wrażliwe ścieżki w robots.
Mapa witryny
- Nuxt: moduł sitemap generuje ją ze ścieżek i adresów, które mu przekażesz (wpisy, produkty).
- Next.js: plik
app/sitemap.tszwracający listę adresów. - WordPress: generuje ją sam od wersji 5.5 pod
/wp-sitemap.xml; dodaj tę linię do robots albo pozwól Yoastowi lub Rank Math umieścić ją pod/sitemap_index.xml. - Astro, Hugo, Jekyll: oficjalna wtyczka lub integracja.
Tylko adresy indeksowalne, kanoniczne i odpowiadające 200. Prześlij ją w Google Search Console i Bing Webmaster Tools: tak dowiesz się, ile z tych adresów jest naprawdę zindeksowanych.
noindex na stronie
Poszukaj, skąd się bierze. W Nuxt moduł robots może ustawiać noindex na podstawie zmiennej środowiskowej, którą czasem kopiuje się ze środowiska testowego na produkcję. W Next.js metadata.robots. W WordPressie ustawienie „Proś wyszukiwarki o nieindeksowanie tej witryny" w Ustawieniach czytania, które ktoś włączył, gdy strona była w budowie. Na Vercel wdrożenia podglądowe niosą X-Robots-Tag: noindex automatycznie, ale produkcyjne nie; jeśli widzisz to na produkcji, dodałeś to sam w konfiguracji nagłówków.
Sprawdź, czy naprawione
curl -s https://twojadomena.pl/robots.txt
curl -s https://twojadomena.pl/sitemap.xml | head -5
curl -sI https://twojadomena.pl | grep -i x-robots-tag
curl -s https://twojadomena.pl | grep -oiE '<meta name="robots"[^>]*>'
Dwa pierwsze powinny pokazać tekst i XML, nie HTML. Dwa ostatnie nie mogą zawierać noindex (meta robots z index, follow lub max-image-preview jest normalne).
Często zadawane pytania
Moja mapa witryny jest pod inną ścieżką, np. /sitemap_index.xml.
Każda ścieżka jest dobra, o ile robots.txt wskazuje ją linią Sitemap:. Kontrola szuka jej tam, zanim zgłosi ustalenie.
Chcę, żeby moja strona na razie nie pojawiała się w Google.
W takim razie noindex jest poprawny i możesz zaakceptować ustalenie. Ale ustaw sobie przypomnienie: większość stron z noindex na produkcji nie ma go celowo.
Czy robots.txt wpływa na boty AI?
Tak, to ten sam plik, w którym zezwala się lub blokuje GPTBot, ClaudeBot czy PerplexityBot. Na co pozwalasz i co warto, sprawdza roboty AI.