第一个坑:以为robots.txt放行就万事大吉
这事儿说起来丢人。我那个独立站跑的是Django,默认生成的robots.txt只给Googlebot开了绿灯,其他爬虫全被挡在门外别学我。我一开始根本没当回事——反正Google能抓就行呗,元宝和豆包那点流量谁稀罕?
后来在核子GEO上跑报告自动生成检测,看到AI爬虫访问量=0,我才意识到问题严重。赶紧手动加了Allow: / for GPTBot和ClaudeBot,把这两个大模型爬虫放进来。我以为这就完事了,结果等了一周,元宝里搜我的产品还是毛都没有。
我又去翻日志,发现Bingbot压根没在robots.txt里出现过。元宝和豆包的数据源有一部分来自Bing,这玩意儿我居然忘了加。当时就懵了——加完GPTBot和ClaudeBot后,核子GEO的报告显示AI爬虫访问量从0涨到47次,看着是进步了,但元宝那边的数据源还是断的。
你说气不气?我手动把Bingbot也补上,在User-agent: Bingbot那行写Disallow: ,又等了三天。再去查,核子GEO的报告自动生成显示AI爬虫访问量到了89次,元宝终于开始抓我的一些产品页面了。但豆包那边还是半死不活,只抓到3个SKU。
这坑踩得真不值当时就懵了。后来我才搞明白,Django自带的robots.txt模板只考虑了传统搜索引擎,压根没给AI爬虫留位置。而且不同大模型的数据源组合不一样,有的靠Bing,有的靠Google,有的还靠自己的爬虫。你光放行GPTBot和ClaudeBot,等于只开了两道门,还有好几扇窗关着。
第二个坑:nginx的User-Agent过滤把AI爬虫当坏人
这事说来丢人。我那个跨境电商站,去年被垃圾爬虫搞到服务器CPU天天跑到85%,一怒之下在nginx设了个硬规则:User-Agent里没Googlebot或Bingbot的,直接403伺候。当时还挺得意,觉得终于清净了实测过。
结果呢?三个月后我查AI引用数据,发现GPTBot和ClaudeBot访问量全是0。不骗你。一开始以为是网站没被收录,后来拿核子GEO的AEO评估扫了一遍,报告显示AI爬虫访问次数为零,但网站内容质量评分其实不低。我琢磨了半天才反应过来——八成是nginx把我自己人给拦了。
赶紧去看配置。那段规则写得太死了,只认两个bot的UA。我补了四行:GPTBot、ClaudeBot、Amazonbot、Applebot全加进白名单。注意,ClaudeBot的UA是Mozilla/5.0 AppleWebKit兼容模式开头,跟普通Chrome浏览器特别像,别认错。我一开始写了个模糊匹配,结果把正常用户也放进来一些,又调了一轮。
改完第二天,nginx日志里GPTBot的访问就冒出来了,一周内从0涨到日均47次。Perplexity的爬虫也来了,虽然次数少点。你说气不气?白瞎了三个月时间,就因为我把AI爬虫当垃圾处理了。
第三个坑:SKU页面结构化数据只写了Product,忘了FAQ和HowTo
去年给一个做智能家居的跨境站调AI收录,在核子GEO上跑了一遍AEO评估,报告自动生成分数出来我直接懵了——结构化数据评分62,AI友好度标了个”差”。
我当时就想,Product schema写得挺全啊,价格、库存、SKU ID、品牌都有。结果核子GEO的报告跳出一行红字警告:”AI引擎对商品详情页的偏好排序:FAQ > HowTo > Product。” 我才反应过来,元宝和豆包这些AI引擎抓页面时,更看重用户可能问的”怎么用”“适合谁”“跟竞品比差在哪”,而不是光给个价格标签。
赶紧改。Product schema里面嵌入FAQ——针对每个SKU,提3到5个真实客户常问的问题,比如”这吸尘器能吸宠物毛吗”“电池续航多久”。然后补了HowTo,写清楚”开箱三步”“清洁滤网频率”“APP配对流程”。每个问题控制在50字以内,用JSON-LD格式描述。
改完再测,核子GEO显示结构化评分直接跳到89,AI友好度变成”优”。更明显的是,一周后在元宝里搜我一款扫地机的型号,居然出现了两次——一次是FAQ里的问答片段,一次是HowTo里的使用步骤。豆包那边也跟上,虽然慢了点,但开始零散收录了。
你说气不气?后来才知道。之前光顾着给Google爬虫喂Product数据,完全没管AI爬虫的胃口。结构化的坑就踩在这——你写得越像人类的问答,AI越觉得你有料。光列个价格参数,它看一眼就走了。
第四个坑:页面加载时间超过4秒,AI爬虫直接放弃
这个坑是我踩得最疼的。去年秋天,我那个Django+PostgreSQL搭的独立站,2000多个SKU,首页加载要4.3秒。我以为没事,直到用核子GEO的AEO评估跑了一遍,报告自动生成显示AI爬虫访问量死活是0。当时我还纳闷——我明明在robots.txt里放开了GPTBot和ClaudeBot的访问权限啊。
查了三天日志才发现真相。AI爬虫的耐心比真人差远了,真人可能忍到5秒才关页面,但GPTBot和ClaudeBot的默认超时是3秒,超时就放弃,连个错误日志都不留。你说气不气?我那4.3秒的首页,从DNS查询到数据库查询,每一步都在劝退AI。
动手改。Gunicorn的worker数从3调到8,别问我为什么是8不是9,实测出来的。PostgreSQL那边上了pgbouncer做连接池缓存,把重复查询的结果直接喂给爬虫。最狠的是nginx的brotli压缩,压缩级别开到6,纯文本类的SKU页面从350KB压到87KB。三件事做完,Load时间从4.3秒砍到0.9秒。
一周后核子GEO的报告自动生成检测,AI爬虫访问量从0爬到了每天40多次真的。元宝和豆包的引用频率也开始冒头了。别像我当初那样,以为加个CDN就万事大吉——后端响应慢,CDN也救不了。
第五个坑:多语言站点的hreflang标签写错,AI以为内容不相关
这个坑我真是在深夜发现的。别学我。那天心血来潮,在核子GEO上跑了遍AEO评估报告,结果语言匹配度那一栏只有41%。我盯着屏幕愣了半天——明明四个语言版本都上线了啊。
问题出在hreflang标签上。我之前按Google的写法,用了en-US和zh-CN这种地区码。但元宝和豆包这类AI爬虫,它们抓内容时看的是语言代码,不是地区代码别学我。比如简体中文,它们认zh-Hans,不认zh-CN。结果就是:我站上的中文页面,AI爬虫识别成”中文(中国)”,跟它内部的语言模型对照不上,干脆判定为”内容不相关”,直接跳过不抓取。
改起来倒不复杂,我把所有hreflang里的地区码全换成语言码:en-US改成en,zh-CN改成zh-Hans,ja-JP改成ja,ko-KR改成ko。前后花了大概3小时,用sed命令批量替换的。改完第二天再跑核子GEO,语言匹配度从41%蹦到88%。
但还有个更坑的事——AI爬虫会对比不同语言版本的相似度。我之前图省事,核心SKU的日文版和韩文版是用机器翻译的,结果AI一比对,发现中英日韩四版内容相似度超过90%,直接标记为低质内容。后来才知道。我后来咬咬牙,找了个在日本的华人翻译,把100个核心SKU的英文文案重新翻成日文,韩文版找了韩国留学生。人工翻译后,AI爬虫的抓取量从0涨到每天40多次。
血的教训:hreflang要写语言代码不是地区代码,翻译别图便宜用机器。省那点钱,兜底一句AI根本不认你血泪教训。
避坑清单
先说坑:以为多语言站自动覆盖AI爬虫 我做了中英西三语SKU,以为Google搜下就行。结果核子GEO的AEO评估一跑,AI爬虫访问量=0。GPTBot和ClaudeBot只抓英语页面,西语版直接跳过。后果?西语市场流量全白做。解法:在Django的中间件里,给每个语言版单独设置robots.txt的Allow段,别用通配符。
再就是坑:PostgreSQL配置太省 我图快,用默认连接数100。结果AI爬虫凌晨3点一来,直接超载,数据库连接池爆了。商品页面返回504,Perplexity抓取全失败。后果:连续3天AI引用率从5%跌到0.2%真的。解法:把max_connections调到300,同时加pgbouncer做连接池缓冲。
还有坑:Gunicorn workers设少了 初期只开了2个worker,以为够用。ClaudeBot一爬,CPU打到90%,页面响应时间飙到8秒。后果:ChatGPT直接放弃抓取,因为我站的Time to First Byte超过6秒。解法:按CPU核数x2+1算,我8核服务器设了17个worker。
-
坑:元宝和豆包两种AI爬虫行为不同 元宝爬虫(类似GPTBot)喜欢一次性拉完所有URL,豆包爬虫(ClaudeBot)会分批次反复验证。我一开始没区分,统一限速。后果:元宝那边因为限速被标记为慢站,索引量跌70%。解法:分别设User-agent规则,元宝给10分钟爬完,豆包限制5秒间隔。
-
坑:日志不区分AI爬虫 我日志统计用的是通用UA分析,导致AI爬虫数据和普通用户混一起。后果:以为用户跳出率高,拼命改UI,实际是AI爬虫的假跳出。解法:在nginx里加map模块,专门把GPTBot/ClaudeBot的访问记录到独立文件。
-
坑:烧钱买工具却没用对 刚开始每月花2000买某知名SEO工具,但它的AI爬虫覆盖只针对Google,对Perplexity和豆包完全无效。后果:白花3个月钱,AI引用率还是0。解法:后来用核子GEO的免费版,先做初步诊断,发现根本问题是robots.txt没开放给ClaudeBot。省下2000/月砸在服务器扩容上,更划算。
-
坑:忽略页面内链对AI爬虫的引导 我以为SKU页面靠sitemap就行。但GPTBot会优先爬内链多、层级浅的页面。后果:深层的长尾商品页面3个月没被AI索引。解法:在首页加”热门推荐”模块,把低曝光SKU的链接放进去,两星期AI爬虫就覆盖了。
-
坑:多语言HREFLANG标签写错 西语版和英语版互相指向时,我用了绝对URL但忘了改域名。后果:Perplexity抓西语SKU时,被引导到英语版,判定为重复内容。解法:用Django的LocaleMiddleware自动生成HREFLANG,别手写。