WordPress子类别为同一页面创建2个URL(严重问题)

时间:2015-08-20 作者:Jacob

WordPress中的所有子类别都会创建两个指向同一页面的URL。

domain.com/parentcat/childcat/

domain.com/childcat/

两个URL都指向同一页。在谷歌看来,这是重复的内容。

WordPress重定向域似乎是合乎逻辑的。com/childcat/to域。com/parentcat/childcat/

使用WordPress 4.3无插件。

我似乎在任何地方都找不到解决办法。任何帮助都将不胜感激。

2 个回复
SO网友:webtoure

这可能会有点要求很高,因此下面的代码片段应该为您研究和构建更完整的解决方案提供基础:

add_action( \'template_redirect\', function() {
    if ( is_category() ) {      
        $term = get_queried_object();

        if ( isset( $term->parent ) && $term->parent ) {
            global $wp;

            $request_url = trailingslashit( get_site_url( get_current_blog_id(), $wp->request ) );
            $link = get_term_link( $term );

            if ( ! is_wp_error( $link ) ) {
                if ( strpos( $request_url, trailingslashit( $link ) ) !== 0 ) {
                    wp_safe_redirect( $link, 301 ); 
                }                   
            }
        }
    }
} );
此解决方案也可用于分页,但如果您试图访问“不正确”的子类别分页URL,它将重定向到分页的开始处(http://www.example.com/category/child/page/2/ 将重定向到http://www.example.com/category/parent/child/ -- 这可以通过检查是否有分页请求并相应地构建重定向链接来解决)

SO网友:Milad Jafari

我对这个话题有很大的困惑,这让我很头疼,有人请帮我澄清一下。

我在wocommerce上有这种情况(与WordPress的帖子结构没有什么不同)

如果我有a类和B类产品,我们有两种URL形式:

第一种形式是:现场地址/店铺/A类/子类-B

第二种形式是:站点地址/店铺/子类别-B

现在是我的困惑:这是一个真正的重复,它真的对SEO有害,还是这只是一个神话?如果我从来没有在我的网站上提到过这个URL,搜索引擎爬虫真的会找到第二种形式的URL吗?

如果这对SEO不好,如果我不想在我的wordpress站点中使用自定义代码,我应该阻止使用子类别吗?

任何帮助都将不胜感激,谢谢

结束

相关推荐

带有POST_TITLE的动态引导选项卡不显示_CONTENT

我正在尝试使用引导选项卡创建以下选项卡系统:每个选项卡都有\\u标题(文章标题),单击每个选项卡,即可显示内容。到目前为止,我已经正确列出了所有选项卡,第一个选项卡显示了良好的内容。但是,单击另一个选项卡时,内容不会更改为显示它应该显示的内容。我想我需要为此提供一个类post ID,并将Href链接到同一个类post ID。下面是我尝试使用的代码-未成功:(:<?php get_header(); ?> <div class=\"container \">&#x