Использование robots.txt чтобы запретить доступ к специальным страницам MediaWiki, используя сопоставление подстрок


Я запускаю Медиавики в домене someurl.com/wiki/. К сожалению, он генерирует кучу автоматически сгенерированных специальных страниц , которые в основном имеют низкое качество, но тем не менее массово сканируются поисковыми системами с такими запросами, как:

/index.php/Special:Whatlinkshere/some_topic или также /index.php?title=Special:Whatlinkshere&target=some_topic где some_topic - это статья вики.

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

Поскольку запросы в основном выполняются "хорошими" движками, такими как Google или Bing, я совершенно уверен, что они будут подчиняться robots.txt . Итак, Я добавил следующее robots.txt в папку базового URL-адреса someurl.com ( Я добавил весь robots.txt, даже несмотря на то, что только строки 1 и 6 имеют отношение к указанным выше запросам):

User-agent: *

Disallow: User:
Disallow: Discussion:
Disallow: MediaWiki:
Disallow: Special:

Disallow: /login.php
Disallow: /profile.php

Disallow: /author/
Disallow: /category/
Disallow: /tag/

Это robots.txt активен для уже около двух дней, и он уже был просмотрен, но все еще есть много запросов на URL-адреса, подобные приведенным выше, которые, как я думал, заблокированы.

Итак, теперь у меня есть следующие вопросы:

1) является ли приведенная выше логика правильной и способна ли она отказывать в доступе (хорошо себя ведущим ботам). Особенно мне интересно, правильно ли Disallow: Spezial: работает в качестве подстановочного знака, чтобы отклонять все запросы, имеющие "Специальное:" в URL или в параметре. Мне также интересно, может ли ":" в "Особом:" быть проблема.

2) Если да, то почему тогда еще нет эффекта? Я считаю, что мне просто нужно дать больше времени, чтобы увидеть эффект?

3) Будет отказывать в robots.txt привести к деиндексации этих сайтов из результатов searchengines? Если нет, то как я могу деиндексировать это огромное количество автоматически сгенерированных URL-адресов?

Author: Stephen Ostermiller, 2015-12-21

1 answers

robots.txt запрещающие правила - это все правила "начинается с", а не правила подстроки.

MediaWiki предлагает использовать это в robots.txt для такого случая, как ваш:

User-agent: *
Disallow: /index.php?
Disallow: /index.php/Help
Disallow: /index.php/MediaWiki
Disallow: /index.php/Special:
Disallow: /index.php/Template
Disallow: /skins/

Google говорит, что он поддерживает более продвинутый синтаксис наряду с некоторыми другими основными поисковыми системами:

Google, Bing, Yahoo и Ask поддерживают ограниченную форму "подстановочных знаков" для значений пути. Это:

  • * обозначает 0 или более экземпляров любого допустимого символа
  • $ обозначает конец URL-адреса

Для этих агентов пользователей вы можете использовать такие правила, как:

Disallow: *Help
Disallow: *MediaWiki
Disallow: *Special:
Disallow: *Template

Другие поисковые роботы в конечном итоге просто проигнорируют эти правила, потому что ни один из ваших URL-адресов не будет начинаться ни с одного из правил.

 2
Author: Stephen Ostermiller, 2015-12-21 11:57:46