【问题标题】:php seo 404 error in webmaster tool网站管理员工具中的 php seo 404 错误
【发布时间】:2016-09-18 20:04:20
【问题描述】:

我有一个 PHP 站点,其中包含 1000 多个页面... 每天我都会删除 10 多个已经被 GOOGLE 索引的页面....

当访问者来到其中一个页面时,我会检查它是否被删除... 如果删除,我会将用户重定向到搜索页面以开始搜索类似内容... 我正在使用此代码:

if($deleted = true){
    header("HTTP/1.1 301 Moved Permanently");
    header("Location: /products-search.php");
    exit(); 
}

在 GOOGLE 网站管理员工具中,我收到很多此类页面的软 404 错误。 消息说:目标 URL 不存在,但您的服务器没有返回 404(找不到文件)错误。了解更多

我不希望用户收到 404 错误 .... 我需要他去搜索页面 ...

如何解决?

【问题讨论】:

  • 您真的不想使用 301。浏览器会无限期地缓存 301(因为它们是“永久的”),因此如果您最终将该内容放回或重用其 URL,那么您的一些用户会赢无法达到它。这也让搜索引擎感到困惑,因为它应该是 404。为什么不让你的 404 页面显示“你是不是想去这里?”是什么?
  • header("HTTP/1.1 404 Not Found"); 你的比较有用吗? if($deleted=true) ??还是这是一个拼写错误?

标签: php seo search-engine google-search-console


【解决方案1】:

您仍应返回 404,除非您希望稍后将该页面备份。在这种情况下,重定向对于 SEO 来说是个坏主意。

您可以做的是在标题中返回 404,但仍然显示搜索页面:

<?php

header("HTTP/1.1 404 Not Found");

echo "The page you're looking for doesn't exist or was deleted. You can use the search below to find more...";

// include search box here

【讨论】:

  • 能否为我的案例提供代码示例?
  • 我更新了我的答案以将其显示为代码。就这么简单。
  • 不需要位置行( header("Location: /products-search.php");) ?
  • 不,你只需要组织你的代码,这样你就可以从那里包含“products-search.php”。
  • 可以做产品-搜索404页面digitalocean.com/community/tutorials/…
猜你喜欢
  • 2013-11-16
  • 1970-01-01
  • 2011-07-21
  • 1970-01-01
  • 2017-01-18
  • 2011-08-10
  • 2011-04-08
  • 2014-03-25
  • 1970-01-01
相关资源
最近更新 更多