?最近,本人負責的其中一個站點收錄出現了異常,趁著周末有空講述一下整個診斷過程
核心問題有兩點,服務器架構和網站程序架構導致的;本篇僅分享服務器架構導致的收錄異常
首先,介紹一下自己
本人就職于深圳某企業,長期混跡于乙方外包公司,眾所周知seo外包公司接的是絕大部分是小企業網站,這些網站做的關鍵詞往往也僅是改個TDK就完成排名的工作
再加上,目前絕大部分中小站點的架構很簡單,開源CMS+單一云服務器(虛擬主機)+CDN(這還是有點運維能力公司)
鑒于以上經驗,導致本人完全沒有意識到服務器架構方面也能出現問題
一、收錄異常的發現從(圖1)可以和明顯的看出,在3月中下旬收錄是偏向正常的,問題出現在3.31日-4.25日之間出現了浮動,也就是說,這個區間一定是站點出現了問題導致收錄異常
SEO收錄異常診斷
負載均衡架構導致的SEO問題及解決方案 SEO優化 SEO推廣 第1張本人開始按常規方法排查,特別是服務器日志有些參數沒有排除注意,以至于導致了問題發現,具體如下:1.1、站長平臺模擬爬蟲抓取,正常
1.2、搜索引擎爬蟲抓取數量在提升,偏向正常
這里有異常,排查偽蜘蛛爬蟲在抓數據,真實百度爬蟲確實也在增長
1.3、核心關鍵詞排名浮動,但偏向且上升趨勢靠前,目前核心大詞處于前5名,正常
1.4、服務器日志分析,爬蟲對應的request_uri值(相對地址),暫屬正常,請看下文
1.5、服務器日志是阿里云的日志,http請求,7.18日、7.19日、7.20日以及7.26日出現小面積服務器500訪問錯誤;但最多只出現有限的時間收錄異常,不至于大范圍不收錄
在服務器訪問日志分析中,一般需要注意的項是
爬蟲抓取時間值,爬蟲頁面URL值,爬蟲在頁面抓取順序,時間內爬蟲抓取數量,另一說蜘蛛IP值有權重高低之分(本人不確定,故不參考)頁面URL值:一般服務器日志是相對地址,本人診斷出現的問題在于忽略host值,真實抓取URL應該是,host+request_uri值組合
頁面抓取順序
可檢驗網站架構的爬行情況,大概可以知道爬蟲在網站頁面中的爬行順序,可以輔助使用爬蟲軟件或者開發經典爬蟲(PY,PHP等)的爬行情況作為參考時間內爬蟲抓取數量:檢驗網站頁面總量和時間段內抓取量的占比,判斷網站的受歡迎程度
說到這里,交代一下站點的服務器架構
用的是負載均衡,文件服務器+數據服務器+前端服務器,數據服務器全部數據是由API接口、GET方式前端和app使用,網站URL是相對地址
服務器之間自然用的也是內網通訊
綜上,可能大家也看出有忽略的參數,是1.4中提到的日志host值,因為是相對地址,host+request_uri才是抓取的完整地址
一直忽略的Host值,原來是API的二級域名(圖2)SEO收錄異常診斷
負載均衡架構導致的SEO問題及解決方案 SEO優化 SEO推廣 第2張說到這里,大家可能已經基本上可以確定知道原因了
就是百度根本沒有抓取到真實的頁面URL,實際上抓取的是API域名+request_uri,即假設數據庫服務器API給前端渲染的數據路徑是api.name.com,走內網IP,抓取到的頁面URL為
http://www.hecch.cn/post/1.html真實應該是外網IP的URL:http://www.hecch.cn/post/1.html既然核心問題已把握30%,下一步自然是數據證明,主要從幾個點
1、翻開發日志記錄2、4月前后的服務器日志整理對比從1中發覺,4.13號負載均衡的數據服務器api取消代理,這樣造成的后果是前端直接抓取了host主機值為api域名下的數據在前端渲染,因為是直接使用內網IP沒經過代理,同時api二級域名為host主機值
從2中發覺,4月前后日志的host主機值出現了改變,由http://www.hecch.cn/變成了api.name.com
最終,問題就出現在host主機為api的站點,沒有使用代理,也就是說只要api站點通過代理變成www的二級站點渲染即可
如果沒有使用代理,百度GET返回的頁面是內網IP,抓取到的也就是https
//api.name.com/post/1.html 這個URL
解決方案
1、負載均衡的數據服務器api接口使用代理2、Head區增加標簽3、前端渲染的HTML使用絕對路徑4、開發個API接口推送數據本文完
鑒于本人僅是SEO,運維能力有限,單機服務器配置下站可以,負載均衡只是略微聽過,如有運維方面錯誤之處請見諒
作者
深圳傳說來源:盧松松博客
請立即點擊咨詢我們或撥打咨詢熱線: 18942620423,我們會詳細為你一一解答你心中的疑難。項目經理在線