WordPress 归档页 AdSense 报错 availableWidth=0:从横向滚动条到 Gutenberg 区块结构的排查全过程

图 4:控制台出现 availableWidth=0

从经典到块:主题迁移

从Hueman到Twenty Twenty-Five,主题切换与多语言菜单配置

(1) 从Hueman到Twenty Twenty-Five,主题切换与多语言菜单配置

经过以上步骤,语言切换器最终在页面上的效果符合预期。(见图 9)

(2) 在 WordPress 2025 主题中,把 Polylang 语言切换器移到右上角的完整记录

页眉导航宽度异常问题:导航被内容宽度限制(图 4)

(3) WordPress Twenty Twenty-Five 全局宽度布局实操笔记:宽屏全幅+大屏限宽配置方案

中文(中国)前台首页:66主内容文章+33标准化侧边栏,区块正常显示(对应图6)

(4) 实操|WordPress Twenty Twenty-Five 区块主题 Text Blog Home 改造经典两栏首页(双语无损适配)

改造完成最终首页效果(图5)

(5) WordPress Twenty Twenty-Five 两栏首页改造:Text Blog 小图列表模板完整实操记录

图11:样式重写后下拉美观,但层级子分类在原生 Option 标签下以空格缩进表示

(6) 分类列表下拉菜单的美化与渲染机制调试实录

图3:应用修正后的 CSS,日历占据了应有的侧边栏宽度,有文章的日子用主题同色系进行了高亮,悬停时会变黑

(7) 修复日历在侧边栏“占不满”的问题:WordPress 2025 主题日历样式优化

图5:English 下的页面显示第二个 Language Visibility 区块

(8) 为博客首页侧边栏添加多语言「个人品牌」区块

图4:调整后的分页效果

(9) 一次 FSE 分页丢失的排查与修复:从纯布局样板到查询循环

在英文页面(https://www.shuijingwanwq.com/en/)中,日历上每个日期点击后跳转的链接仍然是 https://www.shuijingwanwq.com/2026/06/08/ 的形式,而不是预期的 https://www.shuijingwanwq.com/en/2026/06/08/。

(10) WordPress 2025 主题 + Polylang:修复日历链接缺少语言目录的完整记录

图4:中文站点,下拉菜单样式美观,显示“选择年份”。

(11) 优化 WordPress 2025 主题页脚:多语言导航、社交链接与归档下拉栏的完整改造记录

图2:分类页单栏效果

(12) 从单栏到两栏:WordPress分类页统一首页侧边栏及列表结构的实操记录

套用上述代码后,标签云立刻有了质的飞跃:

(13) 告别参差不齐!只用 CSS 打造适配 2025 主题的现代标签云

搜索“alipay”的结果,每篇文章都带了一张大尺寸的特色图片,紧跟着就是完整的正文内容。我的文章里还有代码片段,全都被拉出来显示在列表里,页面无限拉长,排版也乱糟糟的。如图1

(14) 搜索结果页太长了?我给WordPress 2025主题做了一次“断舍离”

在英文页面 https://www.shuijingwanwq.com/en/ 中,22 号显示蓝色链接

(15) WordPress 日历在 Polylang 多语言环境下的兼容性修复实践

Network检查确认:如图3

(16) WordPress主题迁移:Emoji处理代码是否需要保留?

图2 Site Wide Header

(17) WordPress 标签页 noindex 优化:从主题迁移到代码重构的实践分享

最近,我在检查我的 WordPress 网站时,发现浏览器开发者工具的控制台里出现了几个令人不安的红色错误信息:

(18) WordPress 控制台报错排查实录:从 jQuery 冲突到百度统计警告

再次无效后,我决定使用Auto Insert,Location选择"Frontend Only",并在代码中确定插入位置(图5)。

(19) 从Ad Inserter到WPCode:CTA配置迁移与优先级实现

我重新审视了这篇文章的内容,发现文章中直接包含了 WPCode 的简码调用:wpcode。如图4

(20) 记一次由 WPCode 简码引发的 WordPress 500 致命错误排查全记录

图6:Chrome无痕模式下,Logo和Favicon均显示正常

(21) 记一次 WordPress 2025 主题 Logo 与 Favicon 的折腾之旅

新的实现方式:基于WPCode Location的优化方案

(22) 从Ad Inserter到WPCode:CTA配置迁移与优化实践

初始配置(图1)

(23) WPCode代码片段插入顺序问题:理论与实践的差距

图 2:区块右侧面板的“额外 CSS”输入框。

(24) 优化 WordPress 热门文章列表间距,提升阅读体验

页面底部出现横向滚动条。

(25) WordPress 页面出现横向滚动条?一次从 CSS 到区块编辑器的完整排查记录

图 3:最终效果——浏览器标签栏、WordPress 编辑器及网站 Logo 显示正常,方块感基本消失

(26) AI 生成的 Logo 还有白边?借助 ChatGPT Plus,彻底解决 WordPress Favicon 方块感

图 4:控制台出现 availableWidth=0

(27) WordPress 归档页 AdSense 报错 availableWidth=0:从横向滚动条到 Gutenberg 区块结构的排查全过程

从经典到块(终章):主题迁移结束,我决定停止折腾

(28) 从经典到块(终章):主题迁移结束,我决定停止折腾

最近在调整博客归档页侧边栏时,遇到了一个看似简单却排查了很久的问题。

表面上看,是一个移动端横向滚动条问题。

但继续排查后发现,又牵扯出了 Google AdSense 的报错:

Plaintext
Uncaught TagError: adsbygoogle.push() error:
No slot size for availableWidth=0

更有意思的是:

当我解决其中一个问题时,另一个问题又会重新出现。

最终定位到的问题根源,既不是 CSS,也不是 AdSense,而是 Gutenberg 区块结构。


问题背景

归档页右侧侧边栏中放置了一个 AdSense 广告位。

最初的广告代码如下:

HTML
<ins class="adsbygoogle"
     style="display:block; width:450px; max-width:100%;"
     data-ad-client="ca-pub-xxxxxxxxxxxxxxxx"
     data-ad-slot="4220340824"
     data-ad-format="auto"
     data-full-width-responsive="true"></ins>

<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script>

之所以设置:

CSS
width:450px;

是因为之前 AdSense 一直报错:

Plaintext
No slot size for availableWidth=0

添加固定宽度后,报错消失了。

但新的问题出现了。


第一阶段:移动端出现横向滚动条

图 1:移动端出现横向滚动条
图 1:移动端出现横向滚动条

移动端测试时发现页面右侧可以横向滚动。

最开始怀疑:

  • 分类下拉框
  • 标签云
  • 日历
  • 自定义 CSS

甚至怀疑是 Twenty Twenty-Five 主题的问题。

为了定位问题,我在浏览器控制台执行:

JavaScript
const vw = document.documentElement.clientWidth;

[...document.querySelectorAll('*')]
  .filter(el => el.getBoundingClientRect().right > vw)
  .map(el => ({
    tag: el.tagName,
    class: el.className,
    width: Math.round(el.getBoundingClientRect().width)
  }))

最终发现大量元素宽度都变成了:

Plaintext
450px

包括:

  • 广告
  • 标签云
  • 日历
  • 侧边栏内容

继续向上排查后发现,罪魁祸首正是广告中的:

CSS
width:450px;

第二阶段:解决横向滚动条

于是将广告代码修改为:

图 2:广告代码修改
图 2:广告代码修改
HTML
<ins class="adsbygoogle"
     style="display:block; width:100%; max-width:100%; box-sizing:border-box;"
     data-ad-client="ca-pub-xxxxxxxxxxxxxxxx"
     data-ad-slot="4220340824"
     data-ad-format="auto"
     data-full-width-responsive="true"></ins>

修改后:

图 3:横向滚动条消失
图 3:横向滚动条消失

移动端页面恢复正常。

横向滚动条彻底消失。


第三阶段:新的问题出现

然而就在横向滚动条消失后。

控制台再次出现了之前的错误:

图 4:控制台出现 availableWidth=0
图 4:控制台出现 availableWidth=0
Plaintext
Uncaught TagError: adsbygoogle.push() error:
No slot size for availableWidth=0

也就是说:

Plaintext
width:450px

AdSense 正常

移动端异常

width:100%

移动端正常

AdSense 报错

两个问题似乎无法同时解决。


第四阶段:开始怀疑 Gutenberg 区块结构

此时开始检查归档页模板结构。

最初的侧边栏结构如下:

图 5:原始结构(Stack)
图 5:原始结构(Stack)
Plaintext
栏目
└── 栏目
    └── 堆叠(Stack)
        ├── 搜索
        ├── 分类列表
        ├── 广告(WPCode)
        ├── 标签云
        └── 日历

期间尝试过很多方案:

  • 修改 Column 宽度
  • 调整侧边栏比例
  • 给广告增加 min-width
  • 增加 min-height
  • 使用 Group 包裹广告
  • 使用自定义 HTML 区块
  • 延迟执行 adsbygoogle.push()

都没有彻底解决问题。


最终解决方案

后来尝试将:

Plaintext
堆叠(Stack)

直接替换为:

Plaintext
组(Group)

修改后的结构如下:

图 6:修改后结构(Group)
图 6:修改后结构(Group)
Plaintext
栏目
└── 栏目
    └── 组(Group)
        ├── 搜索
        ├── 分类列表
        ├── 广告(WPCode)
        ├── 标签云
        └── 日历

保存后刷新页面。

问题直接消失。


最终结果

图 7:最终效果
图 7:最终效果

最终同时满足:

1. AdSense 不再报错

控制台恢复正常:

Plaintext
No slot size for availableWidth=0

不再出现。

2. 广告正常显示

无需固定宽度:

CSS
width:100%;
max-width:100%;

即可正常加载。

3. 移动端无横向滚动条

页面恢复正常。

4. 侧边栏布局恢复自然

之前日历右侧会紧贴屏幕边缘。

修改后:

  • 日历显示正常
  • 标签云显示正常
  • 整个侧边栏间距恢复正常

原因分析

虽然 WordPress 官方文档并未明确说明两者的差异。

但从实际表现来看:

Plaintext
Stack(堆叠)

在布局计算阶段,内部元素的宽度可能尚未最终确定。

而 AdSense 的:

Plaintext
(adsbygoogle = window.adsbygoogle || []).push({});

执行得更早。

于是出现:

Plaintext
广告初始化

检测可用宽度

availableWidth = 0

抛出异常

而:

Plaintext
Group(组)

则不会出现这个问题。


本次排查总结

整个排查过程实际上经历了:

Plaintext
AdSense 报错

添加 width:450px

报错消失

移动端出现横向滚动条

删除 width:450px

横向滚动条消失

AdSense 再次报错

排查 Gutenberg 结构

Stack → Group

问题彻底解决

这次最大的收获不是修复了一个 Bug,而是再次验证了一条经验:

当页面布局出现异常时,优先定位具体元素与区块结构,不要一开始就怀疑 CSS 或写大量补丁代码。

很多时候,真正的问题可能只是一个区块类型选择错误。

AI 生成的 Logo 还有白边?借助 ChatGPT Plus,彻底解决 WordPress Favicon 方块感 从经典到块(终章):主题迁移结束,我决定停止折腾

技术博客运营与商业化咨询服务

本站已持续运营超过 10 年,累计发布 1000+ 篇原创技术文章,长期实践 WordPress 网站建设、性能优化、多语言运营、Google SEO 以及广告变现等方向。所有经验均来自真实网站运营过程中的持续实践与验证。如果你正在运营个人博客、技术网站或独立开发者项目,希望获得更多自然流量并探索网站商业化路径,欢迎联系我交流。

适合以下用户:
✅ 技术博客运营者
✅ 独立开发者与个人站长
✅ SaaS 产品官网运营团队
✅ 希望拓展海外流量的网站运营者
✅ 希望通过网站获得收入的内容创作者

服务内容:
WordPress 性能优化
SEO 优化咨询
多语言网站建设
广告收益优化
博客运营与商业化咨询

如需了解方案或交流相关问题,请直接联系我,并注明:博客运营咨询

联系方式:
Telegram:@shuijingwan
微信:13980074657
邮箱:shuijingwanwq@gmail.com

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理