需要登录的网页应该重定向到登录页面还是只显示表单?

Wab*_*son 7 authentication seo redirect login http-status-codes

当网页提供要求用户登录的内容时,有两种方法可以让他们自己进行身份验证:

  1. Web应用程序存储URL,然后重定向到单独的登录页面,然后在成功验证后,它重定向回存储的URL;

  2. 页面显示登录表单(保留在相同的URL)而不是受保护的内容,并且在成功登录操作之后页面刷新并显示真实内容.

我想知道以下内容:

  • 如果我使用选项1,那么使用正确的http状态代码是什么?(302可能是正确的,所以我在这里列出这个问题只是为了完整起见.)
  • 选项2的适当http状态代码是什么?401很诱人,但我不想使用http身份验证.
    • 一个子问题:为什么http身份验证如此罕见?
  • 如何确保抓取工具不会将受保护内容的标题,关键字,说明和其他元数据与登录表单相关联?

实际上这就是我真正想知道的:

  • http状态代码在上述情况下是否重要?使用正确的状态代码是否有任何实用的好处?

Joh*_*nde 2

您想要使用选项 1。这样做的原因是,如果您在每个需要登录的 URL 上显示表单,您将遇到两个问题:

  1. 搜索引擎会认为登录表单是该 URL 的实际内容,而不是真实内容。显然这不是你想要的。
  2. 谷歌会看到所有这些页面重复的内容,这是一件坏事。他们的 Panda 算法专门针对大量重复内容,这可能会导致您的网站作为一个整体因低质量内容而受到惩罚。

正如您已经发现的那样,使用 302 重定向是执行此操作的正确方法。使用正确的状态代码确实很重要。搜索引擎解释其含义,发送错误的状态代码可能会导致负面后果。由于发送正确的 HTTP 状态代码很容易做到,因此绝对值得这样做。