重复内容仍然是零售商网站提升自然搜索流量时常见的障碍。
与链接建设、内容营销或内容推广等其他营销活动相比,解决重复内容以提升SEO表现具有以下优势:
- 整合重复内容可快速执行,仅需少量技术更改;
- 实施修正措施后几周内,排名通常会有所提升;
- 需抓取和索引的页面减少,Google能更快发现并收录网站的新更改和改进。
整合重复内容并非为了避免Google惩罚,而是为了构建链接。链接对SEO至关重要,若指向重复页面则无法发挥作用,造成浪费。
重复内容稀释了链接权重
同一内容可通过多个URL访问会稀释声誉。来源:Google。
Google发布的自身网站SEO审计报告(PDF)对此现象提供了最佳解释。
上图上半部分展示了同一产品的三个页面。每个页面都会积累链接及相应页面声誉。搜索引擎仍将第三方网站的链接质量和数量视为背书,并据此决定爬取深度、频率、索引量及排名位置。
主页面(规范页面)的声誉会被其他两个页面分走而稀释。由于内容相同,它们竞争相同关键词,但通常仅一个页面出现在搜索结果中,导致指向其他页面的链接被浪费。
插图下半部分显示,通过整合重复内容,可增加指向规范页面的链接及声誉,从而回收这些价值。
效果可能显著。曾有案例因移除重复内容在一年内实现收入增长45%,不到两个月增加超20万美元。额外收入来自此前因重复内容未获排名且无搜索流量的产品页面。
如何检测重复内容
在Google中输入site:yoursitename.com,检查列出的页面数量即可确定网站是否存在重复内容。
在Google中输入“site:yoursitename.com”检查列出页面数量。
大多数零售商网站的产品页面应占大部分。若Google列出的页面远多于实际产品数量,很可能存在重复内容。
若XML站点地图全面,可使用Google Search Console比较其中索引页面数与索引状态中的总索引页面数。
重复内容示例
家具零售商One Kings Lane在Google中索引超80万页,但存在重复内容问题。
浏览时发现一个蓝色地毯产品页未设置规范标签。搜索产品名称“Fleurs Rug, Blue”时该词排名第一。
尽管未设规范标签,One Kings Lane针对“Fleurs Rug, Blue”仍排名靠前。
点击搜索结果却跳转至另一页面,产品ID不同(4577674对比2747242)。浏览器显示一页,搜索引擎索引另一页,且均未设规范标签。
这可能导致声誉稀释。虽在该词搜索中排名第一,但多数产品页针对数百个关键词排名,稀释会导致可排名的关键词数量远低于应有水平。
然而此例中最大问题是点击结果进入了一个不存在的页面。
点击蓝色地毯搜索结果显示错误页面。
该页面已不存在,Google很可能将其从搜索结果移除。
即使重建页面并赋予新ID,Google也可能需数周才能收录,因为Googlebot需爬取至少80万个页面。
修正重复内容
过时方法是在robots.txt中阻止抓取重复页面,但这不能将声誉整合到规范页面,无法回收链接权重。被屏蔽页面仍会积累链接和声誉,对网站无益。
下文提供使用Apache 301重定向解决常见重复内容问题的方案。开始前需了解永久重定向和规范标签的使用场景。
两者都能整合重复页面,但重定向更有效,因搜索引擎很少忽略它,且被重定向页面无需索引。但不能用重定向整合高度相似内容(如不同颜色的同款产品或多类别列表产品)。
最好的整合是无需操作。例如,与其创建site.com/category1/product1层级,不如直接用site.com/product1,消除多类别产品整合需求。
常见的URL重定向
下文提供解决五种常见重复内容问题的Apache重定向配置方案。
使用mod_rewrite,假设站点已启用该模块:
RewriteEngine On # This will enable the Rewrite capabilities
使用htaccess checker验证重写规则。
协议重复:确保商店仅通过HTTP或HTTPS访问,而非两者皆可。此处强制使用HTTPS:
RewriteEngine On # This will enable the Rewrite capabilities
RewriteCond %{HTTPS} !=on # This checks to make sure the connection is not already HTTPS
RewriteRule ^/?(.*) https://www.webstore.com/$1 [R=301,L]
此检查确保连接尚未使用HTTPS。
此规则还处理罕见的IP重复情况(站点可通过IP地址访问)。
此规则还处理罕见的IP重复情况,即站点也可通过IP地址访问。
后续示例假设整个站点使用HTTPS。
尾部斜杠重复:确保页面仅有带或不带尾部斜杠一种形式。以下是两种情况的实现示例。
添加缺失尾部斜杠的规则:
RewriteEngine On # This will enable the Rewrite capabilities
%{REQUEST_FILENAME} !-f # This checks to make sure we don’t add slashes to files, i.e. /index.html/ would be incorrect
RewriteRule ^([^/]+)/?$ https://www.webstore.com/$1/ [R=301,L]
此规则添加缺失的尾部斜杠。
移除尾部斜杠的规则:
RewriteEngine On # This will enable the Rewrite capabilities
%{REQUEST_FILENAME} !-f # This checks to make sure we don’t add slashes to files, i.e. /index.html/ would be incorrect
RewriteRule (.+)/$ https://www.webstore.com/$1 [R=301,L]
此规则移除多余的尾部斜杠。
文件重复:常见情况是目录索引文件。PHP系统为index.php,.NET系统为default.aspx。需删除以避免重复:
%{REQUEST_FILENAME} -f # This is optional and checks to make sure we are only affecting files
RewriteRule (.*)/?index.php$ https://www.webstore.com/$1 [R=301,L]
此规则移除此目录索引文件。
遗留页面重复:电商系统添加SEO友好URL时,常允许等效非SEO友好URL在不重定向下访问:
RewriteCond %{QUERY_STRING} ^id=([0-9]+) #this makes sure we only do it when there are ids in the URL query strings
RewriteRule ^category/product.php /product-%1.html? [R=301,L] #Note that regular expression matches from a RewriteCond are referenced using % but those in a RewriteRule are referenced using $
此规则阻止非SEO友好URL在无需重定向情况下被访问。
一对一重定向
上述示例假设规范版本和重复版本的产品ID相同,可用单条规则映射所有产品页。但产品ID常不同或新URL不使用ID,此时需一对一映射。
大规模一对一映射和重定向会大幅降低网站速度,经验表明可能慢达10倍。
为解决此问题,使用名为RewriteMap的应用程序。此处使用的特定MapType为DBM类型,是一种哈希文件,允许极快访问。
使用DBM类型MapType时,MapSource是指向包含键值对的DBM数据库文件的文件系统路径。与txt map相同但更快,因DBM有索引而文本文件没有,可更快访问所需键。
过程是将一对一映射保存为文本文件,格式如下。然后用Apache工具httxt2dbm转换为DBM文件,示例如下:
$ httxt2dbm -i productsone2one.txt -o productsone2one.map
创建DBM文件后在重写规则中引用。之前的规则可重写为:
RewriteMap products “dbm:/etc/apache/productsone2one.map” #this maps includes old URLs mapped to new URLs
RewriteCond %{QUERY_STRING} ^id=([0-9]+) #this makes sure we only do it when there are ids in the URL query strings
RewriteRule ^(.*)$ ${products:$1|NOTFOUND} [R=301,L] #this looks up any legacy URL in the map, and 301 redirects to the replacement URL also found in the file
#if the mapping is not in the dbm file, the server will return 404
本质上,引用地图并命名为products,然后在重写规则中使用。若无匹配遗留产品URL则返回404,以便在Google Search Console中找到并添加到地图。若返回相同页面将创建重定向循环。虽有更复杂解决方案,但超出本文范围。

