Plik robots.txt to mały i prosty plik tekstowy umieszczony na serwerze naszej strony internetowej, który jednak ma potężny wpływ na to w jaki sposób roboty wyszukiwarek postrzegają naszą witrynę. Podejmując pracę nad jakąkolwiek stroną internetową, jedną z pierwszych rzeczy jaką sprawdzam jest właśnie zawartość pliku robots.txt
1. Brak pliku robots.txt
Brak pliku robots.txt to niestety częsty błąd na wielu stronach internetowych. Co prawda w takiej sytuacji roboty uznają, że mogą przeglądać całą zawartość witryny do jakiej dotrą, ale dobrą praktyką jest posiadanie choćby domyślnego pliku robots.txt o przykładowej zawartości:
User-agent: *
Disallow:
Dlaczego? Powodów jest kilka. Każdy szanujący się robot w pierwszej kolejności pyta o plik robots.txt, a jeżeli go nie znajduje to dostaje naszą stronę w komunikatem „404 nie znaleziono”. Powoduje to niepotrzebny transfer i generuje logi błędów w statystykach.
Drugi powód to tylko moja niepotwierdzona teoria – brak pliku robots.txt może być negatywnym czynnikiem rankigowym w SEO (jednym z bardzo wielu różnych). Świadczy o niedbałości strony. Wiele strona zapleczowych nie ma pliku robots.txt
Jak sprawdzić czy mam i jak wygląda mój plik robots.txt? Wystarczy wpisać w przeglądarce jego adres w Twoim serwisie, przykładowo https://redseo.pl/robots.txt
2. Blokowanie ważnych stron w serwisie
Problem wydaje się banalny, ale występuje częściej niż można przypuszczać. Nieumyślne zablokowanie ważnych stron lub całego serwisu w robots.txt – nie trzeba być geniuszem aby domyślić się iż może spowodować to drastyczne spadki pozycji w wynikach wyszukiwarki.
Taki problem często pojawia się przy wdrażaniu nowej strony lub jej przebudowy. Webmaster skopiował robots.txt z wersji testowej, który wszystko blokował – częsty problem. Zdarzają się też literówki w składni, lub dodanie reguły, która blokuje to co chcemy ale może też blokować inne rzeczy z których nie zdajemy sobie sprawy.
Pomocne jest tu narzędzie „Tester pliku robots.txt” dostępne w Narzędziach Google dla Webmasterów. Umożliwia sprawdzenie konkretnego adresu URL w naszej witrynie pod względem dyrektyw jakie znajdują się w pliku robots.txt. Jest to szczególnie przydatne dla dużych plików robots.txt zawierających wiele dyrektyw w których łatwo się pogubić:
3. Blokowanie obrazków i plików CSS/JS
Problem spotykany na bardzo wielu stronach internetowych. Dyrektywy zawarte w pliku robots.txt blokują robotom dostęp do obrazków lub plików CSS odpowiedzialnych z wygląd oraz skryptów JavaScript. W rezultacie robot wyszukiwarki widzi Twoją stronę tak:
Nie wygląda to najlepiej. Koniecznie należy umożliwić dostęp do tego typu zasobów. Ma to wpływ na SEO, może mieć także wpływ na ocenę jakości strony docelowej przez system AdWords. Pomocne w rozwiązaniu tego problemu są Narzędzia Google dla Webmasterów gdzie dostępny jest moduł „Pobierz jako Google„. Dzięki temu narzędziu szybko sprawdzimy jak widzi stronę robot Google oraz jakie zasoby są blokowane.
Ważne jest aby doprowadzić do sytuacji w której robot wyszukiwarki i użytkownik widział taką samą stronę internetową:
4. Blokowanie robota to nie usuwanie z indeksu!
Rzecz o której często się zapomina. Blokada dostępu w pliku robots.txt to nie jest to samo co usunięcie strony z indeksy wyszukiwarki Google! Jeżeli chcemy usunąć jakąś stronę z wyników wyszukiwania należy skorzystać z meta tagu „robots” ustawionego na „noindex„. Trzeba też pamiętać, że jednoczesne ustawienie blokady w robots.txt i meta tagu, sprawi, że robot nie pozna wartości meta tagu – będzie blokowany przez robots.txt…
Poniżej przykład blokady w robots.txt która jednak nie usuwa stron z indeksu wyszukiwarki Google:
5. Utrata „link juice”
Link juice czyli linkowy soczek – moc linków prowadzących do Twojego serwisu oraz linków wewnętrznych. Może się zdarzyć, że strona w serwisie która jest blokowana dla robotów posiada linki zewnętrzne pochodzące z zewnętrznych serwisów. W rezultacie moc linków przychodzących nie jest ani wykorzystywana przez tą podstronę, ani nie jest dalej dystrybuowana na kolejne podstrony podlinkowane z zablokowanej zawartości.
Warto więc co jakiś czas wykonać audyt linków przychodzących i sprawdzić czy istnieją linki kierujące do treści zablokowanych przez robots.txt. Jeżeli tak, warto podjąć jakieś działania aby skutecznie wykorzystać te linki.
6. Bonus – Blokowanie złych robotów
O ile robots.txt służy do informowania robotów gdzie mogą i gdzie nie mogą wchodzić, o tyle złośliwe roboty kompletnie to ignorują. Oczywiście można w robots.txt zablokować złośliwe spamboty, które zjadają transfer i obciążają serwer, ale może być to nieskuteczne. O wiele skuteczniejszą metodą jest zablokowanie ich na poziomie serwera lub w pliku .htaccess.
Podsumowując. Sprawdź co siedzi w Twoim pliku robots.txt. Korzystając z Narzędzi Google upewnij się czy Twoja strona jest dobrze „widziana” przez robota. Jeżeli masz dodatkowe pytania o konfigurację lub problemy z robots.txt napisz do mnie.

W branży reklamy internetowej od 2006 roku. Certyfikowany specjalista ds. Google Ads (AdWords) i Analytics. Właściciel agencji Redseo.
Patrząc na robots.txt Googla (http://www.google.com/robots.txt) nie można zapominać o mapie strony (sitemap).
W zasadzie brak sitemapy w robots.txt to nie błąd, bo najważniejsze jest zgłoszenie jej w Google Webmaster Tools i oczywiście Bing/Yandex w razie potrzeby :)
Witam, moja strona wcześniej nie była zabezpieczona robots.txt i teraz jest zaindeksowanych 8000 stron, najczećiej strony 404. Zgłosiłem te strony do usunięcia, ale co zrobić jeśli nie usunie wszystkich stron? Czy warto wtedy usunąć robots.txt i polegać na tagu noindex? Pozdrawiam
Strony z błędem HTTP/404 nie będą indeksowane przez Google. Reguły z robots.txt nie usuwają stron z indeksu! One tylko zabraniają robotowi wchodzić na poszczególne adresy. Jeżeli chcesz usunąć jakieś trony to najlepiej wstawić tam meta tag „noindex” lub błąd HTTP/404. Ewentualnie można zgłosić ich usunięcie w Google Webmaster Tools.
Witam, mam pytanie odnośnie plików.txt. Utworzyłem stronę www . linguaim . com, w ustawieniach mam ustawiono, żeby strona indeksowała się, ale cześć zakładek nie indeksuje się: site:linguaim.com
Może wie Pan co mam zrobić, żeby naprawić ten błąd?
Patrząc w Twój plik robots.txt wygląda, że jest ok. W Google Search Console sprawdź proszę czy Googlebot może normalnie pobrać te strony, które się nie wyświetlają w wynikach.
To znaczy, chodzi mi o to, żeby te strony wyświetlały się jak każda inna. Tylko ja nie jestem zbyt obeznany w tych rzeczach, więc czy może Pan powiedzieć jak najprościej co mam zrobić?
Czemu masz zablokowany wp-admin skoro Google tools tego nie toleruje tak samo jak podany twój przykład wp-content ?
Dzięki za komentarz Maćku. Mam zablokowany wp-admin, bo nie widzę powodu dla którego roboty miałyby chodzić po panelu administracyjnym :) Z kolei blokowanie wp-content nie jest dobrym pomysłem, ponieważ blokujemy wtedy także obrazy, pliki CSS i ewentualnie inne przydatne pliki, do których roboty powinny mieć dostęp.
„.. warto podjąć jakieś działania aby skutecznie wykorzystać te linki” jakie?
Więc ja mam krótkie pytanie. W panelu edycji strony mam taką opcję:
Proś wyszukiwarki o nieindeksowanie tej witryny
zaznaczać na tak czy nie zaznaczać?
Jeżeli zaznaczysz „tak”, Twoja strona zniknie z wyszukiwarki Google…
Mam strony w wersji na komputer i na urządzenia mobilne (z odrębnym adresem www) korzystające z tej samej bazy danych. Czy w tej sytuacji należy zablokować dostęp robotom do wersji mobilnej? Chodzi mi o to, by Google nie uznał, że ma do czynienia z duplikatami treści.
Witam Paweł!
Trafiłem na ten artykuł bo szukam odpowiedzi na pewną zagwozdkę i nie bardzo wiem jak z niej wybrnąć a mianowicie..
Jakiś czas temu załadowałem testową stronę z Disalow: / aby mi Google nie zaindeksowało strony skoro jeszcze nie mam gotowej w finalnej wersji.
Dziś wrzuciłem stronkę na serwer.
plik sitemap.xml: www ns-studioprojektowe.pl/sitemap.xml
plik robots.txt: www ns-studioprojektowe.pl/robots.txt
I wyskakuje mi w mapie witryny „Mapa witryny zawiera URL-e blokowane przez plik robots.txt.” Tak sobie pomyślałem od razu że to pewnie przez blokowanie wszystkich stron podczas testowej strony i boot Google to pamięta?.
Ale obecnie mam już skonfigurowany dobrze robots.txt z Disalow: ale niepokoi mnie fakt o tym ostrzeżeniu w zakłądce (Szczegóły mapy witryny), wysłałem 18 url i 18 ostrzeżeń?
Co mogę zrobić? i czy zaprzepaściłem wyniki wysokich indeksacji.
Być może jak będziesz to odczytywał za jakiś czas problem się sam rozwiąże ale wolę dopytać ;) i może inni też mają taki sam problem jak ja. :(
Pozdrawiam!
Cześć Krzysztofie, dzięki za komentarz.
Plik robots.txt jest odświeżany w Google Search Console ze sporym opóźnieniem, zdaje się, że 24h choć pewien nie jestem. Dlatego też, trzeba poczekać po zmianie robots.txt na jego odświeżenie przez Google i powinno być ok.
Witajcie dobrzy ludzie :),
mam problem z którym nie umiem sobie poradzić, chodzi o to, że mam wykupiony serwer w home i na tym serwerze jest moja strona. Serwer to np.: moja-domena, natomiast strona znajduje się w katalogu mojadomena (już bez myślnika), prawidłowy adres tej strony to: mojadomena.pl, natomiast w wyszukiwarce google pokazuje tę stronę w dwóch adresach: mojadomena.pl (tu wszystko jest ok) i moja-domena.home.pl/mojadomena (przy tym adresie pokazuje listę błędów), jak mam usunąć z wyników wyszukiwarki ten drugi adres? Rozmawiałam już z informatykiem z home, on stwierdził, że wina leży po stronie Google, niestety moja wiedza informatyczna nie jest delikatnie mówiąc imponująca, praktycznie jestem samoukiem więc wdzięczna będę za każdą pomoc. Mam nadzieję, że w miarę jasno wytłumaczyłam na czym polega mój problem…
Pozdrawiam serdecznie :)
Dziękuje za komentarz. Gosiu – trzeba zrobić prawidłowe przekierowanie 301 strony z „home.pl” na Twoją domenę. To rozwiąże problem.
Pawle, dziękuję za odpowiedź, tylko, że ja mam przekierowanie na domenę i pan z home, nawet to sprawdził i potwierdził, że jest zrobione prawidłowo …
Witam serdecznie Panie Pawle,
mam taki kłębek problemów z SEO, że nie wiem, gdzie jest początek. :)
Pana artykuły są bardzo fachowe, dlatego może będzie Pan znał odpowiedź na moje pytanie.
Czy jeśli Google bot, po wygenerowaniu obrazu mojej strony głównej, pokazuje mi mój pop up z informacją (tylko i wyłącznie ten pop up, reszta strony jest za białym tłem), a pod obrazem pokazuje informację, że wszystkie grafiki (ze strony głównej) są zablokowane to znaczy, że skrypt pop upu jest zbyt „agresywny”, czy też to kwestia blokowania w pliku robots.txt? Tam mam takie reguły: Allow: /environment/cache/images oraz Disallow: /environment, a zablokowane grafiki są właśnie z tej ścieżki /environment/cache/. Nie wiem, czy się martwić takim stanem rzeczy?
Dzięki Kasiu za komentarz. Blokowanie obrazów przez robots.txt to sprawa, którą warto szybko naprawić. Lepiej aby google bot mógł odczytać obrazy z Twojej strony, a także CSS/JS, które mogą mieć wpływ na wygląd strony.
Z kolei popup, to inna historia. Po prostu wyskakuje i googlebot to widzi. Nie jest to taki problem, jak te blokowane zdjęcia w robots.txt
Dzień dobry,
od niedawna moja firma posiada stronę internetową. Starałem się sam stworzyć witrynę a teraz walczę z SEO. W moim pliku robots.txt znajdują się jeszcze inne linijki tekstu. Nie mam pojęcia czy to dobrze czy źle. Czy mógłby Pan zajrzeć na http://www.nakoncu. pl? Pozdrawiam, Zachariasz.
Dzięki Zachariasz za komentarz. W Twoim pliku robots.txt jest wszystko ok. To standardowe regułki dodawane przez WordPressa na którym zrobiłeś stronę.
Czy da się w pliku robots ustawić regułę, która pozwoli na zablokowanie wszystkich stron kończących się na ciąg znaków -anumer.html, czyli np. -a1.html, -a2.html … -a1000.html … -a50000.html ?
można oczywiście wpisać tysiące reguł w stylu:
Disallow: /*-a1.html$
Disallow: /*-a2.html$
…
Disallow: /*-a1000.html$
…
Disallow: /*-a50000.html$
Jednak to nie jest poprawne rozwiązanie – plik robots.txt będzie miał wielkie rozmiary. Więc chciałbym użyć jakiegoś szablonu, z którego google skorzysta i zablokuje wszystkie te dziesiątki tysięcy stron kończących się na -anumerek.html.
Możesz spróbować zapisu w robots.txt typu:
Disallow: /*-a*.html
Choć przyznam, że trzeba to najpierw sprawdzić – nie jestem w 100% pewien poprawności. W tym narzędziu można sprawdzić czy będzie ok:
https://www.google.com/webmasters/tools/robots-testing-tool?hl=pl
Być może lepszą metodą zamiast robots.txt będzie zastosowanie meta tagu robots lub innej techniki (zależnie od konstrukcji strony)
Dzień dobry,
przeszukałem połowę internetu i nie znalazłem odpowiedzi na mój przypadek.
W skrócie postaram się go przedstawić. Bedę operował przykładami, ponieważ strona/sklep
jest w języku japońskim.
strona sklepu jest sub domeną, ale to chyba nie ma znaczenia.
A więc adres : shop.polskie-siekiery.jp
a w ofercie każda nazwa produktu to np. : polska siekiera du1313-111 ( polska siekiera jest stałą nazwą, zmienia się tylko model – w tym przypadku du1313-111)
Po wpisaniu w google du1313 wynik jest bardzo wysoko indeksowany
Po wpisaniu polska siekiera nie ma wyniku w google
Po ręcznym dodaniu do indeksu google adresu z polska siekiera du1313-111 :
po wpisaniu polska siekiera , wynik bardzo wysoko indeksowany
ale niestety po 24-48 godz. wynik polska siekiera znika z google.
Wygląda jakby w tym czasie robot google odwiedził witrynę i zdecydował o usunięciu z indeksowania.
Dlatego pomyślałem że jest problem z moim robots.txt, ale google nie widzi problemu z tym plikiem.
To samo dotyczy się nie tylko oferty sklepu ale również nazwy, po ręcznym dodaniu indeksuje wysoko
ale po kilku godzinach znika z google.
Google podczas ręcznego dodawania adresu zwraca informacje że adres jest zindeksowany.
Strona działa w oparciu o prestashop 1.6
SEO produktów jest pełne
Jeszcze może dorzucę mój robots.txt :
# robots.txt automaticaly generated by PrestaShop e-commerce open-source solution
# http://www.prestashop.com – http://www.prestashop.com/forums
# This file is to prevent the crawling and indexing of certain parts
# of your site by web crawlers and spiders run by sites like Yahoo!
# and Google. By telling these „robots” where not to go on your site,
# you save bandwidth and server resources.
# For more information about the robots.txt standard, see:
# http://www.robotstxt.org/robotstxt.html
User-agent: *
# Allow Directives
Allow: */modules/*.css
Allow: */modules/*.js
# Private pages
Disallow: /*?orderby=
Disallow: /*?orderway=
Disallow: /*?tag=
Disallow: /*?id_currency=
Disallow: /*?search_query=
Disallow: /*?back=
Disallow: /*?n=
Disallow: /*&orderby=
Disallow: /*&orderway=
Disallow: /*&tag=
Disallow: /*&id_currency=
Disallow: /*&search_query=
Disallow: /*&back=
Disallow: /*&n=
Disallow: /*controller=addresses
Disallow: /*controller=address
Disallow: /*controller=authentication
Disallow: /*controller=cart
Disallow: /*controller=discount
Disallow: /*controller=footer
Disallow: /*controller=get-file
Disallow: /*controller=header
Disallow: /*controller=history
Disallow: /*controller=identity
Disallow: /*controller=images.inc
Disallow: /*controller=init
Disallow: /*controller=my-account
Disallow: /*controller=order
Disallow: /*controller=order-opc
Disallow: /*controller=order-slip
Disallow: /*controller=order-detail
Disallow: /*controller=order-follow
Disallow: /*controller=order-return
Disallow: /*controller=order-confirmation
Disallow: /*controller=pagination
Disallow: /*controller=password
Disallow: /*controller=pdf-invoice
Disallow: /*controller=pdf-order-return
Disallow: /*controller=pdf-order-slip
Disallow: /*controller=product-sort
Disallow: /*controller=search
Disallow: /*controller=statistics
Disallow: /*controller=attachment
Disallow: /*controller=guest-tracking
# Directories
Disallow: */classes/
Disallow: */config/
Disallow: */download/
Disallow: */mails/
Disallow: */modules/
Disallow: */translations/
Disallow: */tools/
# Files
Disallow: /*odzyskiwanie-hasla
Disallow: /*adres
Disallow: /*adresy
Disallow: /*logowanie
Disallow: /*koszyk
Disallow: /*rabaty
Disallow: /*historia-zamowien
Disallow: /*dane-osobiste
Disallow: /*moje-konto
Disallow: /*sledzenie-zamowienia
Disallow: /*pokwitowania
Disallow: /*zamowienie
Disallow: /*szukaj
Disallow: /*szybkie-zakupy
Disallow: /*sledzenie-zamowienia-gosc
Disallow: /*potwierdzenie-zamowienia
Gdyby był czas na zerknięcie w to z góry dziękuję.