У меня есть несколько страниц на моем сайте, от которых я не хочу заниматься поисковыми системами, поэтому я запретил их в своем robots.txt
файле следующим образом:
User-Agent: *
Disallow: /email
Однако недавно я заметил, что Google по-прежнему иногда возвращает ссылки на эти страницы в результатах поиска. Почему это происходит, и как я могу это остановить?
Фон:
Несколько лет назад я сделал простой веб-сайт для клуба, в который был вовлечен мой родственник. Они хотели, чтобы на их страницах были ссылки на электронную почту, поэтому, чтобы эти адреса электронной почты не попадали на слишком много списки спама, вместо использования прямых mailto:
ссылок, я сделал так, чтобы эти ссылки указывали на простой скрипт переадресации / перехватчика адресов, работающий на моем собственном сайте. Этот сценарий возвращает либо перенаправление 301 на фактический mailto:
URL-адрес, либо, если обнаружен подозрительный шаблон доступа, страницу, содержащую множество случайных поддельных адресов электронной почты и ссылки на другие подобные страницы. Чтобы не допустить легитимных поисковых роботов в ловушку, я установил robots.txt
приведенное выше правило, запрещающее все пространство как легальных ссылок перенаправителя, так и страниц ловушек.
Совсем недавно, однако, один из людей в клубе искал в Google свое собственное имя и был весьма удивлен, когда одним из результатов на первой странице стала ссылка на скрипт перенаправителя, за которым следовал заголовок, состоящий из их адреса электронной почты. по моему имени Конечно, они сразу же отправили мне электронное письмо и хотели узнать, как получить свой адрес из индекса Google. Я тоже был весьма удивлен, так как я не знал, что Google вообще будет индексировать такие URL, по-видимому, в нарушение моего robots.txt
правила.
Мне удалось отправить запрос на удаление в Google, и он, кажется, сработал, но я хотел бы знать, почему и как Google обходит это robots.txt
, и как сделать так, чтобы ни одна из запрещенных страниц не отображалась на их результаты поиска.
Ps. Я действительно нашел возможное объяснение и решение, которое я опубликую ниже, при подготовке этого вопроса, но я решил спросить его в любом случае на случай, если у кого-то еще может возникнуть такая же проблема. Пожалуйста, не стесняйтесь размещать свои собственные ответы. Мне также было бы интересно узнать, делают ли это и другие поисковые системы, и работают ли те же решения для них.
источник
robots.txt
файл, как маленький знак «Посторонним вход воспрещен» рядом с чьей - то дороги. Это не волшебство, и (если посетитель явно не ищет его) они могут забраться на вашу собственность, даже не будучи слегка затронутым ее существованием. Есть интернет-эквиваленты прожекторов и колючей проволоки, но если это то, что вы хотите,robots.txt
не так ли.Ответы:
Похоже, что Google намеренно включает URL-адреса, запрещенные в
robots.txt
их индексе, если есть ссылки на эти URL-адреса с других страниц, которые они сканировали. Чтобы процитировать их справочные страницы Инструментов для веб-мастеров :По всей видимости, Google интерпретирует
Disallow
директивуrobots.txt
как запрет на сканирование страницы, а не на ее индексацию . Я полагаю, что это технически правильное толкование, даже если оно попахивает мне правилами.В этой статье интервью Мэтт Каттс из Google дает немного больше информации и дает разумное объяснение, почему они делают это:
Решение, рекомендованное на обеих этих страницах, заключается в добавлении
noindex
метатега к страницам, которые вы не хотите индексировать. (X-Robots-Tag
Заголовок HTTP также должен работать для страниц, отличных от HTML. Однако я не уверен, работает ли он с перенаправлениями.) Как это ни парадоксально, это означает, что вы должны разрешить роботу Googlebot сканировать эти страницы (либоrobots.txt
полностью удалив их , либо добавив отдельный, более разрешающий набор правил для робота Googlebot), поскольку в противном случае он не сможет увидеть метатег в первую очередь.Я отредактировал свой скрипт перенаправления / ловушки для пауков, чтобы отправить метатег и
X-Robots-Tag
заголовок со значением,noindex,nofollow
и позволил роботу Googlebot сканировать URL-адрес скрипта в моемrobots.txt
. Посмотрим, сработает ли это, как только Google реиндексирует мой сайт.источник
Это правда, что хотя это должно помешать Google (и хорошим ботам) сканировать эти страницы и читать их содержимое, они все равно могут показывать ссылку только для URL в поисковой выдаче, если они связаны, в форме:
Как видите, заголовка или описания нет, это буквально просто URL. Естественно, результаты такого типа обычно не включаются в результаты поиска, если вы явно не ищете их.
И, как вы упоминаете в своем ответе, если вы не хотите, чтобы URL вообще появлялся в поисковой выдаче, вам нужно разрешить роботов, но включить метатег noindex.
источник