Seo 如果在数据库中找不到记录,我应该返回404吗?

Seo 如果在数据库中找不到记录,我应该返回404吗?,seo,Seo,我有这样的页面结构一些页面?id=123 有时记录会被删除,但这些页面仍然会被人们和搜索引擎访问。一个问题是我有一个php脚本,没有MVC结构,所以我必须在同一个页面上查询所有数据库,然后才能发现用户记录不存在 那样的话,我应该退回404吗?或者什么是最佳实践 谢谢 404是指找不到某些内容,并且由于找不到正在查找的资源,因此对我来说似乎完全合适。这取决于您是否希望用户留在您的站点上。如果你永久重定向到另一个页面,那么确保你的标题中也有301,这样搜索引擎就不会因为你指向同一页面的链接太多而惩罚

我有这样的页面结构一些页面?id=123

有时记录会被删除,但这些页面仍然会被人们和搜索引擎访问。一个问题是我有一个php脚本,没有MVC结构,所以我必须在同一个页面上查询所有数据库,然后才能发现用户记录不存在

那样的话,我应该退回404吗?或者什么是最佳实践


谢谢

404是指找不到某些内容,并且由于找不到正在查找的资源,因此对我来说似乎完全合适。

这取决于您是否希望用户留在您的站点上。如果你永久重定向到另一个页面,那么确保你的标题中也有301,这样搜索引擎就不会因为你指向同一页面的链接太多而惩罚你

404是可以的,但如果用户的浏览器不呈现任何内容,您将从该页面获得反弹

我个人认为最好的方法是为用户显示一个友好的页面,并为搜索引擎正确设置标题

如果客户机(用户、搜索引擎等)请求的资源不存在且从未存在过,则应返回404状态(“未找到”)

但是,如果请求的资源曾经存在,并且从此被永久删除,则应返回410状态(“已消失”)。410状态特别指出该资源将来将永远不可用,并触发搜索引擎从其索引中删除该页面


如果资源的位置已永久更改,则使用301状态。

是。如果你没有替代品来资本化的话,那是合适的。您最好提供一个类似主题的资源,甚至是一个re direct

是的-但别忘了向访问者提供一些额外的相关内容。找不到url并不意味着访问者应该被忽略。
显示一个自定义的404页与网站的一些其他部分可能会涉及-可能是最受访问的网页,…< / P>是的,404听起来像一个很好的配合。除了标准和开发者的最佳实践,你也应该考虑SEO影响。当你在脚本的一半下来时还行404仍然可以吗?它是如何被搜索引擎输入的?这与你的脚本有多远无关,但如果它已经产生了输出(你应该推迟到你知道记录是否存在)。只有在尚未向浏览器发送任何数据时,才能设置内容类型。如果是这样的话,您可以扔掉所有以前的输出,创建一个漂亮的404页面。如果不是(也就是说,你已经开始发送一个普通的页面),那么你就不能改变已经提交的200。谢谢-我的问题是,在脚本执行的中间发现了资源未被发现的事实。如果我从脚本中间返回410,这仍然有效吗?+1。但是,只有当您知道丢失的资源实际上曾经存在时,才应该这样做,例如,如果数据库仍然具有设置了“已删除标志”的记录。在脚本中的何处实现这一点并不重要,只要(在您的情况下)在某个点返回410状态头。注意。如果您的页面ID是按顺序生成的,那么判断资源是否存在应该很简单,因此返回404还是410也很简单。