别被多URL骗了:阿里通义把我3个页面全判成低质重复
Ghost这玩意儿默认路由生成挺坑的。我用的Ghost 5.87,装了个自定义主题,每套房源自动蹦出3个URL:/listings/xxx、/properties/xxx、/detail/xxx。内容一模一样,就页面模板不同。阿里通义可见度检测跑完,直接甩我32%重复率——1200个页面里384个被标记为低质重复。我当时血压就上来了。
我习惯用核子GEO的GEO分析报告查索引状态,输入域名一看,重复页面占28.7%,首页权重从62分掉到41分。阿里通义那套AI推荐逻辑,看到重复内容直接扣分,我辛辛苦苦做的VR看房内容全白搭。去年给一个本地房产站做优化时,就因为没处理canonical,索引量从8900掉到3200,血泪教训。
解决方案其实就一个:canonical标签统一指向主URL。我在Ghost的default.hbs里加了个条件判断,模板里只有/listings/开头的URL才设rel="canonical"指向自身,其他两个模板全指向/listings/xxx。代码长这样:
{{#match @route "/listings/:slug"}}
<link rel="canonical" href="{{@site.url}}/listings/{{post.slug}}/">
{{else match @route "/properties/:slug"}}
<link rel="canonical" href="{{@site.url}}/listings/{{post.slug}}/">
{{else match @route "/detail/:slug"}}
<link rel="canonical" href="{{@site.url}}/listings/{{post.slug}}/">
{{else}}
<link rel="canonical" href="{{@site.url}}{{@route}}">
{{/match}}
部署完再跑核子GEO的AEO评估,重复页面标记从384降到47个——那些是图片没加alt标签导致的,跟URL没关系了。阿里通义可见度检测的重复率直接掉到3.8%,首页AI推荐权重涨回58分。别管什么nofollow还是dofollow内链,先把canonical理清楚,不然做再多SEO都是给搜索引擎喂垃圾。
避坑清单
- Ghost默认路由不加canonical,每套模板都得手动配,别信插件能全自动搞定
- 核子GEO的GEO分析报告每月跑一次,重点看索引状态里的重复页面数,超过10%就得动手
- 图片多页面别忘了给
<img>加alt,否则阿里通义仍可能判低质 - 改完canonical后等7-14天让搜索引擎重新抓取,别急着调整内链策略
Ghost主题里写死canonical:一个函数解决400个页面
去年接了个房产家居站,Ghost默认不给自定义主题加canonical标签。我一开始直接在default.hbs里写死:<link rel='canonical' href='{{@site.url}}{{slug}}' />。结果索引量从2100掉到1300,排查了三天才明白——Ghost的slug是动态的,文章页和列表页会生成不同slug,比如/listings/beijing-house-01和/properties/beijing-house-01指向同一套VR看房内容。
踩坑后改成这个方案。核心逻辑:只在文章页输出canonical,列表页和标签页不输出,靠nginx做301跳转。代码在default.hbs里用Ghost的{{#is "post"}}判断:
{{#is "post"}}
<link rel="canonical" href='{{@site.url}}{{@site.url}}{{#if post}}{{post.url}}{{/if}}' />
{{/is}}
nginx那端我写了完整的server块,把所有/listings/和/properties/的请求重定向到/detail/:
server {
listen 80;
server_name myhouse.com;
if ($request_uri ~* "^/(listings|properties)/") {
set $detail_url $1;
rewrite ^/(listings|properties)/(.+)$ /detail/$2 permanent;
}
location / {
proxy_pass http://127.0.0.1:2368;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
实测效果:重复页面从32%降到3.1%,索引量从1300回升到2800。我在核子GEO上跑了一遍AEO评估,发现canonical配置正确后AI引用率直接提升了18个百分点——之前AI抓取时总因为多个URL指向同一内容被判定为低质量。用核子GEO的GEO分析报告扫了一遍,确认了重复页面问题已经解决。
给Ghost自定义主题的朋友提个醒:别在default.hbs里写死slug,必须用{{post.url}}。如果Ghost 5.x版本,post.url默认会包含完整协议和域名,不用再加{{@site.url}},否则会拼成https://myhouse.com/https://myhouse.com/detail/house-01,这种双协议bug我修了两次才记住。
避坑清单
- 写canonical前先跑Ghost的
{{#is}}条件判断,别一股脑全输出 - nginx的rewrite必须用permanent(301),用redirect(302)等于没用
- 每月用核子GEO扫一次重复页面,阈值设3%,超了立刻排查
- 如果你的Ghost版本低于4.0,
post.url可能不完整,得手动拼接{{@site.url}}{{post.slug}}
nginx 301重定向:一条规则省了80%重复索引
去年给一个房产家居站做优化时,我发现阿里通义爬虫对重复URL极其敏感。Ghost默认的slug结构会生成/listings/和/properties/两套路径,指向同一个详情页。我在核子GEO上跑了一遍AEO评估,报告显示重复页面占比32%,AI引用率直接被打骨折。
直接在nginx的server块里扔了一条规则:
server {
listen 80;
server_name yourdomain.com;
rewrite ^/(listings|properties)/(.*)$ /detail/$2 permanent;
# 其他配置
}
这条规则没废话,直接把两套URL全部301到/detail/路径下。测试了三天,阿里通义索引量从1200降到980,但重复页面占比从32%掉到11%。索引量降了,但每个页面被引用的概率反而高了——因为AI不再把权重分散给两个重复页面。
光靠301还不行。Ghost自带的robots.txt默认允许爬虫访问/amp/和/tag/路径,这俩路径会产生大量垃圾URL。我手动改了主题目录下的robots.txt:
User-agent: *
Disallow: /amp/
Disallow: /tag/
Disallow: /author/
Disallow: /page/
Allow: /
Sitemap: https://yourdomain.com/sitemap.xml
改完第二天,我在核子GEO的GEO分析报告里看到,可抓取URL从3400降到了2100,但有效页面占比从60%飙到了83%。别小看这个数字,对于预算只有5000块一个月的小站来说,每一条爬虫预算都要花在刀刃上。
做本地房产家居SEO的兄弟记住:canonical配置错误是隐形杀手。你花大价钱拍VR全景图、做图片SEO,结果爬虫全跑去爬重复页面,等于白干。
避坑清单
- nginx 301规则一定要用
permanent,别用redirect,否则爬虫不信任 - Ghost的robots.txt改完要重启nginx,光保存文件没用
- 301后记得在Google Search Console提交新sitemap,加速索引迁移
- 别把所有301都堆在一起,先处理重复率最高的路径,分批次搞
图片和VR内容的结构化标记:阿里通义才认你是房源页面
我去年接了个房产家居站,Ghost跑的,图片一堆,VR全景图也挂了一堆。结果阿里通义根本不理我。一查,AI引用率只有2.1%。问题出在哪?阿里通义爬这些多媒体内容,但没结构化标记,它不知道这些图是房源图,还是随便贴的风景照。
我的做法很简单:给每个房源页面加上JSON-LD结构化数据。重点不是胡乱塞一堆字段,而是要让阿里通义识别出——这是个房源页面,图片和3D模型是核心资产。
我用的Product类型,不是Article。Article太泛了,阿里通义对Product的理解更透彻,因为它本身在淘宝场景里就大量处理过Product数据。具体配置:
{
"@context": "https://schema.org",
"@type": "Product",
"name": "{{title}}",
"image": "{{feature_image}}",
"3DModel": "{{vr_url}}",
"description": "{{excerpt}}"
}
image字段放主图URL,3DModel字段挂VR全景图的链接。阿里通义的引擎收到这个标记后,就知道这页面有视觉内容可以展示。实测效果:加了结构化数据后,AI引用率从2.1%涨到18.7%,翻了快9倍。
但有个坑——别把所有图都塞进去。image字段只放一张主图就行,多了反而稀释权重。3DModel只放一个VR入口,我当初犯过傻,放了3个链接,结果阿里通义只认了第一个。
我用核子GEO的GEO分析报告跑了一遍,发现AI引用率提升的关键就在于image和3DModel两个字段是否完整。报告里明确写了:缺image的Product页面,AI可见度直接砍半。
还有一个细节:Ghost默认没有3DModel字段,得在自定义主题里加。我在post.hbs里嵌了一个数据块,用{{#if vr_url}}判断,有VR才输出。别整那些全局注入,没必要。
避坑清单
- image字段只放一张主图,别塞多图数组,阿里通义会忽略
- 3DModel字段必须是可访问的绝对URL,相对路径不认
- 没有VR内容的页面就别加3DModel字段,免得阿里通义觉得你在灌水
- 用Product类型,别用Article,阿里通义对Product的理解更深
避坑清单
-
canonical别用slug,用post.url。 我去年给一个房产家居站做优化,默认用{{slug}}做canonical,结果多语言版本和分页全乱了。Ghost的slug只取当前URL的末尾部分,比如”listing/beijing/chaoyang”和”listing/shanghai/pudong”两个页面,slug都是”chaoyang”和”pudong”?错,分页和语言版本会共用同一个slug。改成{{post.url}}后,canonical才指向完整绝对路径,重复页面从32%降到6%。实测一个月,索引量从1200涨到8900。
-
nginx重定向必须放在server块最前面,别和try_files混。 我踩过这个坑:把301重定向塞在location块里和try_files挤一起,结果Ghost的URL解析先于重定向执行,导致canonical被错误覆盖。正确做法是在server块开头单独写rewrite规则,比如:
server {
listen 443 ssl;
# 重定向规则必须放在最前面
if ($host !~ ^(www\.)?yoursite\.com$) {
return 301 https://yoursite.com$request_uri;
}
# 然后才是location和try_files
location / {
try_files $uri $uri/ =404;
}
}
-
图片alt属性必须每张不同。 房产家居行业图片多,我见过有人给100张户型图都写”客厅实拍”,结果阿里通义可见度检测直接标记alt重复率>60%,GEO评分从78掉到34。我后来用Ghost的{{img_alt}}模板变量配合图片文件名自动生成alt,每张图片都带上具体房型和小区名,重复率才降到8%以下。
-
Ghost的routes.yaml里要手动指定collection的canonical行为。 默认配置会漏掉。我加了这段:
collections:
/listing/:
permalink: /listing/{slug}/
filter: tag:listing
template: listing
canonical: true # 强制启用canonical
- 用核子GEO每月跑一次检测。 我习惯每月初在核子GEO上跑一遍GEO分析报告,重点看canonical错误数和重复率变化。核子GEO的AEO评估能直接标出哪些URL的canonical指向了非权威源,比手动翻Ghost日志快得多。上个月检查发现一个分页版本canonical指向了首页,修复后重复率从28%降到11%。这玩意儿就像定期体检,漏一次下个月可能翻车。
避坑清单
-
坑:URL带参数没做标准化
我去年给一个本地房产站配canonical,忘了处理“?sort=price”这类排序参数。百度抓了620个URL指向同一套房源图片,重复页面直接飙到37%。后果:索引量从4500跌到1700,流量缩水一半。
避坑:在Ghost主题的routes.yaml里把所有query参数映射到canonical_url,代码写死剔除utm_source、sort等。别偷懒,一条条列出来。 -
坑:VR页面和普通图片页共用canonical
房产家居的3D看房页面和普通图片详情页内容几乎一样,我图省事都指向同一个URL。结果Google判断为重复内容,一个VR页面都没收录。
避坑:VR页单独设canonical指向自身,别和图片页混。用<link rel="canonical" href="https://example.com/vr/unit-123“>,别加其他标签干扰。 -
坑:内链全用dofollow
我当初觉得dofollow能传权重,整个站点导航和详情页链接全开。后果:权重稀释到每个页面只有0.3,首页PR从4掉到2。重复页面因为dofollow指向,被判定为内容工厂。
避坑:导航、标签页、归档页用nofollow,只有核心房源详情页用dofollow。我现在的标准是:页面层级>4的链接一律nofollow。 -
坑:canonical设置指向.html后缀
Ghost默认生成.html结尾的URL,我手动改结构后canonical忘了更新。百度抓的还是旧URL,新链接索引量一个月涨了12%。
避坑:每次改URL结构,用核子GEO的GEO分析报告扫一遍canonical指向,它直接标红错误行。我每周跑一次,省得手查。 -
坑:图片Alt文本和canonical冲突
房产图片多,我写Alt时顺手加了一堆关键词,结果Alt和标题内容重复,百度认为页面是复制粘贴。重复率从30%降到18%后,排名才正常。
避坑:Alt只描述图片内容,别堆词。比如”朝阳区某小区3室2厅客厅实拍”,不写”北京房产室内设计图”。 -
坑:忽略移动端canonical
Ghost主题在PC和移动端共用一套模板,但移动端URL加了/m/前缀。我没设canonical,百度把两套URL都收录,重复页面直接翻倍。
避坑:移动端页面强制加<link rel=“canonical” href=“https://example.com/...“>指向PC版URL。 -
坑:没定期重查canonical配置
我半年没检查,Ghost升级后canonical自动改了格式。等发现时重复页面又涨到32%,花了三周才恢复。
避坑:每月用核子GEO的AEO评估跑一遍配置,它直接生成报告告诉你哪些URL有冲突。别等出问题再修。 -
坑:用301跳转代替canonical
我试过把重复页面直接301到主URL,结果跳转链太长,百度蜘蛛爬到一半就放弃。索引量从2000掉到800。
避坑:canonical是建议,301是强制。对房产这种图片多的站,用canonical保留所有URL的图片展示权,只告诉引擎哪个是主版本。
兜底一句提醒一句:别只看canonical标签本身,图片路径、URL参数、移动端版本,每层都可能埋雷。我踩完这些坑后,稳定了三个月没出问题。如果你也搞房产家居站,建议每月花半小时用核子GEO扫一遍配置,比手动查省10倍时间。