WordPress模板插件定制

您现在的位置是:首页 > WordPress教程WordPress教程

为什么WordPress文章重复收录?

查看 WP集市 的更多文章WP集市 2025-08-21 【WordPress教程】 623人已围观

最近后台总有人问,“我WordPress博客怎么同一篇文章被百度收录了好几个链接?”这事儿吧,看着小,其实坑大了——权重分散、排名掉,严重的还可能被搜索引擎当成“作弊”。今儿咱就掰开揉碎,从代码到设置,给你讲明白为啥会重复收录,以及怎么干回去!

一、元凶1:URL参数像“狗皮膏药”,沾住就甩不掉

先说个最常见的坑:URL参数太多!比如你开了“分页阅读”,文章就多了个?page=1;开了“评论排序”,又多了个?sort=time;甚至插件自动加的?utm_source=xxx,这些带参数的链接,内容跟原链接一模一样,但搜索引擎眼里,它们是“不同页面”,可不就都收录了?

举个栗子:你原文链接是https://example.com/wordpress-seo,结果后台一查收录,好家伙,https://example.com/wordpress-seo?page=1https://example.com/wordpress-seo?sort=hot全冒出来了,一篇文章收录了五六个版本,权重直接被稀释成清汤寡水!

怎么治? 两步走:

  1. 用robots.txt屏蔽“垃圾参数”
    在网站根目录的robots.txt里加上这段,告诉爬虫别理这些参数链接:

    User-agent: *
    Disallow: /*?page=  # 屏蔽分页参数
    Disallow: /*?sort=  # 屏蔽排序参数
    Disallow: /*?utm_   # 屏蔽追踪参数(如果用了)

    (注意:只屏蔽“真·垃圾参数”,像?s=关键词这种搜索页别乱禁,不然站内搜索功能就废了!)

  2. 给“亲儿子链接”发“身份证”
    技术上叫canonical标签,说白了就是告诉搜索引擎:“别看那些花里胡哨的参数链接,这个干净的才是我亲儿子!”
    在主题的header.php里找到<head>标签,插这段代码:

    <?php
    // 获取当前页面URL,然后扒掉讨厌的参数
    $current_url = home_url(add_query_arg(array()));
    $clean_url = remove_query_arg(array('page', 'sort', 'utm_source'), $current_url);
    ?>
    <link rel="canonical" href="<?php echo esc_url($clean_url); ?>" />

    这段代码会自动生成“无参数版URL”,比如把https://example.com/post?page=2canonical指向https://example.com/post,爬虫一看就知道:“哦,原来这个才是正版!”

二、元凶2:静态化插件“好心办坏事”

很多人用WordPress都会装缓存插件,比如WP Rocket、LiteSpeed Cache,这些插件能加速网站,但要是配置翻车,分分钟给你整出“一鱼多吃”的URL。

我之前帮一个客户看站,他开了“固定链接”用“文章名”(就是/post-name这种),结果服务器rewrite规则没配好,导致/post-name/index.php?p=123(老版ID链接)都能访问,这俩页面内容一模一样!更坑的是,缓存插件还把这俩URL都生成了静态文件,搜索引擎爬的时候,“哟,俩链接内容一样,都收录了吧!”

怎么查? 随便找篇文章,复制标题去百度搜,要是搜出来好几个不同URL但内容一样的结果,十有八九是这问题。

解决办法: 让“野链接”强制跳转到“正版链接”!
如果用Apache服务器,在根目录的.htaccess里加这段rewrite规则:

RewriteEngine On
RewriteBase /
# 把/index.php?p=123这种ID链接,301跳转到/post-name
RewriteCond %{QUERY_STRING} ^p=(\d+) [NC]
RewriteRule ^index\.php$ /%1? [R=301,L]

%1会自动匹配ID对应的文章名链接,比如p=123跳转到/post-123

要是用Nginx服务器,就在nginx.conf里加:

if ($query_string ~ "^p=(\d+)$") {
    return 301 $scheme://$host/$1;
}

这么一改,用户访问/index.php?p=123会直接跳转到/post-123,搜索引擎再爬就只有一个URL了,完美!

三、元凶3:你自己“偷懒”复制内容

别笑!真有这种情况——比如把旧文章改个标题就发,或者在“相关文章”里直接复制大段原文,导致多个页面内容高度相似,搜索引擎可能误判为“重复页面”。

举个例子:你写了篇《WordPress提速教程》,过两天又写《WordPress优化指南》,里面80%内容是复制粘贴的,这俩文章URL不同但内容像双胞胎,搜索引擎可不就都收录了?

怎么破? 除了老老实实写原创,次要页面可以用noindex标签“劝退”爬虫。比如侧边栏的“相关文章”,单个item可以加:

<meta name="robots" content="noindex, follow" />

noindex是告诉爬虫“别收录我”,follow是“但可以爬我里面的链接”,这样既不浪费收录名额,又能让爬虫顺着链接爬主页面,一举两得!)

最后说句大实话

重复收录这事儿,说难不难,说简单也得细心。核心就一个:让同一内容只有一个“官方URL”,别给搜索引擎出选择题。按上面的方法,先查参数,再看静态化,最后扫一遍内容相似度,不出三天,你再用site:你的域名在百度搜,保准那些乱七八糟的重复链接就慢慢消失了。

要是还搞不定?评论区喊我,老司机在线拧螺丝!

Tags:

WordPress模板插件定制