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?


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


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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.