Różnica między robots.txt a <meta name=”robots” content=”noindex”> Wyjaśnienie dla laików.
Jeśli posiadasz podstawową wiedzę o SEO to wiesz z pewnością, że gdy mowa jest o blokowaniu indeksacji jakiegoś adresu URL w wyszukiwarkach internetowych, zazwyczaj stosuje się jedną z dwóch metod: plik robots.txt lub znacznik <meta name=”robots” content=”noindex”>. Czy wiesz w jaki dokładnie sposób działają te metody i czym się różnią? Jeśli nie, ten tekst jest dla Ciebie.
Na początek przyjrzyjmy się samym metodom. Chcąc zablokować dostęp robotów z użyciem pliku robots.txt musimy utworzyć plik o takiej nazwie w głównym katalogu na serwerze witryny (w najprostszej wersji) lub edytować istniejący plik, tak aby posiadał odpowiednie zapisy. Przykładowo, chcemy zablokować adres: /niewazne-dla-wyszukiwarek/ – możemy zrobić to w ten sposób:
User-agent: * Disallow: /niewazne-dla-wyszukiwarek/$
Znak “$” na końcu adresu oznaczać będzie, że chcemy zablokować tylko ten adres. Jeśli nie byłoby tego znaku blokowaliśmy wszystkie adresy, które zaczynają się od /niewazne-dla-google/, czyli także wszystkie podstrony w tym katalogu.
PS. Jeśli chcesz szczegółowo poznać sposoby tworzenia reguł w pliku robots.txt odsyłam tutaj: Tworzenie pliku robots.txt. W tym artykule nie będę szczegółowo opisywał jego składni.
Chcąc skorzystać z drugiej metody w kodzie HTML strony w sekcji <head> musimy umieścić znacznik:
<meta name="robots" content="noindex">
Stosując taki zapis mówimy robotom, że adres URL, na którym się aktualnie znajdujemy nie ma być indeksowany.
PS. Wewnątrz atrybutu content mogą się też znaleźć inne informacje dla robotów, wymienione po przecinkach np “nofollow” – w tym artykule nie będziemy się jednak na nich skupiać.
Przeczytaj także jakie duże zmiany algorytmu od 2021 roku szykuje Google.
Najważniejsze różnice
Jak już pewnie zauważyłeś za pomocą pliku robots.txt jesteśmy w stanie z jednego miejsca zarządzać dostępem robotów do wielu adresów URL. Znacznik <meta name=”robots”> mówi robotom, jak mają postępować pod danym adresem URL.
Zapis “Disallow” w pliku robots.txt jest często mylnie interpretowany jako zastrzegający indeksację danego adresu / adresów. W rzeczywistości zapis ten mówi robotom, że mają nie odwiedzać danego URLa lub URLi – nie reguluje w żaden sposób kwestii indeksacji. Co to oznacza? Jeśli dany adres URL został już zaindeksowany przez danego robota, umieszczenie zapisu “Disallow” w pliku robots.txt dla danego adresu nie spowoduje jego wyindeksowania, spowoduje, że robot przestanie wchodzić pod ten adres (w Google po pewnym czasie w wynikach pojawi się informacja że wynik może być nieaktualny). Jeśli zastosujemy znacznik meta robots, z zawartością “noindex” spowoduje to wyindeksowanie zaindeksowanego wcześniej adresu URL, ale nie spowoduje że roboty przestaną ten adres odwiedzać!
Co ciekawe, jeśli zależy nam aby zindeksowany wcześniej adres URL wyindeksować i jednocześnie spowodować, aby roboty przestały go odwiedzać nie powinniśmy jednocześnie używać obu metod! Równoczesne zablokowanie dostępu w pliku robots.txt i zastosowanie <meta name=”robots” content=”noindex”> nie ma sensu. Blokując dostęp z użyciem pliku robots.txt spowodujemy, że roboty nigdy nie zobaczą metatagu mówiącego że treść ma nie być indeksowana!
Jak używać?
Jeśli tworzymy zupełnie nowy serwis internetowy, który nie został jeszcze zaindeksowany właściwie zawsze lepszym rozwiązaniem będzie wykorzystanie pliku robots.txt, roboty nie będą odwiedzać adresów zgodnie z regułami w tym pliku, dlatego ich nigdy nie zaindeksują. Takie podejście gwarantuje, że roboty nie będą odwiedzać adresów, które nie mają znaczenia z punktu widzenia wyszukiwarek (w związku z tym nie będą chociażby marnować transferu na naszej witrynie, czy Crawl Budget’u naszej strony).
Jeśli chcemy wyindeksować adres stosujemy <meta name=”robots” content=”noindex”> (można też skorzystać z narzędzia do usuwania adresów URL w Google Search Console, ale w przypadku większej ilości URLi do wyindeksowania będzie to dość uciążliwe), a jeśli dodatkowo chcemy zablokować ruch robotów to dopiero po wyindeksowaniu danego adresu blokujemy go w robots.txt.