Plik robots.txt to zwykły plik tekstowy umieszczony w katalogu głównym Twojej strony (https://example.com/robots.txt), który mówi crawlerom wyszukiwarek, jakich stron lub sekcji Twojej witryny mogą lub nie mogą odwiedzać. Istnieje od 1994 roku i jest jednym z najstarszych standardów w sieci. Każda poważna wyszukiwarka respektuje go, choć ważne jest, by zrozumieć, co może, a czego nie może.
Jak działa składnia robots.txt
Plik używa prostej, opartej na regułach składni. Każdy blok zaczyna się linią User-agent, która wskazuje, do którego crawlera odnoszą się reguły, a następnie jedna lub więcej dyrektyw Disallow lub Allow. Oto pełny przegląd wszystkich obsługiwanych dyrektyw:
User-agent: identyfikuje crawlera. Użyj*dla wszystkich crawlerów lub określ konkretnego bota, takiego jakGooglebot,BingbotlubGPTBot.Disallow: mówi crawlerowi, by nie odwiedzał określonej ścieżki.Disallow: /private/blokuje wszystko pod katalogiem /private/. PusteDisallow:oznacza, że nic nie jest zablokowane.Allow: uchyla regułę Disallow dla konkretnej ścieżki. Przydatne, gdy chcesz zablokować katalog, ale zezwolić na dostęp do określonych plików w nim.Sitemap: wskazuje URL Twojej mapy witryny XML. Technicznie nie jest częścią oryginalnego standardu robots.txt, ale wszystkie główne wyszukiwarki to wspierają.Crawl-delay: mówi crawlerowi, by czekał określoną liczbę sekund między żądaniami. Google ignoruje tę dyrektywę (zamiast tego możesz ustawić częstotliwość skanowania w Search Console), ale Bing i niektóre inne crawlery to respektują.
Typowy przykład robots.txt dla WordPressa
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /wp-includes/
Disallow: /readme.html
Disallow: /xmlrpc.php
Disallow: /?s=
Disallow: /search/
Sitemap: https://example.com/sitemap_index.xmlPrzejdźmy przez to, co robi każda linia:
Disallow: /wp-admin/: zapobiega odwiedzaniu obszaru administracyjnego WordPress przez crawlery. Nie ma powodu, by wyszukiwarki skanowały Twój dashboard.Allow: /wp-admin/admin-ajax.php: ten wyjątek jest ważny, ponieważ wiele motywów i wtyczek używa admin-ajax.php dla funkcjonalności na froncie. Zablokowanie tego może zepsuć funkcje na Twoich publicznych stronach.Disallow: /wp-includes/: blokuje katalog wp-includes WordPressa, który zawiera pliki systemowe nieprzeznaczone do indeksowania.Disallow: /readme.html: ukrywa plik readme WordPress, który ujawnia Twoją wersję WordPressa.Disallow: /xmlrpc.php: blokuje dostęp do punktu końcowego XML-RPC, który jest regularnym celem ataków brute force.Disallow: /?s=iDisallow: /search/: zapobiega indeksowaniu wewnętrznych stron wyników wyszukiwania, które mają niewielką wartość i mogą tworzyć duplikat treści.
robots.txt kontra metatag noindex
To jedno z najczęściej źle rozumianych rozróżnień w SEO. Wielu właścicieli stron myśli, że blokowanie strony w robots.txt zapobiega jej wyświetlaniu w wynikach wyszukiwania. Tak nie jest.
robots.txt kontroluje skanowanie: mówi wyszukiwarkom, by nie odwiedzały określonego URL. Ale jeśli inne strony linkują do tego URL, Google może go nadal zaindeksować i pokazać URL w wynikach wyszukiwania z notatką typu "Dla tej strony nie ma dostępnych informacji".
Metatag noindex kontroluje indeksowanie: mówi wyszukiwarkom "możesz przeskanować tę stronę, ale nie umieszczaj jej w wynikach wyszukiwania". Kluczową kwestią jest to, że Google musi faktycznie móc przeskanować stronę, by zobaczyć dyrektywę noindex. Jeśli zablokujesz stronę w robots.txt I dodasz tag noindex, Google nie może przeskanować strony, by odkryć tag noindex, więc URL może być nadal indeksowany na podstawie zewnętrznych sygnałów.
Praktyczna zasada: użyj robots.txt do zarządzania budżetem skanowania i trzymania crawlerów z dala od obszarów po stronie serwera. Użyj noindex, gdy chcesz całkowicie usunąć stronę z wyników wyszukiwania.
Jak Googlebot radzi sobie z robots.txt
Google regularnie sprawdza Twój plik robots.txt i zwykle cache'uje go do 24 godzin. Jeśli Google nie może pobrać pliku (na przykład dlatego, że Twój serwer zwraca błąd 500), Google tymczasowo przestaje skanować Twoją witrynę, na wszelki wypadek. Odpowiedź 404 jest natomiast interpretowana jako "brak ograniczeń", co oznacza, że Google przeskanuje wszystko.
Google wspiera też dopasowywanie wzorców w ścieżkach robots.txt. Możesz użyć * jako wildcard i $, by wskazać koniec URL:
Disallow: /*.pdf$
Disallow: /category/*/page/Pierwsza linia blokuje wszystkie pliki PDF na całej stronie. Druga blokuje strony paginacji w archiwach kategorii.
Testowanie robots.txt z Google Search Console
Google Search Console zawiera tester robots.txt, który pozwala sprawdzić, czy konkretny URL jest zablokowany. Jest to cenne po wprowadzeniu zmian w robots.txt, ponieważ mała literówka może przypadkowo zablokować ważne strony. Wprowadź URL, który chcesz przetestować, a narzędzie powie Ci, czy jest dozwolony czy zablokowany i która reguła za to odpowiada.
Powinieneś testować swój robots.txt po każdej zmianie, zwłaszcza po dużych aktualizacjach witryny, zmianach motywu lub migracjach. Zajmuje to tylko kilka sekund i może zapobiec przypadkowemu wyciągnięciu części Twojej strony z indeksu.
Typowe błędy robots.txt na witrynach WordPress
Kilka błędów regularnie występuje na witrynach WordPress:
- Blokowanie plików CSS i JavaScript: niektóre starsze szablony robots.txt blokują
/wp-content/lub/wp-includes/ogólnie. Zapobiega to Google'owi dotarcia do plików CSS i JS, których potrzebuje do renderowania Twoich stron. Jeśli Googlebot nie może poprawnie wyrenderować Twojej strony, nie może jej prawidłowo ocenić do rankingu. Zawsze zezwalaj na dostęp do plików CSS i JavaScript. - Blokowanie całej witryny podczas rozwoju: deweloperzy często dodają
Disallow: /podczas stagingu i zapominają go usunąć przed uruchomieniem. WordPress ma ustawienie "Zniechęć wyszukiwarki", które robi coś podobnego, i pozostaje włączone częściej, niżbyś oczekiwał. - Używanie robots.txt jako środka bezpieczeństwa: plik jest publicznie dostępny. Każdy może przeczytać Twój robots.txt i dokładnie zobaczyć, jakie ścieżki próbujesz ukryć. Jeśli masz wrażliwą treść, użyj zamiast tego prawidłowego uwierzytelniania lub kontroli dostępu po stronie serwera.
- Sprzeczne reguły: jeśli masz wiele bloków User-agent z nakładającymi się regułami, zachowanie może być nieprzewidywalne. Google używa najbardziej specyficznej pasującej reguły, ale inne crawlery mogą inaczej radzić sobie z konfliktami. Utrzymuj robots.txt prosty i unikaj zbędnych bloków.
Automatycznie generowany robots.txt WordPress i jak go dostosować
Jeśli w katalogu głównym Twojego WordPressa nie ma fizycznego pliku robots.txt, WordPress automatycznie generuje wirtualny plik. Ten domyślny plik jest minimalny i zwykle zawiera tylko regułę disallow /wp-admin/ z wyjątkiem admin-ajax.php.
Masz trzy opcje, by go dostosować:
- Stwórz plik fizyczny: wgraj plik
robots.txtdo katalogu głównego WordPressa przez FTP lub menedżer plików hostingu. To całkowicie nadpisuje wersję wirtualną. - Użyj wtyczki SEO: zarówno Yoast SEO, jak i Rank Math oferują edytor robots.txt w panelu administracyjnym WordPress, abyś mógł wprowadzać zmiany bez dostępu FTP.
- Użyj hooka filtra: deweloperzy mogą modyfikować wynik wirtualnego robots.txt przez filtr
robots_txtw WordPressie. Takie podejście utrzymuje dostosowanie w kodzie, co ułatwia śledzenie przez system kontroli wersji.
Co sprawdza InspectWP
InspectWP sprawdza, czy Twoja witryna WordPress ma plik robots.txt, analizuje reguły, które zawiera, i weryfikuje, czy zawarte jest odwołanie do mapy witryny. Oznacza typowe problemy, takie jak brakujące dyrektywy mapy witryny, zbyt szerokie reguły disallow, które mogą blokować ważną treść, oraz reguły, które mogą zapobiec poprawnemu renderowaniu stron przez Google.