雖然很多時候對於SEO,一個簡單的想法勝過高超的技術,但不代表技術是不必要的,很多需求都需要技術來實現。
估計所有人都會認同的一點是,既有的需求不應該因為技術的局限而妥協。忘記最早是在哪家公司的技術部招聘介紹裡面看到這句話,覺得非常恰當。當打算做一件事以後,如果技術上稍稍受阻,就拋出一句“這麼麻煩啊,不做了”導致前功盡棄的話,無論何時都是不好的事情。之所以技術需要存在,就是為瞭解決需求的。
而或許有爭議的問題是,SEO的技術需求應該是SEO自己來做,還是讓技術人員做?我的觀點是,複雜的需求給技術人員做,因為若讓SEO去實現那些東西往往會因為能力所限而效率很低;而簡單的需求最好由SEO自己做,如果每天成堆的需求都需要溝通協助的話,對SEO和技術人員都會是較大的無謂精力消耗,導致了更多人會選擇讓需求因為技術而讓步,繼續使用純人肉的方法做SEO。
很久以前我用易語言隨手做了一個百度頁面收錄抽查的非常簡陋的程式,當時只是毫不在意的在一個論壇上隨便發了個文章。然而當寫出軟體的近一年時,因為百度有更新導致了軟體故障,當時每隔幾天就有人給我彙報bug。最讓人驚訝的是我在寫出該軟體後入職過兩家公司,那兩家公司都在用那個簡陋的程式。因為SEO需求雖然存在著,卻極少有技術去解決它。
比如關鍵詞排名查詢,通常情況下這看似很簡單的任務卻也不輕鬆,常見的需求如下:(僅為表達的更形象,故以分類資訊網站舉例)
單個關鍵詞對應單個網站: 查詢58同城“二手手機”這個詞的排名
各類現有軟體都能做到,我以前比較傾向於用觀其關鍵詞工具。
多個關鍵詞對應單個網站:查詢58同城對於“二手諾基亞手機”、“二手摩托羅拉手機”的排名
還是有比較多的軟體可以做到,如前面提到的觀其,但它在大量新增關鍵詞這一點上有點麻煩,如果關鍵詞很多就無法使用它。可代替的方案如Rank Tracker,據我所知它也是相對最出色的排名查詢軟體。
多個關鍵詞一一對應多個網站:如果是站群的話會比較多的見到這問題,其他情況下比較少見
此時Rank Tracker也不好用了,因為對於它而言網站要一個個添加。此時可以選擇追詞,蟲蟲也內建了這個功能。
單個(或多個)關鍵詞對應多個網站:查詢58同城、趕集網、百姓網分別於“二手諾基亞手機”、“二手摩托羅拉手機”的排名
很遺憾至今我還沒見到哪款軟體完成這個功能,儘管它很容易實現。如果關鍵詞X分別要查網站A, B, C在它上面的排名的話,在各種軟體上,都需要查三次X的排名,分別找網站A, B, C的排名所在,很耗時間且容易被封IP。儘管這對於分析競爭者的SEO情況而言是再常見不過的SEO需求。
而又比如數量到達千級萬級的關鍵詞如何查排名呢?這樣查詢很容易被搜尋引擎封IP,在前面提到的各種軟體中,只有Rank Tracker給出瞭解決方案。比如可以隨機輪換偽造User-agent、間隔7-15秒查詢一次關鍵詞、使用HTTP代理進行查詢等。但這依然不完善,在保證穩定情況下,Google只能每天查幾千個詞的排名,對於很多大型網站顯然是遠遠不夠的。比之高效得多的解決方案是本機網關IP的切換,而這目前只能用自己寫的程式所實現。
除此之外,查排名的需求還可能有很多,比如將關鍵詞排名匯總成歷史圖、通過排名位置輔以搜尋量來估算SEO流量(如愛站網所做的)等等,往往都是現有軟體沒有提供的。
而儘管寫了這麼多,對於自己按需開發的程式而言,這些加起來在功能上恐怕不超過500行代碼。而對於我最常用的多關鍵詞對應多網站,這個所有現有軟體所沒有的功能,用Python寫出來大約是30多行代碼。
所以認為稍學些技術是對於SEO存在著極大好處的,尤其是程式。
個人比較推薦Python,它也是日常輔助自己SEO的最常用工具。而且它的入門相對我接觸過的所有語言中是最簡單的,隨便找一本書學習文法基礎,並熟悉re(Regex), threading(多線程), pycurl(網路下載)這些模組以後,很快就能處理大多數不算複雜的SEO需求。尤其若有PHP基礎則可以在極短的時間內掌握Python,推薦一個不錯的網站:http://www.php2python.com/
更流行的PHP也是不錯的選擇,對於做網站而言,因為它在國內被接受的程度很廣泛,比起Python擁有非常大的優勢。但在解決一些應用需求,尤其是採集類需求時,PHP相對顯得薄弱一些。
接下來我會陸續整理自己寫過的代碼,並分享一部分出來,以供共同交流學習。
原文連結:http://semwatch.org/2012/04/tech-meets-seo/