首页 文章

Mediawiki Sitemap网址受robots.txt限制

提问于
浏览
1

我在我的网站上安装了mediawiki,如下所示: www.mysite.com/w/index.php

我使用短网址方法将网址更改为 mysite.com/wiki

之后,我将其放在robots.txt中以禁止机器人关注链接到 /w/

# prevent spiders from indexing non-article pages
User-agent: *
Disallow: /w/

在将上面的内容添加到robots.txt之前,我参考了此Mediawiki手册链接:http://www.mediawiki.org/wiki/Manual:Robots.txt

这很有用,因为它可以防止僵尸程序抓取编辑页面等等 . 但是,自从我有了这个,现在我有另一个问题,在谷歌网站管理员工具中显示 . 搜索引擎无法抓取位于以下位置的站点 Map : mysite.com/w/sitemap/sitemap-index-xyz_wikidb.xml 这是因为显示"URL restricted by robots.txt"错误的robots.txt文件 .

我一直在网上搜索并意识到robots.txt文件没有"allow"异常 . 那么我如何禁止/ w / url但只允许访问 /w/sitemap/ directory ?我唯一的另一个选择是废除个别网址:

User-agent: *
Disallow: /w/index.php?diff=
Disallow: /w/index.php?oldid=
Disallow: /w/index.php?title=Help
Disallow: /w/index.php?title=Image
Disallow: /w/index.php?title=MediaWiki
Disallow: /w/index.php?title=Special:
Disallow: /w/index.php?title=Template
Disallow: /w/skins/

如果上面的替代方法是我唯一的选择,这是我如何通过在每个index.php网址之前添加 /w/ 来添加网址?喜欢: /w/index.php?etc..etc.. 并列出上面的一个?

1 回答

  • 3

    如果您只关心主要搜索引擎,可以使用Allow指令:

    User-agent: *
    Allow: /w/sitemap/
    Disallow: /w/
    

    这肯定适用于Googlebot和Bingbot . 但是,它不适用于许多老式机器人 . Allow指令不是原始robots.txt标准的一部分,但它在许多现代Web机器人上实现,尤其是搜索引擎爬虫 .

    如果你真的需要它来为老机器人工作,那么你的解决方案就可以了 . 您还可以通过将所有index.php URL组合到一行来清除它:

    User-agent: *
    Disallow: /w/index.php
    Disallow: /w/skins/
    

相关问题