惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

美团技术团队
人人都是产品经理
人人都是产品经理
月光博客
月光博客
V
V2EX
WordPress大学
WordPress大学
酷 壳 – CoolShell
酷 壳 – CoolShell
Last Week in AI
Last Week in AI
博客园 - 三生石上(FineUI控件)
小众软件
小众软件
Hugging Face - Blog
Hugging Face - Blog
V
Visual Studio Blog
宝玉的分享
宝玉的分享
雷峰网
雷峰网
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - Franky
博客园 - 聂微东
博客园 - 司徒正美
博客园 - 【当耐特】
爱范儿
爱范儿
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
大猫的无限游戏
大猫的无限游戏
博客园 - 叶小钗
阮一峰的网络日志
阮一峰的网络日志

星空小站

【Zibll】子比主题邮件模板美化~星空小站 轻量应用服务器不支持IPv6怎么办?利用Tunnel Broker让你的博客支持IPv6~星空小站 PHP获取本机(服务器/树莓派)ipv4/v6地址~星空小站 本博客网址由blog迁移至www~星空小站 【Steam】主播女孩重度依赖 [NEEDY GIRL OVERDOSE] 离线正版 附带十项修改器、结局总览~星空小站 【PIXIV】韩国画师Shal.E最新作品集 更新至2021年8月30日~星空小站 【外币卡】中国各大银行外币卡申请指南~星空小站 【小技巧】通过PHP实时跟踪获取网页指定内容~星空小站 【4K超清无水印】星空壁纸分享
如何实现“境内外差异化加载谷歌广告”?怎么让国内不显示广告...
3625231.8W+ · 2023-02-19 · via 星空小站

目的

本人想要获得谷歌广告联盟的微薄收益,同时又不想让其影响境内访客的体验以及加载总时长,

而境外用户加载谷歌广告相对于境内要快得多。

于是,

我想通过调用IP库的方法区别境内外IP,继而实现:

境内用户不加载谷歌广告,

境外用户加载谷歌广告。

图片[1]~如何实现“境内外差异化加载谷歌广告”?怎么让国内不显示广告,国外显示广告?~星空小站

方案

基础代码来自 “php 判断来访国内外IP” – 博客园

感谢@LixWorth的指点

方案一:通过JS引用checkip.php并输出广告代码

1、在网站根目录上传checkip文件夹(将在后文给出下载链接)

图片[2]~如何实现“境内外差异化加载谷歌广告”?怎么让国内不显示广告,国外显示广告?~星空小站

2、在主题自定义html代码处添加下列代码

注意:修改ca-pub为你自己的广告id

图片[3]~如何实现“境内外差异化加载谷歌广告”?怎么让国内不显示广告,国外显示广告?~星空小站
1
<script>
    $(document).ready(function(){
        $.ajax({
            type:"GET",
            url:"/checkip/checkip.php",
            dataType:"html",
            data:"&time="+new Date(),
            cache: false,
            async: false,
            beforeSend:function(XMLHttpRequest) {
            },
            success:function(msg) {
                if(msg == 1){
                    console.log('IP判断:境内,不加载谷歌广告');//根据需要,选择是否移除

                }
                else {
                    var script = document.createElement("script");
                    script.crossorigin = "anonymous";
                    script.src = "https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-1234567891234567";//把此处ca-pub改为你自己的
                    document.body.appendChild(script);
                }
            },
            complete:function(XMLHttpRequest,textStatus) {

            },
            error:function() {

            }
        }); 
    });
</script>

方案二:通过PHP判断IP并输出广告代码

1、在网站根目录上传checkip文件夹(将在后文给出下载链接)

图片[4]~如何实现“境内外差异化加载谷歌广告”?怎么让国内不显示广告,国外显示广告?~星空小站

2、修改iplimit.class.php第五行

注意:把$this->path=””修改为你的绝对路径

图片[5]~如何实现“境内外差异化加载谷歌广告”?怎么让国内不显示广告,国外显示广告?~星空小站

3、把以下php代码添加你主题的body中

以子比为例,修改/zibll/header.php,加入代码

注意:修改ca-pub为你自己的广告id

图片[6]~如何实现“境内外差异化加载谷歌广告”?怎么让国内不显示广告,国外显示广告?~星空小站
2

	<!--境内外区别加载谷歌广告-->
	<?php 
	    $checkip_url='/www/wwwroot/www.m78.co/checkip';
        $userip=$_SERVER['REMOTE_ADDR'];
        include_once("$checkip_url/iplimit.class.php");
        $iplimit = new iplimit;
        if($iplimit->setup($userip))
        {
            $checkip_notice='<script type="text/javascript">console.log("IP判断:境内,不加载谷歌广告")</script>';//根据需要,选择是否移除
            echo $checkip_notice;
        }
        else
        {
            $adsense_htmlstr='<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-1234567891234567"
     crossorigin="anonymous"></script>';//把此处ca-pub改为你自己的
            echo $adsense_htmlstr;
        }
	?>

checkip

上传到网站根目录解压