Tworzenie pliku robots.txt

Pierwsze kroki

Plik robots.txt znajduje się w katalogu głównym witryny. W przypadku witryny www.example.com plik robots.txt znajduje się pod adresem www.example.com/robots.txt. Ma on format zwykłego tekstu i jest zgodny ze standardem Robots Exclusion Protocol. Plik robots.txt zawiera co najmniej 1 regułę. Każda reguła blokuje (lub umożliwia) dostęp określonego robota do wskazanego pliku w danej witrynie.

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

# Group 1
User-agent: Googlebot
Disallow: /nogooglebot/

# Group 2
User-agent: *
Allow: /

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

Wyjaśnienie:

  1. Klient użytkownika o nazwie „Googlebot” nie może indeksować katalogu http://example.com/nogooglebot/ ani żadnych podkatalogów.
  2. Wszystkie inne klienty użytkownika mogą indeksować całą witrynę. (Tę regułę można było pominąć – rezultat byłby taki sam, ponieważ pełny dostęp jest dozwolony z założenia).
  3. Plik mapy witryny znajduje się pod adresem http://www.example.com/sitemap.xml.

Więcej przykładów znajdziesz w sekcji Składnia.

Podstawowe wytyczne związane z plikiem robots.txt

Tutaj znajdziesz podstawowe wskazówki dotyczące pliku robots.txt. Zalecamy zapoznanie się z pełną składnią plików robots.txt – nawet małe zmiany mogą skutkować odmiennym zachowaniem określonego robota.

Format i lokalizacja

Do utworzenia pliku robots.txt możesz użyć prawie każdego edytora tekstu. Musi on umożliwiać tworzenie standardowych plików tekstowych 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 musi się nazywać robots.txt.
  • Witryna może mieć tylko 1 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 mieć lokalizację http://www.example.com/robots.txt. Nie można go umieścić w podkatalogu (na przykład http://example.com/pages/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 WWW. 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 (np. http://website.example.com/robots.txt) lub portów niestandardowych (np. http://example.com:8181/robots.txt).
  • Komentarze to dowolne treści występujące po znaku #.

Składnia

  • Plik robots.txt musi być plikiem tekstowym zakodowanym w formacie UTF-8 (który obejmuje kod ASCII). Używanie innych zestawów znaków nie jest możliwe.
  • Plik robots.txt zawiera co najmniej 1 grupę.
  • Każda grupa składa się z wielu reguł lub dyrektyw (instrukcji), przy czym w 1 wierszu może znajdować się 1 dyrektywa.
  • Grupa zawiera te informacje:
    • do kogo ma zastosowanie grupa (do jakiego klienta użytkownika),
    • do których katalogów lub plików klient użytkownika może uzyskać dostęp,
    • do których katalogów lub plików klient użytkownika nie może uzyskać dostępu.
  • Grupy są przetwarzane od góry do dołu, a klient użytkownika jest dopasowywany tylko do jednego zestawu reguł – do pierwszej najmocniej sprecyzowanej reguły, która się do niego odnosi.
  • Z założenia klient użytkownika może indeksować 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: /file.asp ma zastosowanie do witryny http://www.example.com/file.asp, ale do witryny http://www.example.com/FILE.asp już nie.

W plikach robots.txt są używane te dyrektywy:

  • User-agent: [wymagana, co najmniej 1 na grupę] dyrektywa określa nazwę automatycznego klienta znanego jako robot wyszukiwarki, do którego odnosi się reguła. Jest to pierwszy wiersz każdej reguły. Nazwy klientów użytkownika Google znajdziesz na tej liście. Użycie gwiazdki (*) jak w przykładzie poniżej 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ć jednoznacznie. Przykłady:
    # Example 1: Block only Googlebot
    User-agent: Googlebot
    Disallow: /
    
    # Example 2: Block Googlebot and Adsbot
    User-agent: Googlebot
    User-agent: AdsBot-Google
    Disallow: /
    
    # Example 3: Block all but AdsBot crawlers
    User-agent: *
    Disallow: /
  • Disallow: [w regule wymagany jest co najmniej 1 wpis Disallow lub Allow] katalog lub strona domeny głównej, które nie powinny być indeksowane 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 /.
  • Allow: [w regule wymagany jest co najmniej 1 wpis Disallow lub Allow] katalog lub strona domeny głównej, które powinny być indeksowane przez wspomnianego klienta użytkownika. Pozwala zastąpić instrukcję Disallow, aby zezwolić na pobieranie podkatalogów lub witryn zlokalizowanych w katalogu objętym instrukcją „Disallow”. W przypadku pojedynczej strony należy podać jej pełną nazwę widoczną w przeglądarce. W przypadku katalogu reguła powinna kończyć się znakiem /.
  • Sitemap: [element opcjonalny, niewymagany w pliku] lokalizacja mapy witryny. Adres URL mapy witryny musi być w pełni kwalifikowanym adresem URL. Google nie zakłada ani nie sprawdza wariantów adresów http/https, www / bez www. Użycie mapy witryny to dobry sposób, żeby wskazać robotowi Google treści, które powinien indeksować, oraz te, które może lub których nie może indeksować. Więcej informacji o mapach witryny Przykład:
    Sitemap: https://example.com/sitemap.xml
    Sitemap: http://www.example.com/sitemap.xml

Wszystkie dyrektywy oprócz sitemap obsługują symbol wieloznaczny *, którego można użyć jako prefiksu, sufiksu lub całej ścieżki.

Wiersze, które nie pasują do żadnej z tych dyrektyw, są ignorowane.

Kolejny plik przykładowy

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

# Block googlebot from example.com/directory1/... and example.com/directory2/...
# but allow access to directory2/subdirectory1/...
# All other directories on the site are allowed by default.
User-agent: googlebot
Disallow: /directory1/
Disallow: /directory2/
Allow: /directory2/subdirectory1/

# Block the entire site from anothercrawler.
User-agent: anothercrawler
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.

User-agent: *
Disallow: /
Zakaz pobierania katalogu i jego zawartości – wpisz nazwę katalogu i ukośnik. Pamiętaj, aby 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: /calendar/
Disallow: /junk/
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: Unnecessarybot
Disallow: /

User-agent: *
Allow: /

Zakaz pobierania jednej strony internetowej wskazanej po ukośniku:


User-agent: *
Disallow: /private_file.html

Zakaz dostępu do konkretnego obrazu w Grafice Google:


User-agent: Googlebot-Image
Disallow: /images/dogs.jpg

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


User-agent: Googlebot-Image
Disallow: /

Zakaz indeksowania 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, oraz zablokowanie dostępu 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ć, aby wybierać 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$