做seo必定會涉及內鏈建設,而對于網站框架來說,其內鏈結構在程序寫好之后就已經確定了,我們要做的只能是文章內容的內鏈。對于文章內鏈來說,最好的方式還是手動創建,這樣可以保證真正的相關并且確實存在推薦意義,但事實上,因為工作量或計劃等問題,人工創建內鏈其效率過于低下,所以就有了自動內鏈這一方法。
自動創建內鏈其原理其實非常簡單,就是在發布或者調用文章的時候,檢測文章中的關鍵詞,并將其替換成超級鏈接的形式。為此,你可能需要這樣一個表:
ID | 關鍵詞名稱 | 關鍵詞鏈接地址 |
1 | 企業網站建設 | http://www.kredytypozyczki.net |
2 | 企業網站程序 | http://www.kredytypozyczki.net/qiye-wangzhan-chengxu/ |
在發布或者調用文章的時候,需要對內容進行處理,可以簡單用以下代碼實現:
$html='關鍵詞1是指針對企業做關鍵詞1網站,這個過程設計關鍵詞1企業網站建設身份';//這是文章內容 $html=preg_replace('/關鍵詞1/sui', '關鍵詞1', $html);//這里替換關鍵詞
運行結果如下:
如上,的確給關鍵詞加上了鏈接,遺憾的是這里多個相同的關鍵詞都加了鏈接,這沒什么用,也影響用戶體驗,我們應該:同一頁面下相同關鍵詞的鏈接只出現一次。
php要解決這個問題就太簡單了,你只需要這樣加一個參數:
$html=preg_replace('/關鍵詞1/sui', '關鍵詞1', $html,1);//這里的1指的是替換的次數到此,問題好像已經解決了,我們再來看一段代碼的運行情況:
$html='<img src="http://www.kredytypozyczki.net/Template/images/wx.png" alt="關鍵詞1" />指針對企業做關鍵關鍵詞1', $html,1);運行結果如下:
事實上,這樣運行的結果是錯誤的。圖片的alt或title、鏈接的錨文本或title中出現的關鍵詞會被替換成超級鏈接!所以上面的代碼是錯誤的,我們需要事先把a標簽、img標簽中的內容摒棄掉,再替換關鍵詞,替換完成后再把原有的a標簽和img標簽還原即可解決問題。
方法有很多,我這里是先把所有的a和img進行md5加密,替換關鍵詞后再還原,直接看函數吧!
function keylink($str,$link,$count=1){ $linkDefs = $link; $linkMap = array(); //把圖片和鏈接讀取出來并替換掉 $str=htmlspecialchars_decode($str); $reg = '~<img [^="">]* />|<a.*<\ a="">~'; preg_match_all($reg,$str,$rst);//正則表達式把圖片的整個都獲取出來了 foreach ($rst[0] as $key => $value) { $str=str_replace($value,'{'.md5($value).'}',$str); } //替換關鍵詞 foreach($linkDefs as $row) { $linkMap[] = explode(',', $row); } usort($linkMap, '_sortDesc'); $tmpKwds = array(); foreach($linkMap as $i=>$row) { list($kwd, $url) = $row; for($j=$i+1; $j這個php的自動內鏈函數基本可以解決所有內鏈問題了,但在使用過程中還是需要注意幾點:'.$kwd.'', $str, $count); } //把代替子關鍵字的字符串替換回來 foreach($tmpKwds as $tmp=>$kwd) { $str = str_replace($tmp, $kwd, $str); } //把圖片和鏈接替換回去 foreach ($rst[0] as $key => $value) { $str=str_replace('{'.md5($value).'}',$value,$str); } return $str; }
- 同一個頁面(鏈接地址)可能對應多個關鍵詞,如此就會涉及到權重(優先級)問題
- 同一頁面下相同鏈接不要出現不同關鍵詞,這里對應第一點的優先級來處理。
- 同一頁面需求關鍵詞鏈接可根據頁面文字以及質量形成比例,建議不要超過5個,同時包括核心關鍵詞以及絕對性信息內容、文章標題鏈接。也就是不要太多,所有關鍵詞都加。我是這樣來做的,把文章標題進行分詞,由分詞找到相關關鍵詞,只對這些相關的關鍵詞加鏈接。
另外,再補充一些相關知識:
- 網站下核心關鍵詞占有首頁一級鏈接在80%,絕對信息索引頁可以占有20%;
- 網站多個核心關鍵詞以時間段進行網站優化內部鏈接;
- 專題欄目下以欄目主要關鍵詞為鏈接關鍵詞;
- 頁面出現核心關鍵詞以首頁為鏈接首選,欄目關鍵詞以欄目地址鏈接,長尾關鍵詞以相關性高絕對路徑鏈接;
- 網站頁面鏈接與整體內部鏈接數量多少及比例需要根據網站在搜索引擎中的權重實際情況進行。
© 致遠 2020-02-01,原創內容,轉載請注明出錯:詳解php自動創建文章內鏈