Регулярное выражение для robots.txt

#regex #robots.txt

#регулярное выражение #robots.txt

Вопрос:

Я пытаюсь настроить свой robots.txt , но я не уверен насчет регулярных выражений.

У меня есть четыре разные страницы, доступные на трех разных языках. Вместо того чтобы перечислять каждую страницу по 3 раза, я решил, что мог бы использовать регулярное выражение.

page.aspx/changelang

nav.aspx (может содержать прикрепленную строку запроса, такую как «?toLang=fr».)
mypage.aspx?id и
login.aspx/выход из системы (=12346?… и т.д. — каждый раз по-разному)

! Все четыре на 3 разных языках, например:

www.example.com/es/nav.aspx
www.example.com/it/nav.aspx
www.example.com/fr/nav.aspx

Теперь мой вопрос: правильно ли следующее регулярное выражение?

 User-Agent: *
Disallow: /*nav.aspx$
Disallow: /*page.aspx/changelang
Disallow: /*mypage.aspx?id
Disallow: /*login.aspx/logoff
  

Спасибо

Ответ №1:

Регулярные выражения не разрешены в robots.txt , но робот Googlebot (и некоторые другие роботы) может понимать некоторые простые сопоставления с шаблоном:

Ваш robots.txt должно выглядеть так:

 User-agent: *
Disallow: /*nav.aspx$
Disallow: /*page.aspx/changelang
Disallow: /*mypage.aspx?id
Disallow: /*login.aspx/logoff
  

User-agent директива действительна со строчными буквами a . Вам не нужно экранировать . или `/’.

Подробнее об этом можно прочитать здесь: Блокируйте или удаляйте страницы с помощью robots.txt файл