搭建一个完全由自己掌控的独立博客,除了分享技术和沉淀知识,能不能让它自己赚出每年的域名费呢?
在现代纯静态博客架构中,因为采用了 GitHub Pages + Cloudflare 的免服务器托管模式,服务器成本是零,CDN 成本也是零,唯一的固定支出就是每年几十块钱的域名年费。如果能顺手接入 Google AdSense(谷歌广告联盟),哪怕每月只有几杯咖啡钱的被动收益,也足够让博客变成一台自我造血的「全自动打工机」,自己把域名续费挣出来。
本篇介绍在 RustPress 静态站点中配置 Google AdSense 的标准做法,包括 ads.txt 防盗认证 与 广告代码埋点。
一、获取 AdSense 发布商 ID (Publisher ID)
- 登录 Google AdSense 控制台 并添加你的独立域名;
- 进入 账号 (Account) -> 设置 -> 账号信息,复制你的 发布商 ID (Publisher ID),格式通常形如:
pub-1234567890123456
二、配置根目录 ads.txt 防盗验证文件
Google 强制要求所有接入 AdSense 的站点在根目录下提供 ads.txt,防止黑客伪造广告投放。
1. 创建 source/ads.txt
在博客的 source/ 根目录下直接新建 ads.txt 文件:
google.com, pub-1234567890123456, DIRECT, f08c47fec0942fa0
注意:把上面的
pub-1234567890123456换成你自己的真实发布商 ID。末尾的f08c47fec0942fa0是 Google 官方固定的权威认证标记,官方怎么写你就怎么写,不要更改。
2. 确保 CI/CD 构建时自动拷贝
在 .github/workflows/deploy.yml 构建步骤中,确保有一行把 ads.txt 复制到产物根目录:
cp source/ads.txt public/ads.txt
部署上线后,直接在浏览器里打开 https://yourdomain.com/ads.txt,能直接读到这行文本就代表配置无误。
三、在主题模板中嵌入广告代码
Google AdSense 支持两种投放方式:全自动智能广告(Auto Ads) 和 固定自适应广告单元(Ad Units)。
1. 方式 A:接入全站自动广告(最省心)
编辑你所使用的主题基础模板 themes/light/templates/base.html(或 themes/default/templates/base.html),在 <head> 区域加入 AdSense 官方载入脚本:
<!-- Google AdSense Auto Ads -->
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-1234567890123456"
crossorigin="anonymous"></script>
机制:开启自动广告后,Google 的算法会自动分析你博客的文章排版,在不严重破坏阅读体验的合适间隙(如大段落之间、侧边栏底部)自动展示自适应广告。
2. 方式 B:手动指定广告展现位置(精确可控)
如果你有极强的排版强迫症,希望广告只出现在文章末尾或侧边栏指定位置:
可以在 AdSense 后台创建一个「展示广告单元」,并将代码贴到 post.html 或 components/sidebar.html 中:
<div class="my-6 text-center">
<ins class="adsbygoogle"
style="display:block"
data-ad-client="ca-pub-1234567890123456"
data-ad-slot="9876543210"
data-ad-format="auto"
data-full-width-responsive="true"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
</div>
这两种展示方式各有千秋。
全自动广告无需手动干预即可最大化被动收益;但算法有时会在长代码块或核心逻辑推理段落中间强插广告,严重破坏读者阅读体验。还可以这样优化,在列表页与轻量随笔中开启自动广告;在代码密集、沉浸感要求极高的连载专栏中改用文末固定插槽。目前 RustPress 默认采用的全自动广告。
四、关于 AdSense 审核被拒的经验谈
不少博主在申请 AdSense 账号时,经常会收到谷歌发来的拒绝邮件,里面写着诸如「网站内容质量不足」、「不符合合作规范」等模棱两可的官方套话。
面对这种邮件,不用过分焦虑或反复修改站点。谷歌拒绝新站申请,90% 以上的真实原因只有一个:网站刚上线,几乎没有自然搜索流量或真实读者访问。
解法其实很简单:
- 先踏踏实实写上 15~20 篇有深度、有干货的原创技术文章;
- 完善
about.md作者主页与联系方式; - 把文章发给技术交流群或同行朋友读一读,沉淀一部分初始访问数据;
- 等博客上线运行两三周、有了稳定的日常访客后再去提交审核,基本就能水到渠成一键通过。
下一篇,我们来看如何为静态博客接入完全原生、数据归自己掌控的 GitHub Issues 评论与点赞系统。