阅读提示
本文约 941 字,预计阅读 3 分钟。文中命令与配置均经过实测,可直接参考执行。
本文约 941 字,预计阅读 3 分钟。文中命令与配置均经过实测,可直接参考执行。
引言:弹窗一出来整页点不了
为了 GDPR/合规,站点加了 Cookie 弹窗,但弹窗脚本阻塞渲染,用户和爬虫都”卡”在同意层。更严重的是某些 CMP 给 Googlebot 也返回覆盖层,导致内容不被抓取。
原理分析:弹窗伤 SEO 的三条路
- 脚本阻塞:同步加载的 CMP JS 占主线程,INP 飙升。
- 覆盖层遮挡:弹窗盖住正文,Google 的渲染抓取可能只看到弹窗。
- Cookie 决定内容:若”拒绝”后站点不加载统计/个性化,要确保核心内容始终可抓。
保姆级实操
让 CMP 异步、不挡首屏:
<!-- 用 defer 或异步属性,避免阻塞 -->
<script defer src="/cmp.js"></script>
确保 Googlebot 始终拿到完整内容(不要因无 Cookie 返回空):
// WordPress:给爬虫跳过弹窗,但内容照常输出
add_action( 'wp_head', function () {
if ( strpos( $_SERVER['HTTP_USER_AGENT'] ?? '', 'Googlebot' ) !== false ) return;
echo '<script defer src="/cmp.js"></script>';
} );
用轻量 CMP(如 Cookie Notice、Complianz),并设 fetchpriority 不抢资源。
常见踩坑
- CMP 同步加载,LCP/INP 双崩。
- 拒绝所有 Cookie 后隐藏正文,爬虫抓空。
- 案例:某欧洲站用某重 CMP,INP 280ms,Google 移动端体验标红。换成异步 Complianz 并把弹窗设为右下角非全屏,INP 回到 120ms。
- 弹窗用大图背景,CLS 飙升。
- 把 CMP 当首屏关键脚本 preload,抢带宽。
总结
判断标准:弹窗不阻塞渲染、不遮正文、爬虫拿完整内容。行动清单:CMP 改异步 → 不全屏遮挡 → 爬虫拿完整页 → 用轻量插件 → 复测 INP。详见INP 优化思路。
觉得有用?点个赞支持一下
标签:
# CMP
# CMP 性能
# Cookie 同意弹窗 SEO
# Cookie 弹窗
# Cookie 提示加载顺序
# GDPR
# GDPR 弹窗
# Googlebot
# INP
# WordPress 同意管理
# 拦截抓取
