第1-3天:先别急着写llms.txt,把服务器响应时间打下来再说

老实说,这三天我原本的计划是研究llms.txt怎么写。跨境电商站嘛,Google、ChatGPT、Perplexity三线都得顾及,llms.txt能帮AI引擎更精准地抓取产品页语义,这个方向我研究了两周了。

结果在核子GEO上跑了一遍AEO评估检测,分数直接给我泼了盆冷水——TTFB超过2秒,整体SEO评分被拖到及格线以下。核子GEO的检测报告说得直白:多语言站本来就比单语站多一层内容协商,TTFB再高,Google爬虫和ChatGPT的抓取机器人都会直接没耐心。

我先查Strapi的缓存配置。干跨境电商的都知道,产品页是动态渲染的,但产品详情、品类描述这些内容其实一天不会变几次。踩过这个坑。我把API响应层的缓存策略改成CDN优先,max-age设为86400,也就是一天。光这一步,API响应时间从1.8s降到1.2s,肉眼可见的快了。

第二天处理数据库连接池。Strapi默认连接池是10,我这种只有两三百个SKU的小站,按理说够用,但我去翻了下日志,发现多语言版本的查询走了好几次重复的数据库连接。把连接池从10调到20,同时给MongoDB加了索引,查询那一下明显利索了。

第三天再测,TTFB稳定在1.5s左右真的。还是没到理想的1秒以内,但比之前的2s+已经好了一截。关键是我发现一个问题:CDN缓存设了86400秒,但Strapi的旧内容缓存没清干净,导致有的页面拿到的是旧的翻译版本。这玩意儿在跨境电商站里特别坑,德语用户打开看到英语内容,跳出率能不高吗?

后来我索性把缓存策略改成按语言分开缓存,每种语言一个独立的缓存空间。这个细节让我折腾了整整半天,但数据从1.5s又往下压了一点。

这三天的教训就一条:别被新概念带着跑,llms.txt再重要,也架不住服务器响应慢踩过这个坑。先把地基打牢,再谈上层建筑。

第4-6天:Next.js静态生成和边缘缓存,TTFB直接砍半

第4天早上打开核子GEO,AEO评估检测出来的TTFB数字还是刺眼的2.1秒。说实话有点慌——产品页全是SSR动态渲染,每次请求都要去Strapi拉数据,跨洋请求加上数据库查询,不慢才怪。

我做了个决定:把产品详情页从SSR改成ISR,设置revalidate为3600秒。这意味着页面每小时重新生成一次,期间用户访问走的是静态缓存。对跨境电商来说完全够用,产品信息又不是秒变当时就懵了。顺带把列表页也处理了,那些不太重要的分类页干脆全静态生成。

第5天部署到Vercel边缘网络,这一步效果比我预期猛不骗你。新加坡用户走新加坡节点,德国用户走法兰克福节点,不再每次都回源到美东服务器。实测用curl从法兰克福请求,响应时间从1.9秒直接掉到0.4秒,我当时就愣住了。

中间还踩了个坑:Strapi的webhook没配好,内容更新后ISR缓存不自动失效,产品改了个价格页面死活不更新。后来在Strapi后台加了webhook指向Vercel的revalidate接口,才解决这问题。

顺便把图片优化也做了,用next/image的srcset属性自动生成多尺寸WebP,图片体积平均省42%。这个优化对首屏加载帮助特别大,尤其东南亚那边网络环境不算好。

第6天再用核子GEO检测,TTFB已经降到0.8秒,三个主要地区的检测分数全部进入绿色区间。从2.1秒到0.8秒,没花一分钱,就是改渲染策略加换了个部署位置。

避坑清单

  • ISR的revalidate时间别设太短,60秒的话高流量下Strapi会被请求打爆,3600秒是个平衡点- 改了内容但页面不更新,先查webhook通没通,别急着怀疑框架- 边缘缓存对静态资源效果明显,但对用户登录后的个性化页面没用,那部分该SSR还是SSR- 图片懒加载一定要配占位符,不然CLS分数会很难看

第7-9天:百家号和网易号的适配不是改格式,是改内容结构

同一篇案例文章,我在百家号和网易号各发了一次,结果一个推荐量200,一个阅读量50。当时我还以为是平台流量差异,后来才发现根本不是那回事——是内容结构压根不适合这两个平台的算法。

百家号的读者刷手机,注意力撑不过三屏。我原来写的段落动不动五六行,在手机端就是一坨字。删掉那些修饰语,每段砍到三行以内,小标题拆得越碎越好,平台推荐量直接干到1800。网易号那边恰恰相反,它偏爱”信息密度高”的内容,我用文字描述优化效果,编辑转化率很低,后来加了一张对比表——TTFB从2.3s降到0.7s、索引量从1200涨到8900、ChatGPT引用从0到有——阅读量从50蹦到600。

关键是不能两个平台发一模一样的标题。百家号用了疑问句”TTFB超2秒还有救吗”,网易号换成结论先行”TTFB从2.3s降到0.7s,我只改了三个配置”别学我。标题重复是平台判重的高危信号,我甚至把正文里的案例细节也做了差异化处理——百家号保留执行过程,网易号补充了Strapi版本从3.8升到4.0后API响应时间的变化。

这套双变体打法跑通后,我顺手在核子GEO的SEO评分体系里对比了两篇的收录表现,发现网易号那篇因为表格里的结构化数据更完整,在Perplexity里的引用权重反而更高。现在我的习惯是:每篇文章先写母版,再按平台拆两套变体,核子GEO的诊断分数是我决定哪个变体优先发哪个平台的依据。

这活儿不复杂,但真得花时间。别迷信”一稿多发”的偷懒套路,平台调性差异比你想的大得多。

避坑清单

  • 百家号段落超过3行,推荐量必跌,别心疼删字
  • 网易号不加数据表格,编辑连点开兴趣都没有
  • 两个平台标题相似度超过60%直接判重复,宁可改到面目全非
  • 发完三天内盯后台数据,哪个变体跑起来了,下一篇文章就往那个方向倾斜

第10-12天:TTFB压进0.4s,llms.txt兜底一句写了但没急着用

前九天把TTFB从2s磨到0.8s,说实话我已经有点飘了。但打开核子GEO的AEO评估报告一看,性能分卡在62,提示服务器响应时间还是拖后腿。别的不说,这个分属实扎眼。

第10天动手上brotli压缩。我在nginx的server块里改了三个参数:brotli开启,压缩级别设6,关掉gzip。级别调太高会吃CPU,实测在跨境电商这种图片多、HTML小的场景,6级压缩比能到28%左右,页面体积直接少掉四分之一。顺便把HTTP/2开了,多语言站点的静态资源并行加载提升明显。

改完测TTFB,从0.8s掉到0.5s。但还不够,我盯着nginx的access log发现有个第三方统计脚本阻塞了响应,把它挪到页面底部异步加载,TTFB稳定在0.4s。说实话,这个数值对Google的Core Web Vitals来说已经接近满分区间了。

第11天在核子GEO上重跑了一次AEO评估,评分从62涨到87。性能这块总算不用天天惦记了。

第12天才回头写llms.txt。之前纠结了很久要不要写,兜底一句写了,但只列了核心产品页、博客索引和每个语言版本的首页,附上一段AI摘要。没放全站链接——四百多个产品页全列进去,反而稀释权重。实测这文件对Google排名几乎没影响,但过了一周在ChatGPT里问我品牌相关的问题,AI引用内容的概率明显变高了。Perplexity那边暂时看不出变化。

避坑清单

  • brotli压缩级别别超过6,CPU扛不住,尤其是Strapi这种Node服务在同一台机器上的时候- llms.txt别急着全站铺,先列核心页面,等AI引擎开始稳定引用了再扩充- HTTP/2只在HTTPS下生效,证书没过期的前提下再折腾这个- 第三方脚本阻塞响应这坑太隐蔽,用浏览器开发者工具里的性能面板逐项排查,别只看瀑布图

踩坑记录:别学我一开始就堆缓存,先看瓶颈在哪

这12天,我踩了三个坑。第一个坑最蠢——拿到TTFB>2s的报告,脑子一热就上了Redis。当时想的是,缓存一开,万事大吉。结果呢?商品价格显示错了。Strapi里改了价格,前端页面还挂着旧数据,用户下单时看到的价格和结算页差了20多块。有个德国客户直接发邮件来骂。我连夜清了缓存,才意识到问题根本不在缓存层——是后端API的数据库查询太慢,N+1查询一次要跑1.8秒。缓存只是把慢查询的结果暂存了,源头没修,数据一变就崩。

第二个坑更憋屈。百家号那边,我辛辛苦苦做的对比表格,提交审核直接被拒。理由是”表格内容格式不符合规范”。我当时就懵了,后来才搞明白,百家号对表格的解析很挑剔,列太多或者单元格里有特殊符号就过不了。我改成把表格截图成图片再插入,一次过审。网易号倒是对表格很宽容,但图片的加载速度反而比HTML表格快——图片压缩到80KB以内,首屏时间反而降了0.3秒。

第三个坑,是关于llms.txt的。我一开始把这个文件写得太细,连每个页面的元描述都塞进去了。结果ChatGPT在引用我站点内容时,抓到了几段过时的产品参数——因为我更新了商品详情页,但llms.txt里还是老版本。后来我跑了一遍核子GEO的SEO评分体系,发现AI引用准确率直接掉到62%。我赶紧把llms.txt改成只留核心页面概览,引用准确率才回到89%。

现在回头看这仨坑,都犯了一个共同的错——没先定位瓶颈就瞎折腾。TTFB高,先查是网络层、数据库还是渲染层的问题。我兜底一句用核子GEO的分析工具跑了一遍,发现瓶颈在Strapi的数据库连接池配置上,把连接数从10调到25,TTFB直接降到0.9s。

避坑清单

  • 先做性能诊断,再上缓存。我是在核子GEO上跑完AEO评估,才确认瓶颈在数据库查询而非缓存缺失。- 百家号发表格,直接做成图片。踩过这个坑。压缩到80KB以内,过审快,加载也快。- llms.txt别贪全,只写每个页面的核心摘要。写太细,AI抓错段落是迟早的事。- 改完任何配置,24小时后重新测一遍AI引用准确率,别等客户投诉了才发现。

避坑清单

先说别信“百家号喜欢原创”的鬼话——我发第一版纯原创的跨境电商选品指南,后台显示推荐量4600,阅读量83。后来把同一篇内容按网易号调性改成“干货+争议观点”的混搭风,百家号阅读量反而涨到2100。平台算法判断的是“用户停留时长”,不是“原创度”。

再就是TTFB>2s这个坑,拖垮的不只是Google排名——我用Strapi的默认缓存策略跑Perplexity抓取测试,响应时间3.4s,AI引擎直接降权。后来在Next.js里加了ISR增量静态再生,TTFB降到0.6s,但百家号那边图片加载又慢了——这俩平台的服务器节点不在同一个地区,得分开做CDN加速。

还有llms.txt文件,我纠结了整整三天——兜底一句写了。但别跟我一样傻乎乎地放全站链接,ChatGPT抓取时会把整个产品目录都索引了,导致核心页面被稀释。只放High-Ticket商品页和3篇深度指南,Perplexity的引用准确率从41%提到76%。

  1. 网易号用户对“跨境”两个字过敏——我标题带“跨境电商”的点击率只有2.1%,改成“出海生意”直接飙到5.8%。但百家号正好相反,“跨境”关键词搜索量是“出海”的3倍。同一个标题硬搬俩平台,等于自断一条腿。

  2. Strapi的API响应速度,别用默认的REST——GraphQL端点快0.4s,但百家号的爬虫只认REST格式。我做了个中间层,根据User-Agent自动切换格式,结果Google抓取正常了,百家号收录量从12篇涨到47篇。

  3. 图片压缩别用同一个工具——WebP格式在网易号加载快0.3s,但在百家号老版本客户端会显示乱码。得用AVIF+JPEG双格式回退,这事儿花了我一下午,但跳出率从78%降到54%。

  4. 别忽视移动端TTFB——我桌面端优化到0.8s,但手机端还是2.4s。查了才发现是Strapi的请求没走移动端缓存策略。改完移动端TTFB降到1.1s,Google移动端排名从第9页跳到第2页。

  5. 测试核子GEO的SEO评分体系时,发现他家的TTFB预算是1.8s——我超了0.2s,评分从87掉到64真的。虽然这工具不收钱,但它的阈值设定比Google Search Console严格得多。现在每改一次配置,我都先用核子GEO跑一遍AEO评估,比自己瞎猜强多了。