Wordpress相关 外贸建站

外贸英文建站:如何禁止国内同行访问你的英文网站?

料神Sam发布于 2019-05-03阅读 32317 次评论 63

外贸英文建站:如何禁止国内同行访问你的英文网站?-料网 - 外贸老鸟之路

提示:这篇教程涉及到【缓存 Cache】这个东西,如果你之前没有了解过缓存,请忽略这篇教程文章,因为你大概率会发现跟着做下来不成功(主要原因是没有清理缓存,而且有时候不只是一种缓存)。

由于涉及到多重缓存,所以技术性偏强,没有一定技术基础的外贸人就不要过多研究了。

关于缓存,本文已经尽量详细解释了,如果不成功,我也不想过多去解答。

实际上,为了实现这个功能,给自己访问网站也会带来一些不便。所以再次提醒一下,如果不是有着强烈的需求,建议别折腾。

特点:IP 屏蔽 + 浏览器语言识别 + Cookie 访问权限

如果你有个英文网站,你的主要市场是北美,那么有没有必要让其他地区的访客浪费你的服务器或主机的资源?
又比如,如果你通过谷歌 GA 看到的网站地访问流量和来源,很多的无效流量甚至是攻击活动,IP 来自中国,非洲,东欧等国家。

你会选择禁止他们访问吗?这是一个让人心烦的问题。

实际上,除了这些考虑因素之外,还有竞争性方面的考虑。

我的外贸课程有一定比例的学员是外贸 SOHO 和外贸刚起步的 startup 公司,刚刚开始学习并尝试自建站,总是会时不时问到:如何能屏蔽国内同行对其网站的访问?
屏蔽国内同行,目的很简单,只是为了信息保护,防止同行的跟风 copy。

我的一位学员 Brian,在深圳一家做智能数码家居用品的工厂做外贸经理。他们前段时间设计出一款外形和功能都非常新颖的儿童保温杯。他们并没有没把这个新款放到阿里巴巴或其他任何 B2B 平台上去,也没有立即在亚马逊上铺货,就怕被同行研究模仿。他们最终只放到了英文网站上,并开始尝试做 PPC,主要是谷歌 Adwords 竞价广告。

Brian 也曾担心过是否会有同行有意或者无意中看到他们的英文网站,所以一度想过,是否要做一些访客流量的限制。但是由于他对网站技术一窍不通,缺乏必要的基础,最后也不知道如何去弄,最终也忽视了,没有做任何的防范措施。

谁知道,才过了一个多月后,有其他同行模仿做了类似的款式,并且放到阿里巴巴上橱窗产品里去了!

这位 Brian 学员非常怀疑是该同行访问了他们的英文网站,抄袭了他们的设计和功能。而他还没来得及去申请专利,所以觉得特别头疼和心塞!!

最后,他来问我,是否有办法能屏蔽国内同行访问?

关于自己设计和研发的新款,被同行 copy 的这件事,真正的原因是否真的如他所说,因为被同行看了网站而导致的,还是另有其它什么原因,我不得而知。毕竟商场如战场,什么事都可能发生。

但是这位学员最后提问的这个问题,让我开始反思,难道不值得思考和总结一下吗?以前我曾一直认为,屏蔽国内同行的做法比较 low,也很难起到实质效果,因为用个代理换个国外 IP 就破了,因此一直不想写这种教程文章。而且之前我不止一次提过,只有去识别判断访问者的浏览器内置的语言编码,或者操作系统的语言,这样才是有意义的屏蔽!这样的话,同行套个国外 IP 来访问也没用。

但也只是说说思路,并没有去尝试如何实现。而这位学员的事情发生后,我花了几个小时写代码和测试,最终发现可以实现!

于是,趁着五一假期,补一篇这样的文章吧。

通常屏蔽特定国家流量访问,我们常见的一些 WP 插件工具,方法主要是第一种:根据 IP 地址地理位置 IP(GEO IP) 进行国家地区地判断,进行对应地屏蔽。显然,这种方式效果不太好。
而另一种方式,识别判断访问者的浏览器内置的语言编码,或者操作系统的语言,就可以差不多解决套个代理换个国外 IP 就可以访问的问题了。

这两种屏蔽访问的方式,即使是第一种方式(GEO IP),WordPress 插件里也很多都是付费版插件里才提供这个功能。而第二种按浏览器语言或操作系统语言的方式,WordPress 还没有任何相应的插件。

当然,像我这种有一定基础的业余 Coder 来说,不那么喜欢用插件,还是喜欢直接上代码。无论哪一种方式,要用代码实现,都不是太难。但对外贸人来说,要实现还是需要一点点基础和大胆尝试的,起码你得装个文(代)本(码)编辑器吧?记事本之类的还是算了!(常见的文本编辑器,还是推荐 notepad++ 或 sublime text3)

废话不多说,在你的网站当前所用主题的文件夹下,找到 header.php,使用文本编辑器打开。在 <head>之前 加上下面的代码,保存,上传覆盖原 header.php 文件。

一、利用 IP 地址进行判断并屏蔽

假设你要屏蔽国内同行的 IP 访问(同样地,你自己也只能代理方式访问了)。首先你必须有个判断 GEO IP 的模块。在 VPS 上你可以在 nginx 上安装 geo ip 模块,但是安装和使用上还是麻烦了点。并且,如果你用的是虚拟主机,那就无法自己随心所欲安装扩展模块了。

所以,我们可以借用第三方 IP 库的 API 接口。比如淘宝的 IP 库,IP138 的 IP 库等等,判断都非常准确。具体代码:

<?php
$verification1 = '中国'; //需要屏蔽国家名称 1
$verification2 = '摩洛哥'; //需要屏蔽的国家名称 2。这里可以类似的方式,定义多个国家。
function get_visitor_ip() {
         $ip = $_SERVER['REMOTE_ADDR'];
         if (isset($_SERVER['HTTP_X_REAL_FORWARDED_FOR']) && preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/', $_SERVER['HTTP_X_REAL_FORWARDED_FOR'])) {
         $ip = $_SERVER['HTTP_X_REAL_FORWARDED_FOR'];       
         }          
         elseif (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/', $_SERVER['HTTP_X_FORWARDED_FOR'])) {
         $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
         }
         elseif (isset($_SERVER['HTTP_CLIENT_IP']) && preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/', $_SERVER['HTTP_CLIENT_IP'])) {
         $ip = $_SERVER['HTTP_CLIENT_IP'];
         }
         return $ip;
         }
$ip = get_visitor_ip();  //获取访客 IP
$result = file_get_contents("http://ip.taobao.com/service/getIpInfo.php?ip=".$ip);  //IP 数据库来自淘宝。你也可以换成 IP138 的。建议默认。
$address = json_decode($result,true);
//判断访客的 IP 是否来自国家 1 或国家 2
if($address['data']['country'] == $verification1 || $address['data']['country'] == $verification2){ //如果只需要屏蔽国家名称 1,这里无需修改,把开头的国家名称 2'摩洛哥'改成某个不存在的名称即可,如'冥王星'。
header("location: https://www.baidu.com");
exit();
}
?>

把这部分代码粘贴到你的 WordPress 主题文件夹下面 Header.php 文件里 <head> 标签的上方。保存。

另外,为了防止国外调用 ip.taobao.com  的判断国家地区的 getIpInfo.php 文件速度慢,最好在上面代码下面再加一行 dns 预解析代码,加快载入文件。

<link rel="dns-prefetch" href="//ip.taobao.com">

(题外话:如果你还是担心淘宝库慢,需要国外的 ip 库 API,也可以去国外 ip 库提供商注册获取 API Key,然后再修改上面的相应代码来更换。建议有技术背景的人可以弄,新手绕过

如果你是 SiteGround 虚拟主机的用户,你需要在 WP 后台 点击一下顶部的 Purge SG Cache 按钮来清理缓存。前提是,你之前在 Cpanel 里 WordPress Tools 下– SuperCacher 里面,开启了 LEVEL1, LEVEL2 和 LEVEL3 的缓存功能(开启之后,控制是用 SG Optimizer 控制)。

如果你安装过任何缓存类的插件,也注意清理一下缓存。因为你的首页会被你的主机缓存,甚至有些缓存插件会利用浏览器缓存。

二、利用访问者的浏览器语言类型进行判断并屏蔽

关于方式二,我认为根据浏览者的浏览器语言编码来判断已经足够,所以这里不必再去研究判断访客的操作系统语言的方法了。

每个浏览器都会有个语言编码,如中文最常见的是 zh 或 zh-CN。

利用访问者的浏览器语言类型进行判断并屏蔽:

<?php
// 定义变量 lc
$lc = ""; 
// 检查是否已经设置过 HTTP 头 Accept-Language 信息变量
if(isset($_SERVER['HTTP_ACCEPT_LANGUAGE']))
$lc = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
// 这里截取语言编码前两位来判断,如果是中文,转向百度
if($lc == "zh"){
header("location: https://www.baidu.com"); 
exit();
}
?>

但是,语言编码前 2 位是 zh 的包含多个国家或地区,比如新加坡、澳门、香港、台湾。

zh 中文
zh-CN 中文(简体)
zh-HK 中文(香港)
zh-MO 中文(澳门)
zh-SG 中文(新加坡)
zh-TW 中文(繁体)

所以如果你要排除这些情况,可以再做一个 if 判断。稍作修改:

<?php
$lc = '';
if(isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])){
$lg = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
$lc = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
}
$arr = array('zh-HK','zh-TW','zh-MO','zh-SG');
if(($lc == 'zh') && (!in_array('lg',$arr))){
header('location: https://www.baidu.com'); 
exit();
}
?>

OK,搞定!这样就不会“误伤”其他中文语言的地区或国家的访问流量了。

注意:如果你使用 Avada, Betheme 等主题,请放到 <head> 的上面。

  • Avada 主题(放 <head> 上面):
  • 外贸英文建站:如何禁止国内同行访问你的英文网站?-料网 - 外贸老鸟之路
  • 同样,Betheme 主题(放 <head> 上面)外贸英文建站:如何禁止国内同行访问你的英文网站?-料网 - 外贸老鸟之路

以上两种方式在 chrome, firefox 以及 sougou 浏览器测试下,一切正常。

三、一些稍微高级点的用法

1)可不可以两种方式结合起来?of course,why not!? 代码都扔到 <head> 之前即可,不过这样的话你可能用了代理也访问不了自己的网站了,呵呵。那怎么办呢?下文会介绍方法。

2)上面的两种方式,把屏蔽的访问转向百度了,这多少有点刻意跳转的意思,容易引人怀疑。

要弄得自然点的话,你可以把百度的地址改成转向你的域名商的网址,如 https://www.namesilo.com
也可以转向国外主机商的网址,如:https://www.siteground.com/go/noredirect

3)这种分流方式也可以用在 marketing 上,把不同地区流量的潜在客户,导到不同的 landing page 上。或者你玩多站点,你也可以设置导流。

四、方式二太暴力,网站站长也无法访问了,怎么办?

解决方案:给网站管理员的浏览器加个 Cookie。然后每个访问验证 cookie 的值,不符合条件的,屏蔽。符合 Cookie 的,通行。

站长在访问网站前,先访问一个任何人都不知道的页面,获取浏览器特定的 cookie,相当于获取通行证。

4.1)在网站根目录下(如果是虚拟主机,则网站根目录大多是在 public_html 目录下;如果是 VPS 则大多是在 /home/wwwroot/www.abc.com/下),放一个 php 文件。

取名 getcookie.php,或 letmein.php,或任何你觉得好记的名字。为了安全起见,你最好自己取个名字,不要用我示范的文件名。

代码如下:(请自行修改网站网址,把域名换成你的)

<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=gb18030">
<title></title>
</head>
<body>
<script type="text/javascript" src="https://www.yourdomain.com.com/js.cookie.js"></script>
<script>
console.log("WebsiteOwner " + Cookies.get("WebsiteOwner"));
if("not_empty" !== Cookies.get("WebsiteOwner")){
Cookies.set("WebsiteOwner", "not_empty", { expires: 3000 });
	console.log(Cookies.get("WebsiteOwner"));
	document.write("You're now getting the right cookie, it will be valid in 3000 days!");
    }else{
    document.write("You've got the cookie already!");
    }
</script>
</body>
</html>

关于下面代码里调用的 js.cookie.js 文件,从这个地址去下载即可:https://pan.baidu.com/s/1moUronB5M_R1CiMdA_cpdA 提取码: gppe

下载完 js.cookie.js 文件,上传到你的网站根目录下。跟 getcookie.php 一个目录下。

然后你访问 https://www.yourdomain.com/getcookie.php,获取 Cookie。正常来说,应该能看到提示文字:You're now getting the right cookie, it will be valid in 3000 days!

当然你还可以再检查一下:F12 调出审查元素工具窗口,点击最上面一行里的 Application。然后点击下方左侧的 Cookie,如果看到有一行名为 WebsiteOwner 的 Cookie 记录,则说明赋予 Cookie 成功。

外贸英文建站:如何禁止国内同行访问你的英文网站?-料网 - 外贸老鸟之路

此时再访问自己的网站,即可正常访问。

2)在 主题文件夹下,header.php 文件的 <head> 前放下面的代码

(注意:如果你使用 Avada, Betheme 等主题,如果放 <head> 上面不行,放到 <!DOCTYPE html> 上面即可

<?php
// 定义变量 lc
$lc = "";
// 检查是否已经设置过 HTTP 头 Accept-Language 信息变量
// 截取语言编码前两位来判断
if(isset($_SERVER['HTTP_ACCEPT_LANGUAGE']))
$lg = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
$lc = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
$arr = array("zh-HK","zh-TW","zh-MO","zh-SG");

$ck = $_COOKIE["WebsiteOwner"];
// 如果是中文,并且不在其他 4 个说中文的国家地区内,并且 cookie 的值不等于预设的值,则转到网站建设页

if(($lc == "zh") && (!in_array("lg",$arr)) && ($ck !== "authorized") ){
header("location: https://www.liaosam.com/"); 
exit();
}
?>

注意:两部分代码的对应关系我用红色字体标注好了。关于这个 cookie 值 authorized,你也可以改成别的。如 yes, noproblem, iamgood666 等等。网址换成你自己的。

一般同行来访问,没有正确的 cookie 值,是进不去的。而你要进去,先访问你网站根目录下的 getcookie.php 或 letmein.php 文件即可。

访问地址:https://www.yourdomain.com/getcookie.php
前面提醒过了,你最好取一个不一样的 php 文件名,这个网站根目录下的文件地址只有你知道。访问它,从它那里获取 cookie,然后再跳转或者你手动访问网站,就 OK 了!

这就解决了方式二的浏览器语言编码通杀的问题。

总结

思维导图来小结吧:

外贸英文建站:如何禁止国内同行访问你的英文网站?-料网 - 外贸老鸟之路

有人会说了,怎么结合起来用呢?

Header 里添加的最终代码:

<?php
$verification1 = '中国'; //需要屏蔽国家名称 1
$verification2 = '摩洛哥'; //需要屏蔽的国家名称 2。这里可以类似的方式,定义多个国家。
function get_visitor_ip() {
         $ip = $_SERVER['REMOTE_ADDR'];
         if (isset($_SERVER['HTTP_X_REAL_FORWARDED_FOR']) && preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/', $_SERVER['HTTP_X_REAL_FORWARDED_FOR'])) {
         $ip = $_SERVER['HTTP_X_REAL_FORWARDED_FOR'];       
         }          
         elseif (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/', $_SERVER['HTTP_X_FORWARDED_FOR'])) {
         $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
         }
         elseif (isset($_SERVER['HTTP_CLIENT_IP']) && preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/', $_SERVER['HTTP_CLIENT_IP'])) {
         $ip = $_SERVER['HTTP_CLIENT_IP'];
         }
         return $ip;
         }
$ip = get_visitor_ip();  //获取访客 IP
$result = file_get_contents("http://ip.taobao.com/service/getIpInfo.php?ip=".$ip);  //IP 数据库来自淘宝。你也可以换成 IP138 的。建议默认。
$address = json_decode($result,true);
//判断访客的 IP 是否来自国家 1 或国家 2
if($address['data']['country'] == $verification1 || $address['data']['country'] == $verification2){ //如果只需要屏蔽国家名称 1,这里无需修改,把开头的国家名称 2'摩洛哥'改成某个不存在的名称即可,如'冥王星'。
header("location: https://www.baidu.com");
exit();
}
?>
<?php
// 定义变量 lc
$lc = "";
// 检查是否已经设置过 HTTP 头 Accept-Language 信息变量
// 截取语言编码前两位来判断
if(isset($_SERVER['HTTP_ACCEPT_LANGUAGE']))
$lg = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
$lc = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
$arr = array("zh-HK","zh-TW","zh-MO","zh-SG");

$ck = $_COOKIE["WebsiteOwner"];
// 如果是中文,并且不在其他 4 个说中文的国家地区内,并且 cookie 的值不等于预设的值,则转到网站建设页

if(($lc == "zh") && (!in_array("lg",$arr)) && ($ck !== "authorized") ){
header("location: https://www.liaosam.com"); 
exit();
}
?>

常见问题:我按照教程一步步来做的,怎么总是不成功呢?因为你没清理缓存!

这种情况的出现,很多情况下是因为缓存的原因。缓存分三类:①虚拟主机/服务器端安装的缓存、②WP 后台安装的缓存插件 以及 ③浏览器缓存。

先从②和③开始检查:

1)你 WP 后台有没有安装任何缓存类的插件?
有:清理缓存(flush cache/purge cache)。
没有:无需任何操作。
建议清理完缓存后,先停用缓存插件。因为你要反复调试屏蔽代码。等确定添加的功能代码运行正常后,再重新启用缓存插件。

2)你没有清理本地电脑上浏览器的缓存?
为了提高网页访问速度,有些缓存插件会使用浏览器缓存。原理是:第一次访问网页时就在本地浏览器缓存中生成该网站的页面,让你从第二次访问开始,之后的每次访问直接从你浏览器缓存里获取,而不是去网站获取最新的页面。
所以你需要把你 Chrome 浏览器的缓存也手动清理一下,Chrome 浏览器右上角菜单按钮 - 更多工具 - 清理浏览数据,选择“缓存的图片和文件”。如果你想清除 cookie,也一并勾上,点击清除数据按钮。

上面这两类缓存都容易清理。第一类虚拟主机自带的缓存,要稍微复杂一点点。

3)你的虚拟主机是否自动开启了自带的缓存?
常见的外贸人用的虚拟主机是 SiteGround 或 Bluehost。前者有个 SuperCacher 缓存系统,后者有个 Endurance Cache 系统。

*** 如果用的是 SiteGround 虚拟主机,SiteGround 应该在网站后台自带安装了管理 SuperCacher 的 WordPress 插件:SG Optimizer。点击进去,出现配置界面。在 SuperCacher Settings 下,Dynamic Caching 下面有个 Manual Cache Purge(手动清理缓存),点击清理一下。

然后第二项:Environment Optimization 之下,先不要开启 Browser Caching,GZIP Compression 可以开启。其他的不用管。第三个选项卡下,注意其它都可以勾选,Minify JavaScript Files 这一项不要勾选,JS 文件代码的压缩,容易出问题。

然后点击顶部的 Purge SG Cache。这样即可清理掉所有 SiteGround 生成的缓存。

*** 如果你用的是 Bluehost 虚拟主机,先在 WP 后台 Endurance Page Cache 这里,清理一下 Page Cache。点击 Purge Cache 清理缓存的按钮

外贸英文建站:如何禁止国内同行访问你的英文网站?-料网 - 外贸老鸟之路

清理完了 Page Cache,你再看上面那里 Browser Cache 那里,它没有任何清理按钮,是因为这种缓存插件让你的浏览器第一次访问的时候也在浏览器里生成了缓存。所以你需要清理浏览器中的缓存。

然后,在 WP 后台,Setting 里面,会有个 Endurance Cache - Cache Level 的选项,选择 Off。

外贸英文建站:如何禁止国内同行访问你的英文网站?-料网 - 外贸老鸟之路

然后在 Bluehost 后台,Performace 这里,勾选 Caching Off,这样就顺利关闭了 Bluehost 自带的缓存。

如果还不行,你还可以自行谷歌:Bluehost how to remove endurance cache,会找到一些文章的。

其实主机商弄的缓存,还不如自己安装的缓存插件管理起来方便。各种名称的缓存工具或插件,本质上原理和功能都是一回事,差别就是好用和不好用的问题。回头有时间再写一篇缓存方面的教程。

题外话:关于如何改变浏览器语言

在 Chrome 设置里修改浏览器语言

打开 Chrome 浏览器的设置,点击菜单 – 设置(Settings) – 高级 – 语言,然后把英语移到顶部。

外贸英文建站:如何禁止国内同行访问你的英文网站?-料网 - 外贸老鸟之路

通过这种办法,可以修改浏览器语言,进而影响 HTTP_ACCEPT_LANGUAGE 的判断。

就这样吧!

 

外贸英文建站:如何禁止国内同行访问你的英文网站?-料网 - 外贸老鸟之路

本文 OVER!

本站所有文章除注明“转载”的文章之外,均为原创。未经本站允许,请勿随意转载或用作任何商业用途,否则依法追究侵权者法律责任的权利。

分享到: 微信 新浪微博 QQ Qzone
料神Sam
识不足则多虑,威不足则多怒,信不足则多言。
SiteGround外贸建站主机优惠券

63条评论

发表我的评论

取消评论

邮箱白名单说明:最近料网自动提醒邮件经常会被一些邮件服务商拦截。为了您顺利并及时地收取留言被回复的提醒邮件,请在您邮箱中把料网 liaosam.com 加入白名单域名。

我不是机器人
设为私密评论
添加表情

Hi,您需要填写昵称和邮箱!

您的邮箱地址不会公开,仅仅用于收取回复。建议填写QQ邮箱,不宜填写工作邮箱。
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址 (没有就留空)
  • 问题验证:今年年份是?
呃,评论有点多哦.. 请稍等
  1. Jeff GaoChrome · Windows 10

    该评论为私密评论

    5年前 (2019-07-23)
    浙江
    回复
    • Liaosam 外贸综合症患者.搜狗浏览器 · Windows 7
      @Jeff Gao 现在打开显示的是一个 update 的静态页面。你已经搞定了吗?
      5年前 (2019-07-29)
      安徽
      回复
      • Jeff GaoChrome · Windows 10

        @Liaosam 料神老师你好,谢谢你的回复,但是这个问题还没有搞定,我也不知道该如何解决这个问题,如果你有空余时间的话,麻烦教教我该怎么改,非常感谢。

        5年前 (2019-08-02)
        浙江
        回复
  2. 过客Chrome · Windows 7

    请问 Avada 只用留言器语言的方式 添加代码后很流利 直接就跳转了 但是切换浏览器语言一样跳转 是什么情况 ,只用代码不用?

    6年前 (2019-07-02)
    广东
    回复
  3. JimChrome · Windows 10

    料神,你好。只屏蔽中文浏览器,是放如下代码 Space before

    我试了下不行,不知道哪里错了,还请指教。还有不跳转,就原有无法打开就行,这个怎么弄。谢谢。

    6年前 (2019-07-02)
    广东
    回复
    • jimChrome · Windows 10

      @Jim 搞定了。但是发现速度不是一般的慢。只能撤了。

      6年前 (2019-07-03)
      广东
      回复
    • changChrome · Windows 7

      @Jim 你好 我测试添加浏览器编码

      但是切换浏览器语言后 也一样跳转 不知道是不是哪里设置问题
      另外似乎也发现了网站会很慢 要很长时间检索浏览器语言吧

      5年前 (2019-07-29)
      广东
      回复
  4. changChrome · Windows 7

    https://www.ledlightsmfg.com/pass.php PASS 后还是浏览不了 不知道那回事

    6年前 (2019-07-02)
    广东
    回复
  5. Profile LightChrome · Windows 7

    这样设置,有好的地方,也有不好的地方。 这样国内的跳出率就非常高。或者国内的跳转到另外一个页面,也是自己公司的,装的像一点

    6年前 (2019-06-21)
    广东
    回复
    • Liaosam 外贸综合症患者.搜狗浏览器 · Windows 7
      @Profile Light 所以没有特别的需求的话,根本不需要折腾这些。
      6年前 (2019-07-03)
      安徽
      回复
  6. 悲伤的颜色傲游(Maxthon)浏览器 · Windows 7

    该评论为私密评论

    6年前 (2019-06-13)
    浙江
    回复
    • Liaosam 外贸综合症患者.搜狗浏览器 · Windows 7
      @悲伤的颜色 因为你只能全局模式,获取了 cookie 才能访问。
      6年前 (2019-06-15)
      安徽
      回复
  7. 虔诚的学习者Chrome · Windows 7

    请问这样设置或者成功跳转的话 是不是 google 的广告被屏蔽浏览的也不能计费了?

    6年前 (2019-06-05)
    广东
    回复
    • Liaosam 外贸综合症患者.搜狗浏览器 · Windows 7
      @虔诚的学习者 如果你的 google adwords 是面向国外的,没什么影响。
      6年前 (2019-06-15)
      安徽
      回复
      • 虔诚的学习者Chrome · Windows 7

        @Liaosam 料神,您误会我的意思了,我知道对国外没有影响,我的意思是不是这样就可以屏蔽国内人欢樯成国外 IP 的点击,因为并没有成功打开网页

        6年前 (2019-06-17)
        广东
        回复
        • Liaosam 外贸综合症患者.搜狗浏览器 · Windows 7
          @虔诚的学习者 这个我倒是不清楚,不了解具体的判定。按照道理说或许也还是算点击了广告。因为广告点了,谷歌也带你访问了网站的地址。只是网站根据访问者的特征,把访问者跳转到了别的地方。
          6年前 (2019-06-18)
          安徽
          回复
  8. yangChrome · Windows 10

    请问有没有推荐做网站的人呢?要实现这些功能,我不想花时间学建站,我只想尽快看完教程再开发客户。

    6年前 (2019-05-31)
    广东
    回复
    • Liaosam 外贸综合症患者.搜狗浏览器 · Windows 7
      @yang 你可以跳过这个功能,不是有强烈需求,不建议来折腾这个功能。
      6年前 (2019-06-15)
      安徽
      回复
  9. wodepcChrome · Windows 7

    该评论为私密评论

    6年前 (2019-05-30)
    上海
    回复
    • Liaosam 外贸综合症患者.搜狗浏览器 · Windows 7
      @wodepc 可能是因为你没清理掉浏览器(browser)的缓存。
      6年前 (2019-06-15)
      安徽
      回复
  10. 小崔Chrome · Windows 10

    该评论为私密评论

    6年前 (2019-05-28)
    江苏
    回复
  11. 小崔Chrome · Windows 10

    该评论为私密评论

    6年前 (2019-05-27)
    美国
    回复
    • Liaosam 外贸综合症患者.搜狗浏览器 · Windows 7
      @小崔 关于 Header.php 文件,虚拟主机用户可以直接从主机商后台进入 Cpanel 里。然后用 File Manager 找到对应的 wp-content/themes/yourtheme/ 下,找到 header.php,然后右击鼠标,edit code 即可在线编辑文件。
      6年前 (2019-05-28)
      美国
      回复
  12. Jeff GaoChrome · Windows 7

    该评论为私密评论

    6年前 (2019-05-24)
    浙江
    回复
    • Liaosam 外贸综合症患者.搜狗浏览器 · Windows 7
      @Jeff Gao 如果你用的是虚拟主机 SiteGround 的话,不成功的原因可能是因为,你自己安装了某个 WP 缓存插件。然后 SiteGround 又有自己的 SuperCacher 缓存机制,所以会导致混乱,你会感觉一开始行,再然后怎么都不行了。这是因为缓存机制会把你的首页保存成静态文件,以后会访问缓存的静态文件。甚至不访问缓存的文件,直接访问你浏览器中生成的缓存。所以你只需要知道,首页的访问调用,必然要调用到 Header.php。你如果修改了任何权限和有关文件代码的内容,都需要清理一下 SiteGround 的 SuperCacher。Cpanel 里,WordPress Tools 选项卡的里有个 SuperCacher 点一下进去,把里面的 Static Cache 静态缓存(第 1 个)清理一下即可正常了,如果开启了 MemCached,也可以一并清理一下 Memcached Cache(第 3 个)。如果你有自己装任何 WP 缓存插件,也清理一下你的缓存插件生成的缓存。
      然后还要清理一下浏览器的缓存数据。
      关于 Cookie 的授权获取代码,之前虚拟主机用户会存在无法获取 cookie 的情况。我重新更新修改了一下文章,现在 OK 了。请更换修改后的代码,以及下载添加 Cookie 的 JS 文件。这些以更新后的文章内容为准。
      6年前 (2019-05-24)
      安徽
      回复
      • Jeff GaoChrome · Windows 7

        @Liaosam 老师,谢谢您的耐心,我虽然不知道其中具体的原因,但是在按照您的办法操作,下面就是一些具体操作的问题了:
        1,您说的第三个 memcached cache,这个是默认关闭的,需要打开吗?
        2,在打开 static cache 选项卡的时候,一直是处于 loading 的状态实,已经 loading 了一个多小时了,还是没有任何反应,我也试了谷歌和火狐两个浏览器,还有手机也试了,都是一样的,一直 loading,请问这正常吗?有没有什么解决办法?

        6年前 (2019-05-25)
        浙江
        回复
      • Jeff GaoChrome · Windows 7

        @Liaosam 该评论为私密评论

        6年前 (2019-05-25)
        浙江
        回复
        • Liaosam 外贸综合症患者.搜狗浏览器 · Windows 7
          @Jeff Gao 我看了一下你首页的 html 源码,你 WP 后台应该是已经装了缓存类插件,看到有个 WP Fastest Cache。这个也会产生缓存。它的原理是把页面生成静态页面存储,并且支持第二次访问的时候直接访问浏览器中缓存的页面。这样看来,你其实需要清理的是你这个缓存插件的缓存,以及 Chrome 浏览器的缓存数据。
          总之,反正缓存类插件,在添加功能或者修改源码后,应该清理一下缓存。另外,如果你已经自行安装启用了缓存类的插件,就没必要在 SiteGround Cpanel 后台 WordPress Tools 下的 SuperCacher 里再开启 LEVEL1(static cache), LEVEL2 (dymatic cache)。至于 LEVEL3 MemCached 开不开,我建议如果你网站还没建好或者优化好的情况下,还需要添加功能代码,修改文件,或者你不了解 MemCached 缓存的情况下,都可以先不开。
          6年前 (2019-05-25)
          安徽
          回复
          • Jeff GaoChrome · Windows 7

            @Liaosam 非常感谢老师,已经操作成功,谢谢!

            6年前 (2019-05-26)
            浙江
            回复
  13. Jeff GaoChrome · Windows 7

    该评论为私密评论

    6年前 (2019-05-24)
    浙江
    回复
  14. Jeff GaoChrome · Windows 7

    该评论为私密评论

    6年前 (2019-05-24)
    浙江
    回复
  15. EvanChrome · Windows 7

    尝试设置好几次,还是没能实现屏蔽。分别在 WP 后台 header.php 直接添加代码, 和 Bluehost-cPanel 下载 header.php 修改后上传,屏蔽都没有奏效,想不明白哪里操作不对了。烦请不忙的时候帮忙指点一二,谢谢。

    6年前 (2019-05-23)
    广东
    回复
  16. EdonChrome · Windows 7

    该评论为私密评论

    6年前 (2019-05-16)
    安徽
    回复
    • LiaoSam 外贸综合症患者.搜狗浏览器 · Windows 7
      @Edon 是啊,我文章靠近结尾处说了可以两个代码结合用。你的同行想要能正常访问,他必须知道他要开着全局的国外 IP,还得要把浏览器语言调成英语。
      6年前 (2019-05-16)
      安徽
      回复
      • EdonChrome · Windows 7

        @LiaoSam 我在我自己网站上面试了两种方式结合的方法,。我输入 http://www.abc.com/rukou.php, 能正常显示“”此浏览器已成功获取免屏蔽 cookie,有效期 3000 天!”。但是不跳转,正常走访问也访问不了。(当然偶尔也能访问首页,但是其他页面肯定是显示 正在建设中)PS:用了阔学上网,同时也把浏览器语言换成英文。不仅如此,在我的笔记本电脑里面,把地区都设置成了香港。

        6年前 (2019-05-17)
        安徽
        回复
        • EdonChrome · Windows 7

          @Edon 该评论为私密评论

          6年前 (2019-05-17)
          安徽
          回复
          • LiaoSam 外贸综合症患者.Safari · iPhone
            @Edon 留个 QQ 号方便解决问题。
            6年前 (2019-05-17)
            安徽
            回复
          • Liaosam 外贸综合症患者.搜狗浏览器 · Windows 7
            @Edon 搞定了!重新看一下文章,重新修改更新过了。之前的问题主要是 SiteGround 的 SuperCacher 缓存引起的。另外,你可以用 http://www.ledlightsmfg.com 来访问测试试试。
            6年前 (2019-05-24)
            安徽
            回复
  17. 刘晨晨搜狗浏览器 · Windows 10

    不做外贸的认真看完了,不过这个思路来屏蔽 IP 确实不错,楼下的说的游览器语言切换也对

    6年前 (2019-05-14)
    贵州
    回复
  18. Miya TamChrome · Windows 7

    感兴趣,但是发现自己看不得 :cry:

    6年前 (2019-05-06)
    广东
    回复
  19. qbzhuChrome · Windows 10

    Warning: Cannot modify header information - headers already sent by (output started at /home4/aaaa/public_html/xxx.com/wp-content/themes/betheme/header.php:10) in /home4/aaaa/public_html/xxx.com/wp-content/themes/betheme/header.php on line 38

    6年前 (2019-05-04)
    江苏
    回复
    • Liaosam 外贸综合症患者.搜狗浏览器 · Windows 7
      @qbzhu 你粘贴错地方了吧?我用 Betheme 测试没问题啊。另外本文重新更新了一下!
      6年前 (2019-05-05)
      安徽
      回复
      • qbzhuChrome · Windows 10

        @Liaosam 我基本上用的 betheme.有的在 betheme 下面成功,有的 betheme 不成功。
        感谢 SAM 老师分享!
        抽空再调试一下。

        6年前 (2019-05-07)
        江苏
        回复
        • Liaosam 外贸综合症患者.搜狗浏览器 · Windows 7
          @qbzhu 注意:如果你使用 Avada, Betheme 等主题,由于这些主题在 < /head> 之前会输出很多头部 HTML 的信息。所以请把代码往上放,放到 < head >代码的上面。如果还不行,放到 < !DOCTYPE html >上面的位置。Betheme 主题请在本文中 ctrl+F,查找 Betheme,即可找到截图,按照位置粘贴代码。
          6年前 (2019-05-07)
          安徽
          回复
  20. Liaosam 外贸综合症患者.搜狗浏览器 · Windows 7
    开着代理工具仍可以访问
    6年前 (2019-05-04)
    安徽
    回复
    • 奶爸de笔记Chrome · Windows 10

      @Liaosam :razz: 你说的这几种方法开着代理一样可以访问啊。知道开着代理访问你网站的人都是有点水平的了,防不住。

      6年前 (2019-05-04)
      重庆
      回复
      • Liaosam 外贸综合症患者.搜狗浏览器 · Windows 7
        @奶爸de笔记 你没认真看吧?方式 2 可以连站长自己开代理都无法访问,怎么可能一样可以访问?
        我写的东西我都测试过,你测试过以后再来说。
        6年前 (2019-05-04)
        安徽
        回复
        • 奶爸de笔记Chrome · Windows 10

          @Liaosam 方式 2 是判断浏览器语言啊,我有时候都是用英文语言 :razz:

          6年前 (2019-05-04)
          重庆
          回复
          • Liaosam 外贸综合症患者.搜狗浏览器 · Windows 7
            @奶爸de笔记 又测试了一下,可能你是对的。如果你说的浏览器语言是指 chrome - 设置 - 高级 - 语言 里的语言的话。发现这个可以切换,这里设置语言可以破。
            6年前 (2019-05-05)
            安徽
            回复
            • 奶爸de笔记Chrome · Windows 10

              @Liaosam :oops: 我就说嘛,什么代码这么厉害可以判断安装软件的时候选择的语言。

              6年前 (2019-05-05)
              重庆
              回复
              • Liaosam 外贸综合症患者.搜狗浏览器 · Windows 7
                @奶爸de笔记 :razz: 应该是我弄混淆了!软件的语言版本,不等于说就一定等于软件的首选语言编码。重新更新了一下文章。之前写的有点复杂。
                6年前 (2019-05-05)
                安徽
                回复