前面筆者寫過一篇關(guān)于刪除不想被收錄的域名或頁面百度快照辦法,但由于百度有一定延遲,想到先用robots屏蔽的辦法。SEO博客原來是不帶www的作為主域,現(xiàn)在用www的域名作為主域,原主域已經(jīng)收錄幾百個了,刪除這些快照都不知道花多長時間。提醒各位盡量減少在中途變更主域,為把排名影響減少,一定要看完本帖。
下面修改方法只適合用.htaccess把二級域名解析在子目錄的虛擬主機,不適合IIS。其他方法參考文章《》
本站域名xiuzhanwang.com,解析了mengdiqiu.com.cn,zhan.xiuzhanwang.com,兩個二級域名(mengdiqiu.com.cn實際上屬于二級域名)
期間還解析過m.vi586.com,shop.vi586.com等二級域名,這些域名已經(jīng)停止使用了,空間也過期了,但網(wǎng)上還有快照,無法通過robots屏蔽。
(2016.6.9更新本帖)
筆者在2016年5月中旬做了下面這些操作,前面還對其他非主域名進行過閉站保護,目前已經(jīng)把非主域名的內(nèi)容全部成功轉(zhuǎn)到mengdiqiu.com.cn下,當然搜索引擎是比較滯后的,每個地區(qū)需要的時間不盡相等。
徹底屏蔽不需要二級域名方法
1.把不需要的二級域名分配到不同的空間進行robots屏蔽。既然已經(jīng)取消二級域名的解析了,當然不推薦這樣的做法,土豪請便。
2.利用.htaccess實現(xiàn)非主域名訪問robots.txt實際是訪問wrobots.txt(該文件屏蔽蜘蛛抓取)。以萬網(wǎng)Apache平臺為例,vi586.com域名做全站301跳轉(zhuǎn)到www.vi586.com,用robots徹底屏蔽蜘蛛抓取,經(jīng)秀站網(wǎng)秀站網(wǎng)測試成功。
wrobots.txt內(nèi)容如下
User-Agent:* Disallow:/
.htaccess內(nèi)容如下
RewriteEngine on RewriteCond %{HTTP_HOST} ^www.vi586.com [NC] RewriteRule ^robots.txt wrobots.txt [L] RewriteCond %{REQUEST_FILENAME} !robots.txt RewriteRule ^(.*) http://xiuzhanwang.com/$1 [R=301,L]
第四行說明盡在請求名稱非robots.txt的時候,才會執(zhí)行后面的301跳轉(zhuǎn),避免第三條規(guī)則被覆蓋。以上規(guī)則放在最前面,以免與原來的301規(guī)則發(fā)生沖突,下面是經(jīng)測試成功的完整代碼:
RewriteEngine on RewriteCond %{HTTP_HOST} ^www.vi586.com [NC] RewriteRule ^robots.txt wrobots.txt [L] #以下為已存在規(guī)則: <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTP_HOST} !^mengdiqiu.com.cn [NC] RewriteRule ^(.*)$ http://mengdiqiu.com.cn/$1 [L,R=301] </IfModule>
效果測試訪問:http://mengdiqiu.com.cn/robots.txt和http://xiuzhanwang.com/robots.txt ,出現(xiàn)的結(jié)果是不是不一樣了呢。
當然這個方法對二級域名解析到二級目錄也是可行的,方法參考文章《萬網(wǎng)利用.htaccess完美實現(xiàn)子域名跳轉(zhuǎn)到子目錄》,由于已經(jīng)URL重寫了,要把二級目錄下的robots.txt更名為wrobost.txt(蜘蛛只會訪問robots.txt文件)不然會提示404錯誤。訪問:http://zhan.xiuzhanwang.com/robots.txt
二級域名解析到二級目錄與屏蔽不需要的域名.htaccess完整代碼如下
RewriteEngine On RewriteCond %{HTTP_HOST} !^mengdiqiu.com.cn [NC] RewriteRule ^robots.txt wrobots.txt [L] RewriteRule ^index\.(php|html|htm)$ http://mengdiqiu.com.cn/ [R=301,L] #tag偽靜態(tài)規(guī)則 RewriteRule ^tags.html$ /tags.php RewriteRule ^tags/(.*).html$ /tags.php?/$1/ #二級域名解析到二級目錄 <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} ^zhan\.xiuzhanwang\.com$ [NC] RewriteCond %{REQUEST_URI} !^/zhan/ RewriteRule ^(.*)$ zhan/$1?Rewrite [L,QSA] </IfModule> #不帶www域名301到帶www域名 <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_HOST} !^mengdiqiu.com.cn [NC] RewriteRule ^(.*)$ http://mengdiqiu.com.cn/$1 [L,R=301] </IfModule>
3.如果需要屏蔽的是二級目錄(如:/about)但是能抓取里面的以*.html文件,直接在robots.txt寫上
Disallow:/about/ Allow:/about/*.html
4.無法用robots屏蔽的目錄或二級域名可以用跟301跳轉(zhuǎn),那些沒用的頁面刪除,向百度提交404頁面即可。
5.如果是空間自帶的三級域名被收錄,采取規(guī)范好URL路徑,所有鏈接采用主域名的絕對路徑,不給任何不想收錄的二級域名入口,并更新高質(zhì)量的內(nèi)容,讓搜索引擎重新審核主域。
不需要的二級域名處理辦法總結(jié)
筆者對不需要的二級域名剛開始并沒有做太多的處理,也有朋友建議我不用去管,做好URL規(guī)范和更新內(nèi)容,讓百度自己去判斷主域就好,事實是朋友們是對的,百度蜘蛛慢慢的也沒那么“蠢”了。這些快照只是時間問題,內(nèi)容質(zhì)量不高的頁面即使抓取了,也不會放出快照,何況一些二級域名的錯誤提示呢。