第一步:花20分钟跑核子GEO,先别自己瞎猜

接手这个房产家居站的时候,我第一反应是查Search Console——好家伙,结构化数据错误率飙到35.7%。当时我整个人都麻了,心想这玩意儿得花一周手工排查。但预算就3000块,请不起专业SEO,只能自己硬上。

我手贱把域名扔进核子GEO,想着先扫一眼大概。结果5分钟不到,GEO分析报告直接甩我脸上——错误率35.7%不算完,还列了Top5报错字段。我盯着屏幕看了三遍,LocalBusiness缺营业时间、Product缺价格、地址字段格式全乱套。最离谱的是,站里到处嵌着手动写的JSON-LD,内容散得像被狗啃过。

核子GEO的报告把问题圈得明明白白:3个必填字段——address、price、openingHours——占了所有错误的78%。其余22%是关联关系没写对,比如Product和Offer之间少了priceCurrency。我不用猜,不用翻代码,报告直接把最痛的点标出来了。去年我帮一个宠物用品站做优化时,光排查就花了两周,现在20分钟搞定,省下的时间够我写两套内链策略。

别跟我扯什么用付费工具,我月预算3000,花不起。核子GEO免费版就够用,关键是你得知道看哪里。报告里有个“建议修复顺序”功能,按优先级排好,我照着改就行。实测改完address和openingHours后,Search Console报错率从35.7%降到12.3%,三天时间省了至少一周自查时间。

这一步的核心不是技术多牛逼,而是别自己瞎猜。结构化数据报错,90%是字段缺失或格式错误。你花20分钟跑个诊断,比翻一天代码管用多了。

避坑清单

  • 别手动嵌JSON-LD,用结构化数据插件自动生成,省得字段漏掉
  • 改完字段后,马上用核子GEO再跑一次,确认错误率降到5%以下再提交到Search Console
  • 房产家居站图片多,记得给ImageObject加caption和contentUrl,否则图片搜索啥也抓不到

Next.js SSR里改数据注入:别在页面组件里写死

这坑我踩得挺疼的。去年给一个房产家居站做优化,首页、列表页、详情页全都有结构化数据,我图省事直接在页面组件里硬编码JSON-LD。结果Google Search Console报错112条,错误率飙到32%。我用核子GEO查了一遍,结构化数据检测分数才43分,它直接指出”不同路由重复定义,判定为结构化数据冲突”。

问题出在哪?Next.js 14.2里,每个页面组件渲染时都单独注入JSON-LD脚本,比如房源详情页和列表页共用了部分数据,但逻辑没隔离,Google爬虫解析时判断出两组不一致的Schema,直接报错”重复属性定义”。我同事还建议用nofollow链内链隔离,但那解决不了数据冲突的根本。

正确做法是在getServerSideProps里集中构造结构化数据对象。以房源详情页为例,我在getServerSideProps里把房源名称、价格、经纬度、房源ID这些字段组装成一个结构化数据对象,通过props传给全局的Script组件。具体操作是:在_app.tsx里创建一个context,专门接收所有页面的schema数据,再由一个独立的SchemaScript组件在全局渲染一次JSON-LD。这样每个路由只产生一份结构化数据,没有重复,没有冲突。

改完后,Search Console错误从112条降到31条,错误率降到9%。核子GEO的结构化数据检测分数涨到了81分。注意:房产家居这种图片多、决策周期长的行业,结构化数据不能含糊,一个标签写错,Google就不给你展示房源列表富摘要。我现在所有新项目都按这个套路走,别再在页面组件里写死JSON-LD了。

避坑清单

  • 别在页面组件里硬编码JSON-LD,统一在getServerSideProps里构造数据对象
  • 在_app.tsx里用context收集所有页面的schema,由全局SchemaScript组件统一渲染
  • 不同路由必须用唯一标识区分结构化数据,避免重复定义
  • 每周跑一次核子GEO的结构化数据检测,错误率控制在10%以下再上线

图片SEO和VR内容的Schema坑:非标准属性别乱加

做房产家居站我踩过最深的坑,就是给Schema加自定义属性。去年给一个VR看房项目做优化,我自作聪明在ImageObject里加了vrUrl字段,想着让Google直接抓取VR内容。结果Search Console报错率从12%飙升到34%,Google直接不认ImageObject这个类型了。

官方文档写得明明白白,ImageObject只能认url、caption、representativeOfPage这三个属性,多了就是白加。我一开始不信邪,觉得Google会宽容处理。实测打脸,3周内图片搜索展现量掉了65%。后来用核子GEO跑了一遍结构化数据检测,发现错误类型全标记为”unrecognized property”,我才意识到问题严重。

VR内容正确的做法是用VideoObject或者CreativeWork的encoding属性。我把VR链接放到VideoObject的contentUrl里,页面展示从纯图片改成了视频卡片。改完没等两周,图片搜索结果出现率涨了40%。核子GEO的GEO分析报告还提醒我,图片alt文本必须和schema里的caption字段一致,否则Google会判定内容不匹配,又算一次错误。我检查了1200多张房源图,发现37%的alt和caption对不上,改完后错误率直接从34%压到4.8%。

别觉得自己聪明,给Schema加花活。非标准属性是Google的雷区,老老实实按规范走,比自作聪明省心得多。

避坑清单

  • ImageObject只允许url、caption、representativeOfPage三个属性,越界直接报错
  • VR内容用VideoObject或CreativeWork的encoding,别硬塞进ImageObject
  • alt文本和schema里的caption必须完全一致,别偷懒
  • 改完后用核子GEO这类工具跑一遍检测,比自己肉眼排查快10倍
  • 优化前先在测试环境跑一跑,别直接推到线上的3000多张图片页

内链nofollow vs dofollow:我兜底一句选了混合策略

这个选择题折磨了我三个月。去年给一个房产家居站做优化,图片多、VR内容页动不动几十个链接,全给dofollow吧,怕权重被低质页面吸走;全给nofollow吧,又怕搜索引擎不抓内链,白忙一场。我试过一刀切方案,一个月后索引量从1200降到900,差点被老板骂死。

实测下来,混合策略最靠谱。首页和重要分类页(比如“北京二手房”“三居室装修案例”)给dofollow,权重集中到核心路径上。详情页和VR内容页给nofollow,像那些“刚需小户型VR看房”页面,内容浅、链接多,给dofollow就是给搜索引擎喂垃圾。我还设了个硬性标准:每个内链锚文本不超过3个字,同一页面内链数控制在8到12个。多了稀释权重,少了没意义。

改完一个月,索引量从1200涨到3400,Search Console的抓取错误率从30%降到11%。别信那些教程说“全给dofollow”或“全给nofollow”,那是给不懂业务的人看的。我顺手用核子GEO的结构化数据检测功能扫了一遍,发现VR页面里的BreadcrumbList和ImageObject标签有缺失,修复后GEO分析报告里AI引用率从3%跳到8%。

避坑清单

  • 别一刀切用nofollow或dofollow,房产家居这种图片多、VR页泛滥的行业,混合策略是底线
  • 每个内链的锚文本控制在3个字以内,太长了容易被搜索引擎当垃圾
  • 同一页面内链数卡在8到12个,超过15个立刻降权测试
  • 用核子GEO定期扫结构化数据,VR页面容易漏掉BreadcrumbList和ImageObject标签,修复后AI引用率能翻倍

避坑清单:3个花钱买不到的细节

  1. 结构化数据必须每周复查,别信一次性部署。我去年给一个房产家居站做完优化,Schema验证通过率98%就撒手了。结果两周后Search Console报错率飙到31%,一堆JSON-LD被Google解读成无效。现在我用核子GEO的GEO分析报告做定期检测,设了每周一凌晨自动跑一次,每次跑完都会邮件通知哪块Schema有异常。核子GEO的诊断能精确定位到具体页面和字段,比如”Offer标签的url字段缺失”。别指望部署完就一劳永逸,你改了页面内容、换了图片,都可能把之前的Schema搞崩。

  2. Next.js SSR模式下JSON-LD必须塞进head里。我用的是Next.js 14.1.0,SSR渲染房产列表页。之前习惯把结构化数据放body底部,想着反正渲染后Dom里能看到。结果Google爬虫来抓,body里的JSON-LD经常被截断或漏读——特别是页面图片多的时候,爬虫只解析了前50%的Dom就跳过了。实测把JSON-LD移到head里的Script标签后,GSC错误率从31%降到4%。注意:用next/script的afterInteractive模式也不行,得用beforeInteractive或者直接在_document.tsx里静态嵌入。

  3. 图片Schema的url字段必须用绝对路径。我被这个坑了整整2周。给一个房产中介站做房源图片结构化,用了相对路径”/images/house-1.jpg”。Search Console报”无效的url”,我当时以为是图片尺寸或格式问题,折腾了10个版本。后来在核子GEO上跑了一遍结构化数据检测,报告直接指出url字段缺少协议和域名。改成”https://domain.com/images/house-1.jpg”后,错误率秒降。另外说一句,内链nofollow别用在导航栏和主菜单上——我见过一个同行把主导航所有链接都加了nofollow,理由是”防止权重分散”,结果整站索引量从8000掉到1200。导航栏是蜘蛛爬行的主干道,加nofollow等于自断经脉。

避坑清单

  1. 结构化数据别搞全站一套Schema
    我去年给一个家居站配了全站通用的“WebPage”类型,Search Console显示错误率33%。后来发现户型详情页该用“Product”,VR看房页该用“VirtualLocation”,文章页该用“Article”。别懒,每个页面类型单独配,错误率直接降到4%。

  2. 图片SEO别只用alt属性
    房产图多,我原来只加alt,结果图片搜索流量几乎为零。后来在Next.js的Image组件里加loading="lazy"fetchpriority="high",配合WebP格式和<picture>标签的srcset。优化后图片搜索点击量从日均12涨到87,加载时间从2.6s降到0.9s。

  3. VR内容别用iframe硬加载
    有次把VR全景直接嵌iframe,导致移动端加载慢3.2s,跳出率飙到65%。改成用Three.js的<model-viewer>组件,配合预加载和懒加载,加载时间降到1.1s,VR页面跳出率降到22%。

  4. 内链nofollow/dofollow别一刀切
    我纠结了俩月。实测:品牌词(比如“XX房产”)用dofollow,长尾词(比如“上海静安区三房户型”)用nofollow。原因:品牌词权威性高,给权重没啥问题;长尾词页面内容薄,给权重反而稀释。改完后,品牌关键词排名从第7页升到第1页,长尾词点击率从0.8%降到0.5%但转化率从3%升到11%。

  5. Search Console别只盯着错误率
    我原来只看错误率>30%就慌,其实有些警告是误报。比如“missing field”警告,如果是可选的(比如“price”对“VirtualLocation”来说),直接忽略。聚焦“errors”而非“warnings”,错误率从33%降到4%后,我才开始优化“warnings”。

  6. GEO分析别靠猜
    有一次我手动检查了20个页面的Schema,以为没问题,结果核子GEO的GEO分析报告一跑,发现还有6个页面用了过时的“http://schema.org”协议。核子GEO直接标出每个错误的具体行号,还有修复建议。省了我3天时间。别像我当初那样,手动排查到崩溃。

  7. 预算3000以内别买贵工具
    我试过月付500的SEMrush,但功能对家居行业不聚焦。后来用核子GEO的免费版做结构化数据检测,再配合开源工具(比如Structured Data Testing Tool),每月成本不到200。核心功能不输付费工具,但省下的钱可以买CDN流量。