本页聚焦 Auto Ads 与 Manual 同时启用时引发的故障表现。如果你还没决定用哪种、需要选型比较(收入、Core Web Vitals、控制度),看 Auto Ads vs Manual 选型指南。
常见的演化路径是:一开始图省事开 Auto Ads,“放着不管就行”;后来为了多赚一点又在文章模板里加了几个手动 <ins> 广告位;结果页面变成老虎机——广告挨着广告堆出来、每次滚动版式抖一下、AdSense 控制台还时不时跳出”广告密度过高”。下面是五种真实的故障表现以及怎么把它们一个个解开。
故障 1:文章正文里两个广告紧贴着出现
怎么判断:移动端从头滚到尾。看到 Auto Ads 在第 3 段插了一条 in-article,然后你的手动 <ins> 在第 4 段又插一条。同一屏,两个广告块,中间几乎没有内容。
为什么会这样:Auto Ads 的 in-article 插入器不知道你的手动 <ins> 在哪。它把页面当成”完全没有广告”来分析,在它认为是”自然分隔点”的地方插。
怎么修:AdSense 控制台 → 广告 → 按网站 → 编辑你的站。在 “Ad formats” 里关掉 In-article 和 In-feed,前提是你已经手动接管了正文广告位。Auto Ads 只保留 Anchor 和 Vignette,这两个不会和正文位冲突。
故障 2:CLS 在 Core Web Vitals 里飙升
怎么判断:PageSpeed Insights 或 CrUX 报告显示移动端 CLS > 0.1,肇事元素是广告容器。Lighthouse 实验室复现也是同样结论。
为什么会这样:Auto Ads 在运行时插入一个没有预留高度的 <div>。浏览器已经排好版了,800 毫秒后广告才到,把后面的内容整体往下推。
怎么修:
- 手动广告位一律用 CSS 预留高度:
.ad-slot \{ min-height: 280px; /* 按你常用的响应式尺寸取平均 */ display: block; \} - 对 Auto Ads,在控制台关掉移动端 Anchor ads 和 Vignette ads(如果它们是 CLS 的元凶,控制台能按格式分别看 CLS)。
- 用
web-vitals库在真实用户身上跑 1–2 周 CLS,再下”修好了”的结论。
故障 3:侧栏手动位和 Auto Ads 侧栏同时出现
怎么判断:桌面端,你的手动侧栏 <ins> 出了一条广告,下面或旁边 Auto Ads 又插了一条侧栏广告。
为什么会这样:Auto Ads 的 “side rail” 选项还开着,而你的模板没办法告诉它”侧栏已经被我接管了”。
怎么修:AdSense → 你的站 → 编辑 → 明确关掉 Side rail。Auto Ads 没办法检测你已有的手动侧栏,必须手动告诉它。
故障 4:Anchor 广告盖住你的吸底 CTA
怎么判断:移动端,你的”订阅”或”购买”吸底栏被 AdSense 的 anchor 广告盖住,用户点不到 CTA。
为什么会这样:AdSense anchor 广告用 bottom: 0 加高 z-index 钉在底部,你的吸底也在底部但 z-index 更低。
怎么修——三选一:
- 在 AdSense 设置里直接关掉 Anchor(最干净)。
- 把吸底 CTA 改成
bottom: 60px,让 anchor 在它下面。 - 检测页面里的 anchor DOM(
<body>末尾附近的#google_ads_iframe_*),存在时隐藏吸底 CTA。
内容站一般选第一个:anchor 广告挣的钱往往小于一个清晰转化路径。
故障 5:AdSense 控制台出现”广告密度过高”
怎么判断:AdSense 控制台 → Policy center 对某条 URL 出现 “valuable inventory: ad-to-content ratio” 警告。
为什么会这样:Auto Ads 以为页面有 0 个手动广告位,你的模板以为页面有 0 个 Auto Ads。两边各自插,合起来超了。
怎么修:看 广告密度违反政策。简化版:二选一。要么 Auto Ads 全开、删掉大部分手动位;要么 Auto Ads 限制成”只用 Anchor + Vignette”,正文交给手动。
最短修复路径
按命中率排序:
- 每种广告位类型只选一边——正文用手动 OR Auto,不要两个都开。解决约 60% 的冲突。
- 如果你已有手动侧栏,关掉 Auto Ads 的 Side rail——解决约 20%。
- 如果你已有吸底 CTA,关掉 Auto Ads 的 Anchor——解决约 15%。
- 每个手动
<ins>都用 CSS 预留高度——无论用哪种策略,都能修 CLS。
预防建议
- 在项目
README.md里写清楚广告策略:「Auto Ads 负责 X、Y。手动负责 A、B。」未来的你和任何合作者都需要这条记录。 - 每加一个手动位,立刻去 AdSense 设置关掉对应的 Auto Ads 格式。
- 每改一次 Auto Ads 设置后跑一次 Lighthouse 移动 + 桌面。不要只信 AdSense 仪表盘的 CLS。
- 定期截图一篇文章的移动 + 桌面布局,每季度更新。和上季度做视觉 diff 能抓出慢慢累积的密度变化。
FAQ
Q:关掉 Auto Ads 正文位会掉收入吗? A:通常不会,前提是你有 2–3 个位置合理的手动位覆盖同样的位置。Auto Ads 通常是把展示量做高了,但 CPM 更低。
Q:能在同一个站上 A/B 测 Auto vs 手动吗?
A:原生不行——AdSense 没有按 URL 切换 Auto Ads 的开关。可以用控制台里的 URL 模式定向做一些 workaround(/blog/* 只跑 Auto,/articles/* 只跑手动),但脆弱。
Q:我关了 Auto Ads 正文位,但广告还在出现,为什么? A:缓存。AdSense 设置生效要 30 分钟,你站点的 CDN 缓存里旧版本页面可能更久。用无痕硬刷新复验。
Q:只用手动位会过不了 AdSense 审核吗? A:不会——手动是官方完全支持的方案,很多站主就是因为上面这些可控性原因选手动。
Q:Auto Ads 插进了我的代码块里,怎么阻止?
A:给容器加 data-no-ads 或 adsense-disabled 类名,然后在 AdSense 设置 → Page exclusions 里排除这个选择器。或者把代码块挪出 Auto Ads 瞄准的正文容器之外。