AdSense收益受损风险需要修正ads.txt问题解决办法

投稿   明月登楼  2019-08-02 07:23:23  140 人阅读  19 条评论

最近明月得谷歌 AdSense 账户后台总是显示一条“收益受损风险 - 您需要修正一些 ads.txt file 问题,以免收入严重受损。”的提示已经好多天了,这两天抽空解决了一下,期间在跟站长交流的时候发现不少站长都有一个关于域名解析得误区,给站点带来了很大得安全隐患,正好借助于这个 ads.txt 问题给大家讲解一番。

AdSense收益受损风险需要修正ads.txt问题解决办法 - 第1张 - boke112导航(boke112.com)

首先,谷歌 AdSense 出现“收益受损风险 - 您需要修正一些 ads.txt file 问题,以免收入严重受损。”这个提示的原因其实很简单,就是谷歌 AdSense 的爬虫无法抓取到站点根目录下得 ads.txt 文件了。至于说这个 ads.txt 文件是干嘛的,有兴趣得站长可以参考【投放 Google Adsense 网站提示缺少 ads.txt 文件怎么办?】一文了解即可。那么就有站长提出自己网站根目录下明明有这个 ads.txt 文件呀?为啥谷歌 AdSense 依旧这么“顽固”的提示这个问题呢?

先说说如何解决谷歌 AdSense 这个提示

很明显这不是谷歌 AdSense 的错,原因可能就出在我们站点域名的 DNS 解析。新手站长们和谷歌 AdSense 理解的“站点根目录”存在差异,一般我们理解的“站点根目录”是类似 www.mysite.com/这样的,谷歌 AdSense 所谓得“站点根目录”其实是 mysite.com/这样的,细心得站长们可能发现就是少了一个 www.而已,可不要小看少了这个 www.,理论上 www.mysite.com 和 mysite.com 对于搜索引擎来说是两个站点:mysite.com 是主域名站点,www.mysite.com 是个二级域名站点。虽然我们习惯性并且经常想当然的把 www.mysite.com 当作我们的站点域名来使用,但依旧改变不了 mysite.com 才是我们主域名的事实,至于为什么主域名前面加 www,大家可以自行百度、谷歌一下“万维网”脑补,明月就不再赘述了(实际是解释万维网真的是太暴露年龄了!╯□╰)。

AdSense收益受损风险需要修正ads.txt问题解决办法 - 第2张 - boke112导航(boke112.com)

分清楚了主域名和二级域名我们再来看谷歌 AdSense 这个有关 ads.txt 的提示就明白,如果你是用 www.mysite.com 作为站点域名的话,那么看到谷歌 AdSense 这个提示基本就断定是谷歌 AdSense 请求 mysite.com 主域名访问 ads.txt 出错了,也就是 mysite.com/ads.txt 这个网址访问存在异常。原因就是你在做域名 DNS 解析的时候主域名解析没有设定好。这个“没有设定好”有很多含义,当我们需要将域名解析给指定的站点服务器的时候都是 A 解析到 IP 地址即可,主域名和二级域名解析举例如下:

  • @做 A 解析到服务器 IP,对应域名形式 mysite.com
  • www 做 A 解析到服务器 IP,对应域名形式 www.mysite.com

这就是常见站点域名 DNS 解析的方法,这种解析可以无论 mysite.com 还是 www.mysite.com 访问都可以到达你的站点。

为了 SEO 优化的需要,一个站点只使用一个域名才是正理,因为在搜索引擎看来主域名和二级域名是两个站点,所以我们会根据自己的喜好在主域名和 www 二级域名里优先选择一个作为站点主要域名使用。无论选择哪个都必须保证另一个可以自动跳转重定向到优先使用的域名上,因为约定俗成的原因,我们就以优先使用 www.mysite.com 为例,这个时候就要保证 mysite.com 的访问请求可以自动跳转重定向到 www.mysite.com,这种叫做 301 重定向跳转。

搜索引擎是支持和允许这种重定向跳转的,一般 301 重定向可以借助站点服务器上 Web 服务器应用来实现。不少站长们都忽略了这一步造成自己的站点 mysite.com、www.mysite.com 都可以访问,这对搜索引擎来说就是一个站点两个域名了,这样站点域名的权重就被分散了,对站点 SEO 是很不利的。

明月的博客选择的就是以 www.imydl.com 为主要域名的,造成谷歌 AdSense 这个提示就是因为疏忽忘了给 imydl.com 也做 DNS 解析了,没有 DNS 解析即使 Web 服务器里做了 301 重定向依旧是 imydl.com 请求失败。这个疏忽主要是从更换 DNS 解析服务 CloudXNS阿里云 DNS 期间造成的,所以近期谷歌 AdSense 有了这个提示。理解了这些解决谷歌 AdSense 这个提示也就很简单了,无非就是在 DNS 解析里做个@值的 A 解析到服务器 IP 即可。一般完成解析 24 小时候谷歌 AdSense 这个提示就消失了也就表明成功的解决了。

AdSense收益受损风险需要修正ads.txt问题解决办法 - 第3张 - boke112导航(boke112.com)

再说说启用了 CDN 后如何做域名的解析

上面是解决了谷歌 AdSense 的警告提示,很多站长都知道明月一直都很推崇给站点使用 CDN一是可以提升站点访问速度,二是隐藏站点服务器真实 IP 以提升站点服务器的安全。不少站长在使用 CDN 的时候总是忽略今天讲到的这个主域名和 www 二级域名的问题。看似两个都解析有点儿多余,其实不然,因为你没法保证用户只用主域名或者 www 二级域名访问站点,并且从输入效率上来说主域名访问更快捷,不是嘛?所以为了保证兼容性和用户体验甚至对搜索引擎的友好度这是必须要做的,即使用了 CDN 也要这样做。在给站点启用 CDN 时比较常用的方式就是 CNAME 方式了,也就是在 DNS 解析服务里将 A 解析更换为 CNAME,解析记录由 IP 更换为 CDN 提供的 CNAME 值,IP 地址提交给 CDN 作为回流源。

今天要给大家强调的就是在使用 CDN 的时候主域名和 www 二级域名都要放到 CDN 里,这样做的主要原因就是可以保证真正隐藏了服务器真实 IP。主域名和 www 二级域名不能共享一个 CDN 的 CNAME 值,原因还是“主域名和 www 二级域名理论上是两个站点”这条铁律。也就是说在 CDN 里添加一个主域名 mysite.com 了还要添加 www.mysite.com 二级域名,哪怕 IP 源站是一样得!通俗点讲这样做的好处就是“头尾兼顾”,否则就是“顾头不顾腚”,那就很尴尬了也很不安全!有点儿绕,大家慢慢理解吧!

AdSense收益受损风险需要修正ads.txt问题解决办法 - 第4张 - boke112导航(boke112.com)

Nginx 如何实现主域名和 www 二级域名的 301 重定向

因为今天讲的这个很抽象,所以很多站长们可能一时理解不了,明月建议大家理解与否都要做好这方面的工作,以后慢慢理解就是了,因为这涉及站点 SEO、服务器安全很多方面。所以为了方便大家死搬硬套,特分享一下 Web 服务器 Nginx 下实现主域名和 www 二级域名的 301 重定向配置方法,大家只需要将里面得域名更换为自己的域名放到对应的 Nginx 站点配置文件里即可。

如果你的站点是 HTTP 协议的话,只需要将下面得配置代码添加到 Nginx 站点配置文件 sever 模块里即可,具体位置建议在 server_name 语句行下面,如:

server
{
listen 80;
#listen 443 ssl;
server_name mysite.com www.mysite.com;
#301 跳转
return 301 http://www.mysite.com$request_uri;
#下面这个 location 可要也可不要,自己看着办吧!我感觉没有影响 
location / {
return 301 http://www.mysite.com$request_uri;
}
if ($host != 'www.mysite.com' ) {
return 301 http://www.mysite.com$request_uri;
break;
}
#以下省略……
}

这样就可以实现浏览器地址栏里输入“mysite.com”后自动跳转到“www.mysite.com”了。

Nginx 的站点配置文件是非常灵活的,一个配置文件里可以有多个 server 块,只要是不同 listen 端口或者 server_name 即可,上述代码就可以根据 server_name 分拆为两个 server 块,一个 server_name 为 mysite.com,一个 sever_name 为 www.mysite.com,这时候我们的 301 跳转代码就可以放到需要跳转的那个域名 server 里了,如下:

server
{
listen 80;
#listen 443 ssl;
server_name mysite.com;
#301 跳转
return 301 https://www.mysite.com$request_uri;
#下面这个 location 可要也可不要,自己看着办吧!我感觉没有影响 
location / {
return 301 http://www.mysite.com$request_uri;
}
if ($host != 'www.mysite.com' ) {
return 301 http://www.mysite.com$request_uri;
break;
}
}
server
{
listen 80;
#listen 443 ssl;
server_name www.mysite.com;
#以下省略……
}

如果你的站点是 HTTPS 的话,首先需要在 listen 80 的 server 里(如果没有可以参考上面 HTTP 的代码添加一个)添加如下代码:

#301 跳转
return 301 https://www.mysite.com$request_uri;
location / {
return 301 https://www.mysite.com$request_uri;
}
if ($host != 'www.mysite.com' ) {
return 301 https://www.mysite.com$request_uri;
break;
}

记住上述代码是添加在 listen 80 的 server 里哦!

这是实现浏览器地址栏里输入“mysite.com”后自动跳转到“https://www.mysite.com”的。

然后在 listen 443 的 server 里 server_name 行下面添加如下代码:

#301 跳转
if ($host != 'www.mysite.com' ) {
return 301 https://www.mysite.com$request_uri;
break;
}

这是实现“https://mysite.com”跳转到“https://www.mysite.com”的。

这个跳转主要是为了应对启用 HTTPS 并加入了 HSTS Prelod List 需要得,有兴趣的可以参考【加入 HSTS Prelod List 让你的域名「嵌入」主流浏览器,一同发行!】一文。

上面的大家可以举一反三实现 www.mysite.com 自动跳转到 mysite.com 的形式,也就是以主域名为主要站点域名的。

对于老站长来说可能今天说的这些都非常的简单,从谷歌 AdSense 的 ads.txt 提示开始啰嗦了这么多其实主要是为了让新手站长们不要在域名解析和跳转上走弯路。明月发现不少站长们在这方面的都是一知半解甚至是不明所以,这给站点带来了很大的安全隐患,还会造成搜索引擎收录时间延长的问题,希望可以帮到大家!谢谢大家长期以来的支持!

目前明月的谷歌 AdSense 后台的有关 ads.txt 的提示已经消失了!

您可能感兴趣的文章

如果文章对你有帮助,请赞赏支持作者继续创作!

文章标签: ,  
原文地址:https://www.imydl.com/wzjs/12130.html
温馨提示:文章内容仅代表作者个人观点,不代表boke112导航赞同其观点和对其真实性负责!
版权声明:本文为投稿文章,感谢 明月登楼 的投稿,版权归原作者所有,欢迎分享本文,转载请保留出处!
©boke112导航,本站推荐使用:阿里云 ECS服务器等云产品服务,国外免备案主机建议使用:老薛主机
明月登楼

阿里云专题 腾讯云专题虚拟主机专题WPS专题

 发表评论

大笑表情偷笑表情鼓掌表情思考表情疑问表情抠鼻表情抓狂表情晕表情黑线表情流汗表情流泪表情囧表情衰表情围观表情OK表情牛表情

  1. 磨叽
    磨叽 @回复

    网站不是自己的 花钱做了广告推广。。结果没两天就没有收益了 点击量和访问量也有 不知道怎么回事 这个警告也一直存在

  2. 轩沫博客
    轩沫博客 @回复

    已经通过adstxt验证了!

  3. 蜂蜜网
    蜂蜜网 @回复

    我的也是显示

  4. 卡卡哥
    卡卡哥 @回复

    之前也遇到这个问题,后来就是重定向解决谷歌联盟缺少ads.txt提示!还有就是后台网站如果有几个都要全部添加,不然还是会提示。

  5. 里维斯社
    里维斯社 @回复

    主域名底下的子域名都要添加ads.txt文件,然后等待审核通过就可以了。

  6. 趣知识
    趣知识 @回复

    我的咋就没有提示呢?