我正在检查 Google 搜索结果:“site:mywordpress.org”。并发现许多不应该存在的索引或页面。
这里有两个问题:
我不知道 Google 是如何定位、抓取或发现这些网址的。
Wordpress 不显示 404 错误,因此看起来像是重复的内容。
我尝试了 WordPress 支持论坛,但没有人回复。我也找不到任何人报告这个问题。这是我所看到的一个例子:
mywordpress.org/blog-post/
mywordpress.org/blog-post/1363035032000/
我已经在头部添加了规范链接引用,并且我一直在执行大量 Google WMT 删除请求,但我仍然看到一些像这样的结果。
我已经在一些 WordPress 安装上对此进行了测试,似乎如果您在永久链接的末尾添加任何数字字符串,它仍然会显示内容而不是显示 404 错误。
我还注意到添加到永久链接的数字是 UNIX 时间戳,末尾有几个零。截至本文,当前 UNIX 时间戳为:1363035971。
我正在寻找一些关于我应该做什么的建议。我对 PHP 函数特别感兴趣,它会检查 url 末尾是否有一串数字,如果有,则 301 将其重定向到正确的永久链接。我还希望了解有关 Google 为何发现这些错误网址以及 UNIX 时间戳是否是线索的任何意见。
您是否检查过是否某些插件导致了此问题?另请检查设置 > 永久链接
下的永久链接设置在找到问题根源之前,您可以尝试使用 Redirect 插件来解决它。
这个插件有很多功能,对您的情况重要的两个功能是:
因此,借助正则表达式,您可能能够将带有数字的 URL 重定向到正确的 URL。
我遇到了同样的问题并找到了该问题的解决方案。
只需将其添加到functions.php
add_action( 'template_redirect', 'so16179138_template_redirect', 0 );
function so16179138_template_redirect()
{
if( is_singular() )
{
global $post, $page;
$num_pages = substr_count( $post->post_content, '<!--nextpage-->' ) + 1;
if( $page > $num_pages ){
include( get_template_directory() . '/404.php' );
exit;
}
}
}
我在 2024 年也遇到了同样的事情。不存在的页面正在被索引。我不是编码员,但想知道 WordPress 是否有办法解决这个问题?