Blokowanie URL-i w pliku robots.txt

Tworzenie pliku robots.txt

Pierwsze kroki

Plik robots.txt zawiera co najmniej jedną regułę. Każda reguła blokuje (lub zezwala na) dostęp określonego robota do wskazanego pliku w danej witrynie.

Oto prosty plik robots.txt z dwiema regułami objaśnionymi poniżej:

User-agent: Googlebot
Disallow: /nogooglebot/

User-agent: *
Allow: /

Sitemap: http://www.example.com/mapawitryny.xml

 

Wyjaśnienie:

  1. Robot o nazwie „Googlebot” nie powinien pobierać folderu http://example.com/nogooglebot/ ani żadnego z jego podkatalogów.
  2. Wszystkie pozostałe klienty użytkownika mogą uzyskiwać dostęp do całej witryny. (Tę regułę można było pominąć – rezultat byłby taki sam, ponieważ pełen dostęp jest dozwolony z założenia).
  3. Plik mapy witryny jest w lokalizacji http://www.example.com/mapawitryny.xml

Bardziej szczegółowy przykład znajdziesz poniżej.

Podstawowe zasady dotyczące plików robots.txt

Oto niektóre podstawowe zasady dotyczące plików robots.txt. Podczas tworzenia lub edytowania plików robots.txt na potrzeby swojej witryny używaj narzędzia Tester pliku robots.txt. Pozwala ono przetestować składnię i działanie pliku w witrynie. Następnie zapoznaj się z pełną składnią plików robots.txt, ponieważ nie jest ona tak prosta, jak się wydaje.

Format i lokalizacja

Do utworzenia pliku robots.txt możesz użyć prawie każdego edytora tekstu. Musi on mieć opcję zapisu standardowych plików tekstowych ASCII lub UTF-8. Nie używaj zaawansowanego programu do edytowania tekstu, ponieważ takie programy często zapisują pliki w zastrzeżonym formacie i dodają nieoczekiwane znaki (np. cudzysłowy drukarskie), które sprawiają problemy robotom.

Zasady dotyczące formatu i lokalizacji:

  • Plik robots.txt jest plikiem tekstowym ASCII lub UTF-8. Żadne inne znaki nie są dozwolone.
  • Plik musi się nazywać robots.txt.
  • Witryna może mieć tylko jeden plik robots.txt.
  • Plik robots.txt musi się znajdować w katalogu głównym hosta witryny, do której się odnosi. Aby na przykład kontrolować pobieranie wszystkich adresów URL witryny http://www.example.com/, plik robots.txt musi się znajdować w lokalizacji http://www.example.com/robots.txt. Nie można go umieścić w podkatalogu (na przykład w lokalizacji http://example.com/strony/robots.txt). Jeśli nie wiesz, jak uzyskać dostęp do katalogu głównego witryny, lub potrzebujesz do tego uprawnień, skontaktuj się ze swoim dostawcą hostingu. Jeśli nie masz dostępu do katalogu głównego witryny, możesz zablokować roboty w inny sposób, np. przy użyciu metatagów.
  • Plik robots.txt może odnosić się do subdomen (na przykład http://witryna.example.com/robots.txt) lub do portów niestandardowych (na przykład http://example.com:8181/robots.txt).

Składnia

  • Plik robots.txt składa się z jednego lub kilku zestawów reguł.
  • Każda reguła wskazuje co najmniej jednego klienta użytkownika i określa, które katalogi lub pliki mają lub nie mają być dla niego dostępne.
  • Reguły są przetwarzane od góry do dołu, a klient użytkownika jest dopasowywany tylko do jednego zestawu reguł – do pierwszej, najbardziej sprecyzowanej reguły, która się do niego odnosi.
  • Z założenia klient użytkownika może pobierać wszystkie strony lub katalogi, które nie są zablokowane przy użyciu reguły Disallow:.
  • Wielkość liter w regułach jest rozróżniana. Na przykład reguła Disallow: /plik.asp odnosi się do adresu http://www.example.com/plik.asp, ale nie do adresu http://www.example.com/Plik.asp.

W plikach robots.txt używane są te słowa kluczowe:

  • User-agent: (klient użytkownika) [w regule wymagany jest co najmniej jeden] to nazwa robota wyszukiwarki lub oprogramowania indeksującego, którego dotyczy dana reguła. Większość nazw klientów użytkownika znajduje się w bazie danych robotów lub na liście klientów użytkownika Google. Obsługuje symbol wieloznaczny * zastępujący prefiks, sufiks lub całą ścieżkę. Użycie gwiazdki (*) jak w poniższym przykładzie spowoduje, że reguła będzie się odnosiła do wszystkich robotów z wyjątkiem różnych robotów AdsBot, które należy nazwać wyraźnie. Zobacz listę nazw robotów Google
    # Blokuj wszystkie roboty poza robotami AdsBot
    User-agent: *
  • Disallow: (czyli brak pozwolenia) [w regule wymagany jest co najmniej jeden wpis Disallow lub Allow] katalog lub strona domeny głównej, które nie powinny być pobierane przez klienta użytkownika. W przypadku strony należy podać jej pełną nazwę widoczną w przeglądarce, a w przypadku katalogu nazwa powinna się kończyć znakiem / (prawym ukośnikiem).  Obsługuje symbol wieloznaczny * zastępujący prefiks, sufiks lub całą ścieżkę.
  • Allow: (czyli pozwolenie) [w regule wymagany jest co najmniej jeden wpis Disallow lub Allow] katalog lub strona domeny głównej, które powinny być pobierane przez wspomnianego klienta użytkownika. „Allow” pozwala zastąpić instrukcję „Disallow”, by zezwolić na pobieranie podkatalogów lub stron zlokalizowanych w katalogu, dla którego ustawiono instrukcję „Disallow”. W przypadku strony należy podać jej pełną nazwę widoczną w przeglądarce, a w przypadku katalogu nazwa powinna się kończyć znakiem / (prawym ukośnikiem). Obsługuje symbol wieloznaczny * zastępujący prefiks, sufiks lub całą ścieżkę.
  • Sitemap: (czyli mapa witryny) [element opcjonalny, niewymagany w pliku] lokalizacja mapy witryny. Ten wiersz jest opcjonalny i pozwala zdefiniować wiele map witryny, każdą w osobnym wierszu. Użycie mapy witryny to dobry sposób, by wskazać robotowi Google treści, które powinien pobierać, oraz te, które może lub których nie może pobierać. Więcej informacji o mapach witryny

Nieznane słowa kluczowe są ignorowane.

Kolejny plik przykładowy

Plik robots.txt składa się z jednego lub kilku zestawów reguł, gdzie każda reguła zaczyna się od wiersza User-agent określającego element, którego dotyczy. Oto plik zawierający dwie reguły, które zostały opisane w komentarzach:

# Blokuj googlebotowi dostęp do katalogu example.com/katalog1/... i example.com/katalog2/...
# ale zezwalaj na dostęp do podkatalogu katalog2/podkatalog1/...
# Wszystkie pozostałe katalogi w witrynie są dostępne domyślnie.
User-agent: googlebot
Disallow: /katalog1/
Disallow: /katalog2/
Allow: /katalog2/podkatalog1/

# Blokuj robotowi innyrobot dostęp do całej witryny.
User-agent: innyrobot
Disallow: /

Pełna składnia pliku robots.txt

Pełną składnię pliku robots.txt znajdziesz tutaj. Zapoznaj się z całą dokumentacją, ponieważ składnia pliku robots.txt obejmuje kilka skomplikowanych elementów, które trzeba opanować.

Przydatne reguły pliku robots.txt

Oto kilka częstych przydatnych reguł pliku robots.txt:

Reguła Przykład
Zakaz pobierania całej witryny. Pamiętaj, że w niektórych sytuacjach adresy URL z witryny wciąż mogą być indeksowane, nawet gdy nie zostały pobrane. Uwaga: nie dotyczy to różnych robotów AdsBot, które należy wyraźnie wskazać.
User-agent: *
Disallow: /
Zakaz pobierania katalogu i jego zawartości – wpisz nazwę katalogu i ukośnik. Pamiętaj, by nie używać pliku robots.txt do blokowania dostępu do treści prywatnych – zamiast tego zastosuj odpowiednie uwierzytelnianie. Adresy URL zabronione w pliku robots.txt wciąż mogą być indeksowane bez pobierania, a plik robots.txt jest publicznie dostępny i może spowodować ujawnienie lokalizacji treści prywatnych.
User-agent: *
Disallow: /kalendarz/
Disallow: /śmieci/
Zezwolenie na dostęp jednemu robotowi
User-agent: Googlebot-news
Allow: /

User-agent: *
Disallow: /
Zezwolenie na dostęp wszystkim robotom oprócz jednego
User-agent: Niepotrzebnyrobot
Disallow: /

User-agent: *
Allow: /

Zakaz pobierania jednej strony internetowej wskazanej po ukośniku:

Disallow: /plik_prywatny.html

Zakaz dostępu do konkretnego obrazu w Grafice Google:

User-agent: Googlebot-Image
Disallow: /obrazy/psy.jpg

Zakaz dostępu do wszystkich obrazów z Twojej witryny w Grafice Google:

User-agent: Googlebot-Image
Disallow: /

Zakaz pobierania plików określonego typu (np. .gif):

User-agent: Googlebot
Disallow: /*.gif$

Zakaz pobierania całej witryny, ale z zezwoleniem na wyświetlanie reklam AdSense na jej stronach – zablokuj dostęp wszystkim robotom oprócz Mediapartners-Google. Strony nie będą widoczne w wynikach wyszukiwania, ale robot Mediapartners-Google wciąż będzie mógł je analizować, by wybrać reklamy do wyświetlenia użytkownikom witryny.

User-agent: *
Disallow: /

User-agent: Mediapartners-Google
Allow: /
Dopasowywanie adresów URL, które kończą się określonym ciągiem – użyj znaku $. Kod w przykładzie blokuje adresy URL z końcówką .xls:
User-agent: Googlebot
Disallow: /*.xls$
Czy ten artykuł był pomocny?
Jak możemy ją poprawić?