跳到主要内容

WordPress的大多数新模板都存在一个主要问题,希望您将主页设置为Your Latest Posts。

这是为了使许多出色的主题功能都可以使用。

问题在于,首页(即使不是博客页面)也被wordpress核心和yoast seo视为页面实体。

那么这是什么意思?

www.mysite.com如果您访问页面并查看所看到的源代码,就会有一个主页rel=”next” href=”hxxps://www.mysite.com/page/2/”

如果您实际上单击该/ page / 2链接,则会看到它带您直接回到首页,但这次,如果您查看它现在具有的源代码rel=”prev” href=”hxxps://www.mysite.com/”,rel=”next” href=”hxxps://www.mysite.com/page/3/”

如果你点击链接到/page/3/现在,并再次检查源代码,你会看到rel=”prev” href=”hxxps://www.mysite.com/page/2/”和rel=”next” href=”hxxps://www.mysite.com/page/4/”

这种情况不断发生,最终用户永远不会看到,但是对于搜索引擎尤其是谷歌来说非常不利,他们可能会将其视为重复内容。

我已经与Yoast就此问题进行了几周的支持会谈,他们坚持认为这是一个主题问题,并责怪主题开发人员未正确使用wp_enqueue。我相信在大多数情况下是这样,但这也意味着那里大多数最受欢迎的wordpress主题都存在同样的问题。

目前唯一的解决方法是进入wordpress中的阅读设置,并将首页设置为static page,将帖子页设置为your posts page。很简单,但是您失去了一个真正出色的模板的所有出色功能,您花了一周的时间进行自定义甚至为此付出了高昂的代价。

因此,尽管这可能是一个解决方案,但它并不是真正的解决方案,而且似乎大多数主题开发人员都不知道如何解决此问题。

我过去的主题蛋彩画遇到了这个问题,我改用了几个新主题GraphPaperPress,然后又尝试了一种最受欢迎​​的主题Zerif,它们都遇到了这个问题。

我已经尝试过在functions.php中使用各种代码片段,但我可以使rel = next和rel = prev不在首页显示,但是它也无法在其他所有页面上正常工作,例如/ blog /页面,您需要这些元链接,并且在所有类别页面上也需要rel = next和rel = prev链接,以告知搜索引擎继续更深入地搜索。

我可以将其切换到静态首页,并获得外观不错的首页,类似于主题动态首页,但是功能太多了,它不得不减少使用它的压力,尤其是在所有出色的ajaxy和今天有可用的视差功能。

因此,实际上有一个简单的功能可以将其仅从主页中删除,但可以将其显示在/ blog / / category1 / / category2 /等页面上

这是我已经尝试过的一些方法,但我只是没有正确地执行条件语句,或者我在做其他错误,但是现在诊断此问题已经太久了,我想我肯定会失去理智。

答案是将下面代码添加到当前WordPress主题的函数文件中:

function bg_disable_front_page_wpseo_next_rel_link( $link ) {
    if ( is_front_page() ) {
        return false;
    }

    return $link;
}
add_filter( 'wpseo_next_rel_link', 'bg_disable_front_page_wpseo_next_rel_link' );

您必须返回$ link,如果不返回任何内容,它将禁用每个页面…

回到顶部