Czy w pliku robots.txt można stosować wykluczanie?

Czy w pliku robots.txt można stosować wykluczanie?

Plik robots.txt pozwala oczywiście na blokowanie katalogów przy jednoczesnym odblokowaniu poszczególnych elementów nim zawartych (dokumentów i podkatalogów).

Przykład:

User-agent:*

Disallow: /test/
Allow: /test/odlokowana-podstrona-1.html
Allow: /test/odlokowana-podstrona-2.html
Allow: /test/odblokowany-katalog/

Możliwa jest ma się rozumieć również sytuacja odwrotna, a więc blokowanie pojedynczych dokumentów i katalogów wewnątrz dostępnego dla robota katalogu.

Przykład:

User-agent:*

Disallow: /test/odlokowana-podstrona-1.html
Disallow: /test/odlokowana-podstrona-2.html

Disallow: /test/odblokowany-katalog/

Możliwe jest dowolne przeplatanie i zagnieżdżanie instrukcji blokowania fragmentów strony. Warto pamiętać, że w robots.txt możliwe jest stosowanie gwiazdki *. Jej oznacza mniej więcej tyle co „dowolny ciąg znaków”.

Przypadek nietypowy.

Przykład:

Allow: /test/
Allow: /test/odlokowana-podstrona-1.html
Allow: /test/odlokowana-podstrona-2.html
Allow: /test/odlokowana-podstrona-3.html
Disallow: /test/*

UWAGA! Powyższy przykład przez niektóre walidatory plików robots.txt jest interpretowany w następujący sposób: Zablokuj wszystkie dokumenty i podkatalogu w katalogu /test/ z wyjątkiem 3 wymienionych plików i adresu katalogu głównego. Jest to interpretacja błędna!

W rzeczywistości powyższy ciąg linii powoduje odblokowanie tylko trzech dokumentów html, natomiast linia Disallow: /test/* nadpisuje (blokuje) wszystkie pozostałe dokumenty oraz adres samego katalogu /test/. Gwiazdka oznacza zatem nie tylko dowolny znak, ale również brak znaku.