基本上我不想被搜索引擎因“重复内容”而受到惩罚。我担心,在某些情况下,webapp服务器可能会在页面上生成异常,否则会显示正常。
例如,用户可以在互联网上发布以下两个页面的链接:
www.example.org/nice-article
和
www.example.org/even-nicer-article
现在我的网络应用程序通常会返回两个不同的页面,它们应包含很好的内容,这些内容将由Google等编制索引。
我担心的是,在某些情况下,我的webapp服务器在尝试提供这些页面时可能会遇到异常:可能存在我们未在先前版本中捕获的错误,servlet可能因为资源而抛出异常依赖于下降等等。
在这种情况下,据我所知,有一些例外情况正在发生,但我不确定我所做的是正确的。
在我的web.xml中,我有类似的东西:
<error-page>
<exception-type>java.lang.Throwable</exception-type>
<location>/WEB-INF/jsp/error.jsp</location>
</error-page>
和
<error-page>
<error-code>404</error-code>
<location>/WEB-INF/jsp/error.jsp</location>
</error-page>
我不确定我的web.xml是否正确。
我担心的是,在发现异常的情况下,我会显示来自 error.jsp 的消息,告诉“发生内部错误,请稍后再试”但无论出于何种原因,我将其作为普通页面而不是错误页面发送(因此所有损坏的页面都会被引用为“重复内容”,因为它们都会显示或多或少同样的消息)。
基本上我想知道两件事:
当抓取机器人(和客户端的浏览器)试图访问它时,如果资源通常可用,那么我应该抛出什么状态代码(它是500的权利?)
如何配置Tomcat以生成此类状态代码
此外,如果你能解释一下我可以测试它的工作方式会很好:例如我可以 telnet 并查看我是否得到了正确的错误代码?
答案 0 :(得分:1)
您可能希望对临时不可用页面使用503错误。这将告诉任何公平的机器人不可用是暂时的,他们需要稍后回来抓取页面。
web.xml的错误部分对我来说似乎没问题 - 您如何检查是否将该邮件作为“正常页面”发送? (我认为 - 如果我错了,请纠正我 - 意味着你要获得HTTP 200而不是HTTP 404)
答案 1 :(得分:1)
http://support.google.com/webmasters/bin/answer.py?hl=en&answer=181708&topic=1724951&ctx=topic
为不存在的页面返回404或410以外的代码(或将用户重定向到另一个页面,例如主页,而不是返回404)可能会有问题。首先,它告诉搜索引擎该URL上有一个真实的页面。因此,可以对该URL进行爬网并对其内容编制索引。由于Googlebot在不存在的网页上花费的时间,您的唯一网址可能无法快速发现或经常访问,并且您网站的抓取覆盖范围可能会受到影响(此外,您可能不希望您的网站在搜索中排名很好查询[找不到文件])。
我很确定任何错误响应代码的内容都不会被编入索引,因此不应该因一般错误页面上的明显重复内容而惩罚您