【问题标题】:Removing rel canonical added by Yoast SEO plugin删除 Yoast SEO 插件添加的 rel canonical
【发布时间】:2012-05-10 07:37:18
【问题描述】:

在快速谷歌后找不到解决方案,所以我想在这里快速发布一个帖子。

尝试删除自动添加的 rel=canonical 链接(由 Wordpress SEO 插件 - 由 Yoast 添加)。

我实际上希望 google 抓取每个不同的子页面,即使它可能不会离开父页面。

【问题讨论】:

    标签: wordpress


    【解决方案1】:

    rel="canonical" 与爬行无关。它与索引有关,并防止同一页面索引两次或更多次。

    无论如何,如果你仍然想这样做,你可以通过将这段代码添加到你的functions.php来做到这一点:

    add_filter( 'wpseo_canonical', '__return_false' );
    

    来源:https://yoast.com/wordpress/plugins/seo/api/

    【讨论】:

      【解决方案2】:

      你也可以在wordpress conditional tags使用这个

      参考:https://codex.wordpress.org/Conditional_Tags

      // Remove - Canonical for - [Search - Page]
      function remove_canonical() {
      
          // Disable for 'search' page
          if ( is_search() ) {
              add_filter( 'wpseo_canonical', '__return_false',  10, 1 );
          }
      }
      add_action('wp', 'remove_canonical');
      

      删除所有页面的规范。

      // Disable Canonical for - ALL pages
      function remove_canonical() {
          add_filter( 'wpseo_canonical', '__return_false',  10, 1 );
      }
      add_action('wp', 'remove_canonical');
      

      【讨论】:

        【解决方案3】:

        很可能规范不是由 yoast 生成的,有一个 wordpress 内置功能,您可以通过将其添加到主题的 functions.php 来防止它

        remove_action('wp_head', 'rel_canonical');
        

        【讨论】:

          【解决方案4】:
          remove_action('wp_head', 'rel_canonical');
          

          【讨论】:

            【解决方案5】:

            较新版本的 Yoast 忽略了此代码。在 Yoast 15.0 上测试

            // Disable Canonical for - ALL pages
            function remove_canonical() {
                add_filter( 'wpseo_canonical', '__return_false',  10, 1 );
            }
            add_action('wp', 'remove_canonical');
            

            我用过滤器优先级值修复了它。这是工作代码:

            // Disable Canonical for - ALL pages
            function remove_canonical() {
                add_filter( 'wpseo_canonical', '__return_false');
            }
            add_action('wp', 'remove_canonical', -19999);
            

            因为新的 Yoast 版本(如 15.0)使用负优先级来处理插件文件 front-end-integration.php 中的 wpseo_head:

            \add_action( 'wpseo_head', [ $this, 'present_head' ], -9999 );
            

            【讨论】:

              【解决方案6】:

              您还可以禁用 wordpress 的规范网址。 看这里:Desactivar rel=”canonical” de Yoast WordPress SEO o de WordPress

              【讨论】:

              • 请尝试总结您发布的链接的内容,以便您的答案在该链接将来掉到哪里时仍然有用。
              • 您拥有的链接是西班牙语。鉴于Stack Overflow 是一个仅限英文的网站,即使您总结了链接的内容,这样的链接也不是很合适,正如 Amicable 所说,您应该这样做。
              猜你喜欢
              • 1970-01-01
              • 2011-09-26
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2014-10-26
              • 1970-01-01
              • 2023-03-05
              相关资源
              最近更新 更多