Czy możemy użyć wyrażenia regularnego w pliku robots.txt do blokowania adresów URL?

23

Mam kilka dynamicznie generowanych adresów URL.

Czy mogę użyć wyrażenia regularnego, aby zablokować te adresy URL w pliku robots.txt?

Sudheera Njs
źródło
Warto również ustawić metatagi robotów na stronach, których nie chcesz indeksować / indeksować.
Andrew Lott,
@AndrewLott W moim przypadku mam ponad 500 stron, więc pomyślałem, że użyj wyrażenia regularnego w
pliku
Zatem reguła w kodzie witryny jest prawdopodobnie bardziej pomocna.
Andrew Lott,

Odpowiedzi:

27

Wyrażenia regularne nie są poprawne w pliku robots.txt, ale Google, Bing i niektóre inne boty rozpoznają pewne dopasowanie wzorca.

Powiedz, że jeśli chcesz zablokować wszystkie adresy URL, które mają exampledowolne miejsca w adresie URL, możesz użyć wpisu z symbolem wieloznacznym *

User-agent: *
Disallow: /*example

Możesz także użyć znaku dolara $, aby określić, że adresy URL muszą kończyć się w ten sposób. Więc jeśli chcesz zablokować wszystkie adresy URL, które kończą się example, ale nie adresy URL, które mają exampleinne adresy URL, możesz użyć:

User-agent: *
Disallow: /*example$

Więcej informacji dogłębne dla Google można znaleźć tutaj: Robots.txt Specyfikacje , Bing tutaj: Jak utworzyć plik robots.txt i jest interaktywny przewodnik na Moz tutaj

Max
źródło
Idealne, * działa dobrze, Testowane w narzędziu web master .. Dzięki Max ... :)
Sudheera Njs
Przestrzegam przed używaniem zbyt fantazyjnych dyrektyw w pliku robots.txt; są one naprawdę bardzo trudne do późniejszego debugowania. Staraj się, aby wszystko było tak proste, jak to możliwe. Pamiętaj również, że w pliku robots.txt rozróżniana jest wielkość liter, dlatego może być konieczne dodanie alternatywnych wersji dyrektyw w zależności od witryny.
John Mueller,
byłoby miło, gdyby regex był obsługiwany
SuperUberDuper 14.04.16