1. 苏葳的备忘录首页
  2. 软件

WordPress中Robots.txt的使用问题

wordpress robots.txt seoRobots.txt文件是一种用来告诉搜索引擎哪些页面能够被搜索引擎蜘蛛看到,哪些不可见的手段。因此,Robots.txt文件跟meta name=“robots”标签的用法还是有些区别的。这个标签告诉搜索引擎它所位于的单独页面能否被包含在它们的编录清单里。虽然只是字面上的区别,却非常重要。由此可得出,CODEX上推荐的Robots.txt里面有一些错误,让我来解释一下这些问题。

Google有时会搜索出被Robots.txt阻止,不允许蜘蛛抓取的URL,这似乎不符合Robots.txt的定义。原因是有大量的URL指向它。比如我们搜索XXXX,而XXXX.com做了一个301重定向,指向XXXX.com的新闻版块。然而,XXXX.com的根目录下有robots.txt存在,并且有以下内容:

User-agent: *
Disallow: /

这样一来,搜索结果中XXXX.com的链接不会指向XXXX.com的新闻版块。Google只会在搜索结果中显示XXXX.com,然而这并不是我们想要的结果。这是个我想解释的问题的很好的例子。通过在你的robots.txt中阻止/wp-admin/和/trackback/,你并不能绝对防止它们被搜索出来。

不幸的是,最近/wp-admin/增加到了WordPress核心。在讨论某个问题的时候,我在里面给出了另一个补丁。这个补丁发送一个X-Robots-Tag头,这个头是一个类似于meta name=”robots”标签的HTTP头,将在事实上起到在Google搜索结果中移除所有wp-admin目录内容的效果。

在CODEX推荐的robots.txt中,有另外两段被阻止的东西。/*?,这个将阻止任何以问号结尾的链接,比如所有WordPress中的搜索结果。*/feed/,将阻止所有的feed。第一种做法不太合适,因为如果某人真的链接到了你的WordPress站内搜索结果的话,你就没法得到这个外链的好处了。

所以一个更好的办法是增加<meta name=”robots” content=’noindex,follow”>这样的HTML标签到你的搜索结果页面上。因为他们能帮助页面避免参予搜索结果排名,却能把外链价值传递回来。这就是我的WordPress SEO插件在你启用它时所做的事情。这种方法对wp-admin和login以及注册页面都同样有效。

当然我知道,这跟Google’s guidelines在这个主题中所说的不同。它说:

使用robots.txt来阻止爬取搜索结果页,或其它对于来自搜索引擎的用户来说没有太大价值的自动生成页面。

我会去找谷歌证实一下他们是否会认为我的方案也能接受,甚至更好。

而第二种做法,阻止/feed/是个坏主意,因为一个RSS feed实际上对Google来说是个有效的页面地图。阻止它会使Google无法利用它来发现你网站上的新内容。因此,我所推荐采用的WordPress的robots.txt比CODEX上的要小的多,我只有:

User-Agent: *
Disallow: /wp-content/plugins/

我阻止插件目录是因为一些插件开发者有令人困惑的习惯,在他们的插件目录里放个index.php链接到他们的网站。对于WordPress的其它部份,如上所述,阻止它们有更好的办法。

 

 

原创文章,作者:苏葳,如需转载,请注明出处:https://www.swmemo.com/1849.html

发表评论

您的电子邮箱地址不会被公开。