很多小夥伴都在使用七牛 cdn 來加快網站的訪問速度,尤其是七牛的靜態文件鏡像功能更是非常方便的幫站長把網站本地的靜態文件同步到七牛的 cdn 服務器上,不過呢很多小夥伴在使用七牛的 cdn 鏡像一段時間之後都發現網站莫名其妙的被百度降權了,才發現原來七牛的鏡像功能會把網站的 html 內容也鏡像到七牛上,這樣一來就相當於七牛上存在一個鏡像站點,對於 SEO 來説是非常不友好的,所以也就造成大量使用了七牛鏡像功能的網站被百度降權。當時爆出這個問題的時候七牛官方給出了一個處理方法,就是上傳 robots.txt 來禁止爬蟲抓取鏡像站點,不過小編覺得這種方法完全是治標不治本的方法,下面小編給出一個比較合理的處理方案:
通過 UserAgent 來屏蔽七牛鏡像爬蟲對網頁文件的抓取,代碼如下:
if( strpos($_SERVER['HTTP_USER_AGENT'],'qiniu-imgstg-spider') !== false) {
header('HTTP/1.1 503 Service Temporarily Unavailable');
echo '防七牛鏡像';
exit;
}
將以上代碼加到網站根目錄呃 index.php 文件的<?php 之後即可,或者加到主題的 functions.php 文件也行,這段代碼不僅僅是 WordPress 程序可用,任何 php 的程序都能用來處理七牛 cdn 鏡像造成的網站被鏡像文件。
加上以上代碼,七牛 cdn 的鏡像爬蟲再來鏡像網頁文件就會返回 503 狀態:
直接訪問鏡像站點,效果圖:

日誌中的記錄:

由於只是在 php 上做限制所以不影響其他靜態文件的鏡像加速~~。
2014.11.13 補充
使用了 WP Super Cache 插件的小夥伴請將七牛的 ua 加入到禁止緩存列表中,如下圖:

(PS:如果之前已經被七牛鏡像了,請先清空七牛的緩存,或者添加代碼後更新緩存~~)