码农pilot的个人博客

0%

在NeXT主题中接入Google AdSense

这个博客从建站到现在,也差不多有两三年时间了,一直以来也都是一种“用爱发电”的状况,看到其他博主都开始通过接入广告联盟来挣零花钱,说不心动那是不可能的。所以就研究了一下怎么在这个博客里面接入Google AdSense。

在使用本文介绍的方法前,请检查您的NeXT主题版本是否为v6.0.2或后续版本,因为本文涉及的功能是在v6.0.2引入的。

虽然网上已经有很多类似的博文了,我为什么还要再写一篇呢?主要是因为,很多文章在添加认证代码的时候,都是直接修改themes/next/layout/_partials/head.swig或者themes/next/layout/_custom/google_adsense.ejs等位置,说白了就是在NeXT主题所在的目录动手了,而我并不喜欢这种侵入性强的操作。经过一点简单的搜索,我发现是可以通过数据文件来实现非侵入性的修改的,所以就想讲一下我的做法。当然借此机会还能水一篇博文何乐而不为 /滑稽

那么言归正传,一起来看一下我是怎么配置的吧。

注册Google AdSense

要接入AdSense,那当然要有一个AdSense的账户。进入Google AdSense主页,点击“开始使用”,跟随页面提示填好各项信息,这部分操作很简单,就不多废话了。

但是这里可能有一个坑,就是我只能接入一个裸域名,不知道是我的问题还是AdSense就是这么要求的。我的博客地址是https://www.boris1993.com,但是在页面上输入网站地址之后,AdSense会把www这个二级域名去掉,变成裸域名https://boris1993.com,所以我只好把裸域名也关联到了我的博客站上。你们在配置的时候,记得注意一下这个地方。如果你知道具体的原因,或者解决方案,那么也请不吝赐教,在留言区告诉我。

添加AdSense代码

在注册完成后,AdSense会给你一串代码,并要求你把这串代码放在<head></head>标记中。注意这里就是我跟他们不一样的地方了。

同时再次提醒确认你的NeXT主题的版本是不是v6.0.2或后续版本。如果不是的话,你要么考虑升级,要么可以点❌关闭了。

首先,我们需要在主题配置文件中指定自定义layout文件的位置。当然,这步也是在数据文件中操作的。什么?你还没有用数据文件这个功能?那你赶紧学习并且用起来吧,省的每次更新主题还要担心丢配置。

source/_data/next.yml中增加如下配置:

1
2
3
4
# 配置的原文可以在themes/next/_config.yml的24行找到(针对v7.5.0)
custom_file_path:
# 因为我们只需要自定义head部分,所以就只配置head这一个属性,其他都保持默认
head: source/_data/head.swig

指定好head.swig的位置之后,我们继续在source/_data中创建head.swig文件,并把AdSense给我们的那串代码放在head.swig里面,就像这样:

1
<script data-ad-client="██████████" async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>

然后可以重新启动一下本地的Hexo环境,检查<head></head>标记中有没有出现刚才添加的代码。检查没有问题之后,就可以部署到生产环境使上面的修改生效了。为了保险起见,在生产环境上也要检查一下<head></head>标记中有没有出现刚才添加的代码。确认没有问题之后,就可以回到AdSense页面中点击验证按钮了。

注意,如果AdSense告诉你检查不通过,你一定不要频繁点击再次检查,一定要先确定检查不通过的原因,并在排除问题之后再重新检查,因为每天检查次数是有限制的,如果超过限制,就只能等24小时之后再检查了(别问我是怎么知道的

然后AdSense会开始审核阶段,这期间我们静静等待审核结果的邮件就好了。

因为在写这篇博文的时候,我也在等AdSense审核,所以这篇文章暂且先告一段落,等有了结果我再更新后面的内容。

坑了这么久一直没有更新,一方面是因为工作有些忙没时间写,另一方面是,我连着三次重试,都没有通过,而审核失败的原因是:

鉴于新型冠状病毒肺炎 (COVID-19) 在全球范围内的爆发态势,我们暂时推迟提供某些服务。这意味着,我们目前无法审核您的网站。
对于由此可能给您带来的任何不便,我们深表歉意,同时也感谢您的耐心等待。

那没办法了,只能过一段时间再试试咯。

标准结局

如果我的博客帮到了你,那么可不可以请我喝一杯咖啡?