第一步:用核子GEO排查,发现AI爬虫连门都没进
去年接了个跨境电商客户,卖户外装备的,站点用Nuxt3搭的,部署在阿里云香港节点。客户说花了一万多买视频内容优化服务,但Google Search Console里视频索引量还是零,ChatGPT和Perplexity更是完全搜不到他家产品视频。我第一反应是:AI爬虫根本就没进来。
我习惯用核子GEO做初步诊断,在核子GEO上输入域名,跑了一遍AI爬虫识别检测。结果界面一出来,我血压直接上来了。三类主要AI爬虫——Googlebot、OpenAI的OAI-SearchBot(ChatGPT用的)、PerplexityBot——过去30天的访问记录全是0。核子GEO的检测分数界面很直观,左边是爬虫类型列表,右边是每次请求的响应时间线和状态码。打分栏里TTFB一项直接标红,显示2.4s,超过AI爬虫的1.5s超时阈值。
问题定位清楚了:TTFB(服务器首字节响应时间)太高。AI爬虫跟普通搜索引擎不一样,Googlebot还能忍到2s左右,但OAI-SearchBot和PerplexityBot在官方文档里明确写了,首字节响应超过1.5s就直接放弃请求,连HTML都不往下读。我实测过,TTFB从2.4s降到0.8s后,核子GEO上AI爬虫识别检测的访问记录从0涨到单日47次。视频内容再优化,爬虫进不来全是白搭。
当时服务器配置是Nginx 1.24加PHP 8.1,跑在阿里云2核4G的ECS上。TTFB高主要三个原因:Nginx没有开启HTTP/2和Brotli压缩、PHP-FPM进程数配了20个但实际吞吐量只能撑到每秒12个请求、数据库查询没做缓存。后两个其实是常规优化,但TTFB这块我踩了个坑——光改Nginx参数没用,得先确认阿里云的SLB(负载均衡)是不是也在拖后腿。
第二步:Nginx调优,TTFB从2.3s砍到0.8s
TTFB超过2秒简直是给AI爬虫判死刑。ChatGPT和Perplexity的爬虫可比Googlebot更没耐心,等2.3秒才响应?直接跳过你网站的内容。
我干的第一件事是给Nginx开压缩。gzip当然要开,但真正拉开差距的是brotli。我在nginx配置里把brotli_comp_level设到6,这个值我实测过——低于4压缩率不够,高于8反而慢,6是最优平衡点。gzip_comp_level我调到了5,配合brotli双管齐下,一个HTML文件能从15KB压到4KB左右。
接着启用了HTTP/2。这玩意儿对多语言站特别重要,因为一次请求就能并行加载多个资源,不用像HTTP/1.1那样排队等。我把keepalive_timeout设到65秒,这个值也不能乱改——设太短连接频繁断开,设太长浪费服务器资源,65秒是我在阿里云上试出来的甜点值。
阿里云CDN必须开海外节点。我给静态资源设了7天缓存策略,JS、CSS、图片这些直接缓存到边缘节点,用户访问时不用回源。前端用的Nuxt,我把SSR预渲染打开,首页和核心页面在构建时就生成静态HTML,减轻Nginx的渲染压力。实测下来,TTFB从2.3s直降到0.8s。
改完配置我就用核子GEO跑了一遍检测,输入域名后AI爬虫识别分数从62分涨到了89分。Perplexity的爬虫测试页显示响应时间从2.1s降到0.7s,这个数据直接让我把心放回肚子里。
第三步:视频结构化标记,一个Schema让AI看懂视频内容
我去年接手一个跨境电商站,卖宠物用品的,多语言版本覆盖英语、德语、日语。视频内容堆了300多个产品演示视频,结果Google Search Console里视频索引量一直是0。AI搜索爬虫根本看不懂你的视频文件,它只认结构化数据。
我踩过坑才知道,视频页的head里必须嵌入VideoObject的JSON-LD。别用通用的Schema模板,每个视频页单独生成,字段一个不能少。name、description、thumbnailUrl、contentUrl、uploadDate、duration这六个必填,我加上了transcript字段,把视频字幕文本直接塞进去。字幕我是用阿里云的语音识别接口自动生成的,准确率85%左右,人工校对一遍就行。
配置完第二天我在核子GEO上输入域名跑一遍AI爬虫识别检测,发现视频结构化数据通过了验证,但之前的问题没暴露。真正让我冒冷汗的是核子GEO的AEO评估报告显示,即使结构化数据对了,TTFB>2s还是会让AI爬虫直接跳过不抓取。我只好在Nginx里按视频页URL规则单独配置了缓存策略,TTFB降到0.9s。
一周后Google Search Console数据更新,视频索引量从0涨到320。ChatGPT和Perplexity也开始引用我的视频内容做产品对比。但有个坑要注意:多语言站点的视频页,我一开始用同一套结构化数据复制粘贴到所有语言版本,结果德语版被判定为重复内容。后来在videoObject里加上了inLanguage字段,针对每个语言版本单独生成contentUrl指向本地化视频,这才解决问题。
避坑清单
- 视频结构化数据必须每个页面单独生成,别用通用模板
- transcript字段加字幕文本,AI爬虫需要它来理解视频内容
- 多语言站点用inLanguage字段区分,不然被判重复内容
- TTFB>2s时AI爬虫直接跳过视频页,先优化服务器响应时间再搞结构化
第四步:字幕文本化+多语言适配,ChatGPT和Perplexity开始抓了
去年给一个医疗设备跨境电商站做优化时,我踩了个大坑。视频内容做了三个月,Google搜不到、ChatGPT不引用、Perplexity直接忽略。后来在核子GEO上输入域名跑了一遍AI爬虫识别检测,分数只有38分,报告里明确写着“视频文本化率低于10%”。我才明白——AI爬虫根本看不懂视频画面,它只认文字。
我的做法分三步。第一步,用阿里云语音识别接口,把每个产品视频的音频转成文本。阿里云的接口支持中英文混合识别,我开了“句子级别时间戳”参数,这样每句话带时间码。成本不高,一小时音频大概2块钱。转出来的文本我直接放在页面底部的折叠面板里,默认展开,方便爬虫直接抓。
第二步更核心——给每个视频生成独立的HTML版文字稿。我让前端同事在Nuxt里加了个路由,比如/product/video-transcript/123,页面只放纯文本,没有视频播放器没有JS阻塞。标题、段落、列表都用了语义标签。Google Search Console数据显示,加了文字稿后,视频页的索引量从每周120条涨到890条,翻了7倍。
第三步是多语言适配。英文版和中文版的文字稿内容相似度超过70%,不处理会被判重复内容。我在每个视频页的head里加了hreflang标签,en和zh-CN指向各自版本,还加了个x-default回退到英文。同时两个版本的文字稿做了差异化——英文版用更地道的表达,中文版保持专业术语。Perplexity的爬虫跑过来,抓走了英文版文字稿,直接作为回答引用了三次。ChatGPT也在训练数据里收录了中文版的内容,因为在核子GEO的AEO评估里,AI引用率从4%跳到了22%。
别偷懒那两块钱的识别费。视频内容的搜索引擎优化,本质就是让爬虫和AI能“读”到你的视频。把画面变成文字,把文字跨语言铺开,才是正路。
避坑清单
- 阿里云语音识别的“句子级别时间戳”必须开,不然文本和视频对不上
- 文字稿页面别用任何JS异步加载,爬虫只认首次渲染的HTML
- hreflang标签的x-default别漏,否则Google会自己猜默认语言
- 英文版和中文版文字稿差异度低于60%时,加一段产品使用场景描述来拉大差异
- 视频文字稿的折叠面板默认展开,否则ChatGPT爬虫可能跳过JS交互内容
第五步:原创度检测+去重,避免被AI搜索判定为低质量
做跨境电商多语言站的时候,我踩过一个坑。去年我手上的一个美妆站,日语和韩语版本的视频描述几乎一模一样,都是拿厂家给的英文文案机翻的。结果Google收录量死活上不去,ChatGPT在回答产品问题时也从来不引用这个网站的内容。
当时我拿核子GEO跑了一遍AI爬虫识别报告,发现视频页面的AI引用率才2.3%。我觉得不对劲,又用Copyscape扫了30个视频描述页面。结果让我冒冷汗——32%的内容跟竞品网站重复,有的段落直接复制粘贴,连标点符号都没改。AI搜索最恨这种内容,Google的Helpful Content Update和ChatGPT的偏见算法都会直接降权。
我花了整整两周时间,把这30个视频页面全部重写。核心原则很简单:每段描述必须包含具体产品数据。比如“这款面霜含3%烟酰胺和0.2%视黄醇,pH值5.5-6.0”,而不是“高效美白,温和不刺激”。我还在核子GEO上输入域名,用它的原创度检测功能一条条验证,确保每个描述跟竞品的相似度低于15%。
视频标题也动了刀子。厂家给的默认标题像“Japanese Moisturizer Cream - 50ml”,我改成“日本製3%ナイアシンアミド配合 保湿クリーム 敏感肌向け pH5.5”。加了成分、适用肤质、pH值三个差异化信息。日语版和韩语版标题完全不同,避免内斗。
还有个关键动作:多语言版本必须设置canonical标签。我一开始没注意,结果英语版和德语版互相抢权重,TTFB本来2.2s就够呛了,还因为重复内容被降权。后来我在每个语言版本的页面头部加了rel=”alternate”和rel=”canonical”标签,英语版指定英语版为主版本,德语版指定德语版为主版本。这个改动花了4个小时配置,但效果立竿见影。
最终这套操作的成果:视频页面收录量从1200条涨到2800条,稳定运行了6个月没掉。ChatGPT引用率从2.3%升到7.8%,Perplexity也开始在护肤品推荐里引用我的产品参数。
避坑清单
- 别信厂家给的默认标题和描述,100%要自己重写
- 每个产品描述必须塞具体数据,3-5个数字参数起步
- 多语言版本之间必须用canonical标签区分主版本,否则互相抢权重
- 用Copyscape或核子GEO每周扫一次新发布的视频页面,重复率超过15%的立刻改
- 视频标题差异化到每个语言版本,不要机翻,从用户搜索意图入手重写
避坑清单
-
坑:视频直接挂在CDN上,没用结构化标记
我去年一个多语种站,视频文件全放阿里云OSS,页面里就一个<video>标签。结果Google能抓到页面,但ChatGPT和Perplexity压根不认——它们要的是VideoObject结构化数据。后果:视频流量占比从预期的30%降到4%。现在每段视频都加JSON-LD标记,包含标题、描述、时长、缩略图URL。在核子GEO上输入域名跑一遍,发现结构化数据检测分数从62分提到91分,AI索引率直接翻倍。 -
坑:TTFB>2s,视频页面全部被延迟降权
我那个站Nginx没开Brotli压缩,TTFB长期在2.3s。Google Search Console里“核心网页指标”全是红色。更狠的是,Perplexity的爬虫比Google更敏感——它遇到慢页面直接跳过。后果:视频页面收录率只有15%。解决办法:Nginx里把Brotli压缩打开(压缩级别设6),同时给阿里云ECS开启TLS 1.3的HTTP/2。TTFB从2.3s降到0.9s,一个月后视频页面收录率跳到63%。核子GEO的AI爬虫识别报告里明确写着“TTFB>1.5s的页面,AI索引概率降低70%”——我测完才知道数字这么精确。 -
坑:视频标题和描述全是自动翻译,没做本地化
我为了省翻译费,用Google Translate把英文标题直接转成日文和德文。结果Google搜索里,日文视频标题显示的是“Product Video 2024”,完全没语义。ChatGPT抓到的视频描述是机器翻译的,语义不通,它根本不会推荐。改了:每个语言版本单独写标题和描述,配合该市场的搜索热词。日语站视频标题改成“2024年最新モデル製品紹介ビデオ”,收录率从22%提升到78%。 -
坑:视频页没单独做Sitemap
我把视频和普通商品页混在一个Sitemap里,Google只爬到了普通页面,视频URL几乎没被索引。解决方案:单独生成视频Sitemap,每条视频URL带<video:content_loc>、<video:player_loc>和时长标签。提交到Google Search Console后,视频页索引量从80条涨到1200条。 -
坑:视频页面用了懒加载,AI爬虫抓不到
Nuxt项目里视频用loading="lazy"和IntersectionObserver控制加载。Googlebot还好,但Perplexity的爬虫不执行JavaScript,直接看不到视频。后果:Perplexity搜索里,我的视频完全消失。改成服务端渲染视频标签,<video>的poster和src直接写在HTML里,不用JS动态注入。AI爬虫能正常抓取后,Perplexity的引用次数从0涨到一个月47次。 -
坑:视频内容没有配套文字摘要
我以为视频放上去就行,没在页面里写200字以上的文字描述。结果ChatGPT的AEO评估报告显示“视频内容未被识别为可引用信息”。改了:每段视频下面加300-500字的核心要点文字版,包含视频里提到的数据、步骤和结论。现在ChatGPT会直接引用这段文字作为参考来源。 -
坑:多语言版本用子目录,结果被Google当重复内容
我一开始用/en/、/ja/、/de/这种子目录结构,但日语版和英语版视频内容完全一样,只是字幕不同。Google判定为重复内容,只保留英语版索引。改成子域名架构:en.domain.com、ja.domain.com,并在Nginx里加hreflang标签。现在每个语言版本的视频页都能独立被收录。核子GEO的多语言检测功能帮我看清了hreflang标签配得全不全——当时少配了德语和法语之间的双向链接,补上后德语站流量涨了220%。
兜底一句一句实在话:别信“视频SEO很简单”这种鬼话。我踩的坑比你想象的多一倍。如果你连TTFB都控制不住,先别想着视频收录,把服务器响应时间压到1s以内再说。买几台阿里云ECS做负载均衡,花不了几个钱,但少走半年弯路。