[{"data":1,"prerenderedAt":288},["ShallowReactive",2],{"blog-lcp-element-diagnosis-steps":3,"blog-prev-lcp-element-diagnosis-steps":107,"blog-next-lcp-element-diagnosis-steps":190},{"id":4,"title":5,"author":6,"body":7,"canonical":91,"category":92,"cover":91,"date":93,"description":94,"draft":95,"extension":96,"keywords":91,"meta":97,"navigation":98,"noindex":95,"ogImage":91,"path":99,"seo":100,"seoDescription":91,"seoTitle":91,"stem":101,"tags":102,"updated":91,"__hash__":106},"blog\u002Fblog\u002Flcp-element-diagnosis-steps.md","定位 LCP 元素的三步查法，找错了改什么都白费","元析智能",{"type":8,"value":9,"toc":82},"minimark",[10,14,19,22,25,29,32,45,48,52,55,58,61,64,67,70,73,76,79],[11,12,13],"p",{},"软件站做 LCP 优化最常见的浪费，是把首屏最大的那张产品截图当成 LCP 元素，压了半天，其实真正的 LCP 元素是上面那个大标题。先定位元素再动手，三步，十分钟能定下来。",[15,16,18],"h2",{"id":17},"第一步看实验室里的-lcp-元素","第一步：看实验室里的 LCP 元素",[11,20,21],{},"PageSpeed Insights 的诊断区块里有 LCP 元素截图和它的选择器；Chrome DevTools 的 Performance 面板录一段加载，时间轴上会标出 LCP 候选和最终元素。这一步能解决八成站点。",[11,23,24],{},"有个坑要注意：如果截图里 LCP 元素是空白，或者显示的是一个 div，多半是图片没下载完就记录了，直接跳到第二步。",[15,26,28],{"id":27},"第二步把元素和请求对上","第二步：把元素和请求对上",[11,30,31],{},"LCP 元素告诉你\"是谁\"，请求瀑布图告诉你\"为什么慢\"。两个数必须对得上：",[33,34,35,39,42],"ul",{},[36,37,38],"li",{},"元素是图，看那张图的发现时间和下载时间",[36,40,41],{},"元素是文字，看字体文件加载和阻塞的 CSS",[36,43,44],{},"元素是容器背景，顺着 CSS 依赖链往下查",[11,46,47],{},"我们上周查一个站，LCP 元素是 h1 文字，请求里排第一的却是一张 1.2MB 的 banner。原因不复杂：字体加载晚于图片，h1 一直用回退字体渲染，等字体到位才记录 LCP。这种情况下你压缩 banner 是无效的，要去修字体加载路径。",[15,49,51],{"id":50},"第三步用真实用户数据交叉验证","第三步：用真实用户数据交叉验证",[11,53,54],{},"实验室是固定网络、固定设备，真实用户不是。GSC 的 Core Web Vitals 报告和 CrUX 数据能按设备、按国家分组，能看出移动端和桌面端是不是同一个元素。",[11,56,57],{},"我们见过移动端 LCP 元素是首图、桌面端是 h1 的站——两个端布局不同，移动端首图占满整屏。这种站只按桌面端优化，移动端等于一点没动。那家客户移动端 P75 是 3.8 秒，桌面端 2.1 秒，差了 1.7 秒，而移动端流量占了他们总访问的 64%。按桌面数据做决策，优化的方向从一开始就是偏的。",[15,59,60],{"id":60},"常见问题",[11,62,63],{},"Q：同一个页面，LCP 元素每次测都不一样怎么办？",[11,65,66],{},"先关掉自动轮播、先别加载 AB 测试和个性化推荐。这三个东西都会让首屏内容变来变去，测出来的元素自然不稳定。关掉之后再测三轮，取出现次数最多的那个元素，那才是你该改的目标。",[11,68,69],{},"Q：实验室数据和真实用户数据差一倍，信哪个？",[11,71,72],{},"都信，但动手术看实验室，验收看真实用户。实验室能告诉你瓶颈在哪，真实用户告诉你改了有没有用。只看实验室容易优化出一个漂亮分数，只看真实用户又不知道从哪里下手。",[15,74,75],{"id":75},"一个判断标准",[11,77,78],{},"三步走完，如果 LCP 元素和那个最慢的请求对不上，先别优化，去查优先级和发现时机；对上了，路径就很清楚：减体积、提前发现、去掉阻塞。",[11,80,81],{},"还有一个顺序问题：软件站的首屏经常有轮播图或者动态文案，LCP 元素会来回跳。遇到这种站，先关掉自动轮播再测，别拿一个每次都不一样的结果去做决策。",{"title":83,"searchDepth":84,"depth":84,"links":85},"",2,[86,87,88,89,90],{"id":17,"depth":84,"text":18},{"id":27,"depth":84,"text":28},{"id":50,"depth":84,"text":51},{"id":60,"depth":84,"text":60},{"id":75,"depth":84,"text":75},null,"技术SEO","2025-09-30","软件站 LCP 优化的常见浪费，是把首屏产品截图当成 LCP 元素，其实真正的是标题。实验室看元素、瀑布图看请求、真实数据看设备差异，三步十分钟定下来。",false,"md",{},true,"\u002Fblog\u002Flcp-element-diagnosis-steps",{"title":5,"description":94},"blog\u002Flcp-element-diagnosis-steps",[103,104,105],"LCP","性能诊断","调试方法","E2bLu4HOKFv77RJPfhZHZHgYofDm20Fnnto9nQC-zZk",{"id":108,"title":109,"author":6,"body":110,"canonical":91,"category":92,"cover":91,"date":180,"description":181,"draft":95,"extension":96,"keywords":91,"meta":182,"navigation":98,"noindex":95,"ogImage":91,"path":183,"seo":184,"seoDescription":91,"seoTitle":91,"stem":185,"tags":186,"updated":91,"__hash__":189},"blog\u002Fblog\u002Fsitemap-submit-no-response.md","sitemap 提交了没反应，先查这 5 个地方",{"type":8,"value":111,"toc":171},[112,115,119,122,126,129,132,136,139,143,146,150,153,156,159,162,165,168],[11,113,114],{},"sitemap 只是发现工具，不是收录开关。搜索引擎读它是为了知道有哪些 URL，至于收不收，看 URL 本身。提交后没反应，先按下面 5 个点查，不用急着改页面。",[15,116,118],{"id":117},"_1-sitemap-本身的-http-状态和类型","1. sitemap 本身的 HTTP 状态和类型",[11,120,121],{},"访问 sitemap 地址必须是 200，Content-Type 是 application\u002Fxml 或 text\u002Fxml；gzip 压缩的要命名为 .xml.gz 且服务器正确返回 gzip。返回 403 最常见，多半是被 WAF 或登录鉴权挡了。我们见过一个客户的 sitemap 挂在需要登录的后台，蜘蛛每次都被 302 到登录页，提交了半年没读过一次。",[15,123,125],{"id":124},"_2-里面的-url-是不是可索引的-200","2. 里面的 URL 是不是可索引的 200",[11,127,128],{},"这是最容易忽略的一条。sitemap 里放 301、302、404、noindex 的页面，等于告诉搜索引擎\"这些地址别当真\"。2025 年 7 月一个开发者工具站，sitemap 自动生成了 8500 条，其中 3200 条是带 utm 参数、302 到规范页的链接。清理后重新提交，两周内\"已编入索引\"从 1.1 万涨到 1.9 万，同期他们还改了模板，两件事一起见效。",[11,130,131],{},"生成规则要过滤：只放 canonical 自指、返回 200、没被 noindex 的 URL。",[15,133,135],{"id":134},"_3-lastmod-是不是全填了当天","3. lastmod 是不是全填了当天",[11,137,138],{},"有些 CMS 每次生成都把 lastmod 写成当前时间。搜索引擎发现这个字段不可信就忽略它，等于你主动放弃了\"告诉蜘蛛哪些页刚更新\"的机会。只在内容真正改动时更新，格式用带时区的完整时间。",[15,140,142],{"id":141},"_4-有没有超限有没有用索引文件","4. 有没有超限、有没有用索引文件",[11,144,145],{},"单个 sitemap 上限 5 万条 URL、50MB（未压缩），超过要拆成多个，再用 sitemapindex 汇总。我们经手的站里，多数其实不需要把全站塞进去，产品页、文档页、博客文章三类核心页面够了，剩下的交给内链发现。",[15,147,149],{"id":148},"_5-提交入口和域名是否一致","5. 提交入口和域名是否一致",[11,151,152],{},"robots.txt 里的 Sitemap 声明要用绝对地址；GSC 里提交的 sitemap 必须和资源同源，www 和非 www 别混，百度搜索资源平台同理。多语言站每个语言版本单独一个 sitemap，混在一个文件里对收录没有帮助。",[15,154,155],{"id":155},"我们现在的生成方式",[11,157,158],{},"站点一旦超过两三百个 URL，靠手写 sitemap 一定会漏。我们通常让后端按模板生成：取数据库里\"已发布、未删除、status 为 published\"的内容，拼出规范 URL，再按内容类型拆成三个子文件，用 sitemapindex 汇总。生成任务挂在内容发布之后跑，只对刚改动的那几条更新 lastmod。",[11,160,161],{},"有个容易踩的细节：文档站经常有中英文两套路径，英文路径如果只是中文页面的机翻版本，别往同一个 sitemap 里塞，按语言分开，各自声明对应的语言版本。混着放会让搜索引擎搞不清哪个是主版本，最后两边都收得很浅。",[11,163,164],{},"改完 sitemap 别指望当天见效。Google 一般几天内重读，百度慢一些，一到两周都正常。这期间去 GSC 的\"sitemap\"报告看\"已发现的网页数\"有没有涨，涨了就说明读到了，收录交给时间。",[15,166,167],{"id":167},"一个判断",[11,169,170],{},"5 条都过了还是不收录，问题就不在 sitemap，回去查抓取日志和页面质量。sitemap 能做的到此为止，别再在这上面耗时间。",{"title":83,"searchDepth":84,"depth":84,"links":172},[173,174,175,176,177,178,179],{"id":117,"depth":84,"text":118},{"id":124,"depth":84,"text":125},{"id":134,"depth":84,"text":135},{"id":141,"depth":84,"text":142},{"id":148,"depth":84,"text":149},{"id":155,"depth":84,"text":155},{"id":167,"depth":84,"text":167},"2025-09-29","提交 sitemap 不等于收录。我们用 2025 年 7 月一个 8500 条 URL 的站点复盘，其中 3200 条是 302 追踪链接。下面 5 个检查点按顺序过一遍，能排掉九成\"提交无效\"的情况。",{},"\u002Fblog\u002Fsitemap-submit-no-response",{"title":109,"description":181},"blog\u002Fsitemap-submit-no-response",[187,188,92],"XML sitemap","收录","qvxT1_nEL2yhm3B3Q0J6vhrm-9AUktbGapTMhodJZo8",{"id":191,"title":192,"author":6,"body":193,"canonical":91,"category":276,"cover":91,"date":277,"description":278,"draft":95,"extension":96,"keywords":91,"meta":279,"navigation":98,"noindex":95,"ogImage":91,"path":280,"seo":281,"seoDescription":91,"seoTitle":91,"stem":282,"tags":283,"updated":91,"__hash__":287},"blog\u002Fblog\u002Fcompetitor-content-gap-audit.md","竞品内容差距分析，我们从抓竞品目录开始做表",{"type":8,"value":194,"toc":268},[195,198,202,205,208,212,215,218,222,225,228,231,235,238,241,244,247,250,253,256,259,262,265],[11,196,197],{},"2025 年 9 月，一个客户问：竞品每个月能出 12 篇，我们为什么只能出 3 篇。我把他和两个竞品的博客目录抓下来做成表，400 多行，看完他就不问了——竞品那 12 篇里，8 篇是同一类内容换标题。",[15,199,201],{"id":200},"第一步抓目录不抓正文","第一步：抓目录，不抓正文",[11,203,204],{},"从 sitemap.xml 和博客列表页抓全量 URL，记四件事：标题、URL 路径、发布时间、有没有更新标记。",[11,206,207],{},"三家加起来 431 篇。数量差得不多，问题在结构。",[15,209,211],{"id":210},"第二步给每篇打标签","第二步：给每篇打标签",[11,213,214],{},"标签只要四个：意图（学习、方案、对比、操作）、主题（按你们的产品模块分）、体裁（教程、清单、观点、对比、数据文）、字数。",[11,216,217],{},"431 篇打完标签，分布就出来了。有一家 60% 的篇幅在写学习类内容，对比页只有 4 篇。这就是空位。",[15,219,221],{"id":220},"第三步三种空位分开看","第三步：三种空位分开看",[11,223,224],{},"题材空位：竞品完全没写的主题。我们的判断是，如果一个主题在客户工单里出现过 3 次以上，竞品没写，我们写。",[11,226,227],{},"角度空位：竞品写了，但只写了通用版。他写“CRM 怎么用”，我们写“电商客服团队怎么用 CRM 管复购”。同一个词，落到具体场景。",[11,229,230],{},"时间空位：竞品两年前写过，数据已经过时。这类最好打，他那个老页面有排名，你的新页面内容更新，用户自己会选。",[15,232,234],{"id":233},"第四步别把空位全填满","第四步：别把空位全填满",[11,236,237],{},"431 篇里我们挑出的空位有 90 多个，最后进三个月排期的是 24 个。剩下的先记着。",[11,239,240],{},"原因很实际：有些空位填了也没人搜，有些空位需要的素材我们拿不到，还有些空位填进去会跟自己的产品能力打架。",[11,242,243],{},"能填的空位和该填的空位，是两件事。",[15,245,246],{"id":246},"做这张表花多少时间",[11,248,249],{},"第一次做，431 篇的标签我花了六个小时，其中四小时在打标签。第二次做同一批竞品，只更新新增的 37 篇，一个半小时。",[11,251,252],{},"后来我们把标签规则写成半自动的：URL 路径含 vs、versus、compare 的标对比，含 guide、how 的标教程，剩下的看标题词。机器先打一遍，人工只改错的，能省三分之二时间。",[11,254,255],{},"省下来的时间应该花在判断上，而不是花在复制粘贴上。",[15,257,258],{"id":258},"这张表怎么用下去",[11,260,261],{},"表格每个月更新一次，只追加新增文章。半年下来你会看到，对手的选题偏好比他的产品路线图还稳定。",[11,263,264],{},"内容差距分析的价值不在找到差异，在找到差异里那些我们能赢的部分。90 个空位里只有 24 个能赢，做那 24 个就够了。",[11,266,267],{},"顺带说一句，这张表还有个副作用：做久了你会对竞品的选题套路脱敏，不再因为它发了什么就慌着跟。2025 年 10 月我们自己的判断标准是，只要对手的新文章不在我们表里的空位清单上，就不跟。",{"title":83,"searchDepth":84,"depth":84,"links":269},[270,271,272,273,274,275],{"id":200,"depth":84,"text":201},{"id":210,"depth":84,"text":211},{"id":220,"depth":84,"text":221},{"id":233,"depth":84,"text":234},{"id":246,"depth":84,"text":246},{"id":258,"depth":84,"text":258},"内容运营","2025-10-01","抓三个竞品的文章目录，打四个标签，做一张 400 行的表，空位就出来了：题材空位、角度空位、时间空位。这篇写我们每月做一次的具体步骤和筛选标准。",{},"\u002Fblog\u002Fcompetitor-content-gap-audit",{"title":192,"description":278},"blog\u002Fcompetitor-content-gap-audit",[284,285,286],"竞品分析","内容差距","选题","nXUzYJxzTWcZNchJqCjR2NArADiTxhGwTWVxdYBOTyY",1794088112004]