Использование 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-адресов?
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-адресов не будет начинаться ни с одного из правил.