[{"data":1,"prerenderedAt":302},["ShallowReactive",2],{"blog-hit-competitor-weak-pages":3,"blog-prev-hit-competitor-weak-pages":102,"blog-next-hit-competitor-weak-pages":211},{"id":4,"title":5,"author":6,"body":7,"canonical":86,"category":87,"cover":86,"date":88,"description":89,"draft":90,"extension":91,"keywords":86,"meta":92,"navigation":93,"noindex":90,"ogImage":86,"path":94,"seo":95,"seoDescription":86,"seoTitle":86,"stem":96,"tags":97,"updated":86,"__hash__":101},"blog\u002Fblog\u002Fhit-competitor-weak-pages.md","打竞品写得最差的二十个页面，比追爆款有效","元析智能",{"type":8,"value":9,"toc":76},"minimark",[10,14,18,21,24,27,30,33,37,40,43,46,49,52,55,58,61,64,67,70,73],[11,12,13],"p",{},"找竞品的软肋，不要看他们写得最好的页面，要看写得最差的 20 个。写得好的你追不上，写得差的才有位置。2026 年 3 月我们给一个客户挑出 20 个这样的页面，他去做了 8 篇，六周后 6 篇进前 30。",[15,16,17],"h2",{"id":17},"怎么挑",[11,19,20],{},"给竞品的每篇文章打四个分：字数是否够、有没有数据或截图、结构是否清楚、最近一次更新是什么时候。四项都弱的，就是最差的那批。",[11,22,23],{},"431 篇里我们挑出 20 篇，绝大多数有三个共同点：800 字以下、没有一张图、发布时间超过两年。",[15,25,26],{"id":26},"这些页面的价值在哪",[11,28,29],{},"它们往往还在前 30 名，说明这个词有搜索量、竞争不激烈，只是没人认真做。你只要做得比它完整，位置就是你的。",[11,31,32],{},"一个具体的例子：竞品有一篇讲“日志按天分片还是按小时分片”，1200 字，没有任何配置示例。我们客户补了一篇带两个真实集群配置的，三周排到第 7。",[15,34,36],{"id":35},"另一种软肋过时的页面","另一种软肋：过时的页面",[11,38,39],{},"竞品两年前写的定价页、版本对比页、功能清单，只要产品改过，这些页面就是错的。用户一验证就发现问题。",[11,41,42],{},"这类页面比薄页更好打，因为你不需要写得多好，只要写得准。",[15,44,45],{"id":45},"别照抄结构",[11,47,48],{},"看到竞品的差页面，容易顺手把它的小标题抄过来，写得比他长一点。这么做排名一般不动。",[11,50,51],{},"正确的做法是换角度：他讲概念，你讲操作步骤；他讲通用情况，你讲某个行业的具体情况。",[15,53,54],{"id":54},"打分表怎么维护",[11,56,57],{},"每季度更新一次，只重算新增页面和更新过的页面。表格里加一列“我们做不做”，明确标出放弃的，别含糊。",[11,59,60],{},"我们给客户的表里，20 个页面中标的 11 个，放弃 9 个。放弃的原因写得很清楚：没素材、跟产品定位不符、词太小。",[15,62,63],{"id":63},"为什么不追爆款",[11,65,66],{},"竞品的爆款文章背后往往有品牌、外链、社群一起推，你看到的是结果，不是方法。追爆款的成功率低，还容易被带偏选题方向。",[11,68,69],{},"还有一个副作用值得说：打软肋这件事，销售也用得上。客户在对比阶段问“你们和 XX 有什么区别”，你能拿出这几篇比他写得更细的页面，对话会短很多。",[11,71,72],{},"打软肋的成功率高得多，因为你是在别人没做好的地方做得好一点，这个门槛低且可控。",[11,74,75],{},"我们内部把这类页面叫“有位置的废页”，有位置说明词有需求，废说明没人做好，两个条件同时成立的页面不多，遇到就别放过。",{"title":77,"searchDepth":78,"depth":78,"links":79},"",2,[80,81,82,83,84,85],{"id":17,"depth":78,"text":17},{"id":26,"depth":78,"text":26},{"id":35,"depth":78,"text":36},{"id":45,"depth":78,"text":45},{"id":54,"depth":78,"text":54},{"id":63,"depth":78,"text":63},null,"SEO","2026-05-05","竞品写得好的页面你追不上，写得差的页面才有机会。我们按字数、数据、结构、更新时间给 400 多篇竞品文章打分，挑出最差 20 篇，客户做了 8 篇，6 篇进前 30。",false,"md",{},true,"\u002Fblog\u002Fhit-competitor-weak-pages",{"title":5,"description":89},"blog\u002Fhit-competitor-weak-pages",[98,99,100],"竞品分析","内容策略","选题","0iDcvmAX-LUzu_xWfhl0SuVXFXe4fvHS7jECFFcLSjY",{"id":103,"title":104,"author":6,"body":105,"canonical":86,"category":199,"cover":86,"date":200,"description":201,"draft":90,"extension":91,"keywords":86,"meta":202,"navigation":93,"noindex":90,"ogImage":86,"path":203,"seo":204,"seoDescription":86,"seoTitle":86,"stem":205,"tags":206,"updated":86,"__hash__":210},"blog\u002Fblog\u002Fcls-mobile-viewport-shift.md","移动端 CLS 的三个特有来源，桌面测不出来",{"type":8,"value":106,"toc":191},[107,110,114,117,120,123,127,130,133,136,139,143,146,149,152,155,158,161,164,167,170,173,176,179,182,185,188],[11,108,109],{},"2026 年 5 月我们遇到一个站，桌面 CLS 0.02，移动端 0.21。图片宽高、第三方组件都查过了，没问题。最后发现三个偏移来源只在手机上出现，桌面版永远看不到。",[15,111,113],{"id":112},"第一处地址栏收起和展开","第一处：地址栏收起和展开",[11,115,116],{},"移动浏览器滚动时，地址栏会收起，视口高度变大，页面重新布局。如果页面里有依赖视口高度的元素，就会跳一下。",[11,118,119],{},"最典型的是用 100vh 设定的全屏区块。地址栏一收，100vh 变大，里面的内容跟着重排。",[11,121,122],{},"改法是换成 svh 或 dvh 单位，让高度跟着实际视口走。固定底部的按钮也要检查，别用绝对定位加百分比高度。",[15,124,126],{"id":125},"第二处输入法和键盘弹出","第二处：输入法和键盘弹出",[11,128,129],{},"用户在表单页点输入框，键盘弹出，视口高度瞬间减少一半。底部固定的元素被顶上去，或者页面滚动位置变化，都会记一次偏移。",[11,131,132],{},"这个问题在注册页、留资页特别常见，而这些页面恰恰是转化最关键的页面。",[11,134,135],{},"改法是尽量不用 fixed 定位的底部元素，或者用 visualViewport 接口监听键盘状态，主动调整布局。",[11,137,138],{},"还有一个细节：输入框获得焦点时页面自动滚动，这个滚动不算 CLS，但如果同时触发了元素重排，就会算。",[15,140,142],{"id":141},"第三处折叠菜单和横向标签","第三处：折叠菜单和横向标签",[11,144,145],{},"移动端的导航是折叠的。用户点开菜单，菜单把下面的内容推下去，这是一次明显的偏移。",[11,147,148],{},"横向滚动的标签栏也有类似问题：切换标签时内容区高度变化，下面的内容跟着跳。",[11,150,151],{},"改法是把折叠面板做成浮层，不占文档流；或者给内容区固定最小高度，变化范围控制在几十像素内。",[15,153,154],{"id":154},"为什么桌面测不出来",[11,156,157],{},"桌面浏览器没有地址栏收起，没有软键盘，视口高度固定，所以这三类问题在桌面上不会触发。",[11,159,160],{},"DevTools 的设备模拟虽然能模拟移动端视口，但它不会模拟地址栏和键盘的真实行为，滚动起来视口尺寸是固定的。",[11,162,163],{},"所以移动端 CLS 必须上真机测。模拟器只能看个大概。",[15,165,166],{"id":166},"真机怎么测",[11,168,169],{},"用安卓手机连电脑，打开 Chrome 的远程调试，在电脑上看 Performance 面板录屏。",[11,171,172],{},"录的时候做三个动作：上下滚动、点开菜单、在表单里点输入框。每个动作之后看有没有 Layout Shift 标记。",[11,174,175],{},"录屏比数据有用，因为你能看到具体是哪个元素在动、动了多少。",[11,177,178],{},"再看 CrUX 里按设备分组的数据。桌面合格、移动端超标，就说明问题出在这三类场景里。",[15,180,181],{"id":181},"一个建议",[11,183,184],{},"移动端的 CLS 单独设一条线，不和桌面共用。我们给客户的标准是移动端 0.1 以内、桌面 0.05 以内。",[11,186,187],{},"因为移动端的偏移对用户影响更大。屏幕小，一次偏移可能把整个按钮挪出视野，用户点不到，直接流失。",[11,189,190],{},"这类问题修起来都不难，难的是发现。桌面数据好看的时候，很少有人会想到用真机再测一遍。",{"title":77,"searchDepth":78,"depth":78,"links":192},[193,194,195,196,197,198],{"id":112,"depth":78,"text":113},{"id":125,"depth":78,"text":126},{"id":141,"depth":78,"text":142},{"id":154,"depth":78,"text":154},{"id":166,"depth":78,"text":166},{"id":181,"depth":78,"text":181},"技术SEO","2026-05-04","一个站桌面 CLS 0.02、移动端 0.21，查下来是地址栏、输入法和折叠菜单三个移动端独有的场景。这篇写成因、改法，以及真机怎么测。",{},"\u002Fblog\u002Fcls-mobile-viewport-shift",{"title":104,"description":201},"blog\u002Fcls-mobile-viewport-shift",[207,208,209],"CLS","移动端","页面体验","GwKpO4JJL9LLd1xbPHLu8h2ikEaAATw7UjWswU2FolU",{"id":212,"title":213,"author":6,"body":214,"canonical":86,"category":291,"cover":86,"date":292,"description":293,"draft":90,"extension":91,"keywords":86,"meta":294,"navigation":93,"noindex":90,"ogImage":86,"path":295,"seo":296,"seoDescription":86,"seoTitle":86,"stem":297,"tags":298,"updated":86,"__hash__":301},"blog\u002Fblog\u002Fserp-outline-reverse.md","从 SERP 前 10 反推大纲：我们 30 分钟搭一篇文章骨架的方法",{"type":8,"value":215,"toc":283},[216,219,223,226,229,233,236,239,242,246,249,252,256,259,262,265,268,271,274,277,280],[11,217,218],{},"写大纲最省力的方法不是拍脑袋，是把目标词前 10 名的结构全部拆开，看哪些子问题被反复覆盖、哪些没人讲。我们 30 分钟能搭出一篇的骨架。",[15,220,222],{"id":221},"第一步把前-10-名的标题和小标题抄下来","第一步：把前 10 名的标题和小标题抄下来",[11,224,225],{},"目标词搜一遍，取前 10 名自然结果（不算广告和本地包），把每个页面的 H2、H3 复制到一张表里。",[11,227,228],{},"这一步别偷懒用工具聚合，人工抄一遍，你会看到结构模式。我们一般用一个三列表：页面 URL、小标题、覆盖的子问题。",[15,230,232],{"id":231},"第二步统计哪些子问题反复出现","第二步：统计哪些子问题反复出现",[11,234,235],{},"把 10 个页面里出现 3 次以上的子问题挑出来，这些是\"必须覆盖\"的基本盘。",[11,237,238],{},"出现 1 到 2 次的，是\"可以覆盖\"的加分项。一次都没出现的，可能有两种情况：读者不需要，或者没人写好——需要判断。",[11,240,241],{},"这一步做完，文章的基本结构就有了。以\"API 监控\"为例，前 10 名反复覆盖的是：选型指标、告警设置、成本、常见错误。这四个必须写。",[15,243,245],{"id":244},"第三步找没人讲的空白","第三步：找没人讲的空白",[11,247,248],{},"空白是差异化所在，这一步最容易被跳过，也最值钱。看前 10 名缺什么：有没有人给真实截图？有没有人讲失败案例？有没有人算成本？有没有人对比自建和采购？",[11,250,251],{},"我们 2025 年 11 月给一个客户写\"日志管理\"的文章，前 10 名都在讲功能，没人讲\"日志量大的时候成本怎么控\"。我们加了一节实测数据，这篇后来排到第 4。",[15,253,255],{"id":254},"第四步定结构不照抄顺序","第四步：定结构，不照抄顺序",[11,257,258],{},"基本盘 + 差异化，重新排序。顺序按读者的理解路径排，不按别人的文章顺序排。",[11,260,261],{},"我们的默认结构是：结论前置 → 基本盘拆成 3 到 5 节 → 差异化一到两节 → 判断和建议。这个结构既能覆盖搜索意图，又留出信息增益的位置。",[15,263,264],{"id":264},"一个反例",[11,266,267],{},"2026 年 1 月我们接过一个客户的文章，大纲是把前 10 名的小标题按顺序拼起来，20 个小标题，一篇 6000 字。",[11,269,270],{},"结果：排名没起来，读者也看不完。因为它的结构是\"别人怎么写我怎么写\"，没有判断，也没有取舍。",[11,272,273],{},"大纲不是目录拼接，是取舍。前 10 名的结构是参考，不是模板。",[15,275,276],{"id":276},"一句判断",[11,278,279],{},"30 分钟搭大纲的关键，不是工具，是\"先看别人写了什么，再决定自己写什么\"。跳过这一步直接写，通常写到一半才发现别人早写过了。",[11,281,282],{},"这套方法我们用了两年，团队里新人第一天就能上手。大纲阶段多花半小时，写作阶段能省两小时。",{"title":77,"searchDepth":78,"depth":78,"links":284},[285,286,287,288,289,290],{"id":221,"depth":78,"text":222},{"id":231,"depth":78,"text":232},{"id":244,"depth":78,"text":245},{"id":254,"depth":78,"text":255},{"id":264,"depth":78,"text":264},{"id":276,"depth":78,"text":276},"内容运营","2026-05-06","写大纲最省力的方法不是拍脑袋，是把目标词前 10 名的结构全部拆开，看哪些子问题被反复覆盖、哪些没人讲。我们 30 分钟能搭出一篇的骨架，步骤、表格模板和一个反例都在这篇，照着走一遍就能上手。",{},"\u002Fblog\u002Fserp-outline-reverse",{"title":213,"description":293},"blog\u002Fserp-outline-reverse",[299,300,100],"内容大纲","SERP","Il1kVUuygNHFbEcPFWHUl5OfZKANE6DVNgMWPRQqzVo",1794088106222]