PHP實現(xiàn)對站點內(nèi)容外部鏈接的過濾方法
熟悉SEO的朋友都知道,對于網(wǎng)站外部鏈接失效的情況如果鏈接帶有rel="nofollow"屬性可以避免不必要的損失。本文就以實例形式演示了PHP實現(xiàn)對站點內(nèi)容外部鏈接的過濾方法。具體如下:
問題描述:原來站內(nèi)很多文章都是摘錄的外部文章,文章里很多鏈接要么是時間久了失效了,要么就是一些測試的網(wǎng)址,如:http://localhost/ 之類的,鏈接多了的話,就形成站內(nèi)很多死鏈接,這對SEO優(yōu)化是很不利的。
解決方法:需要對站點內(nèi)的內(nèi)容進(jìn)行過濾,將不是內(nèi)部鏈接的鏈接加上 rel="nofollow"屬性。
本文借鑒了wordpress的過濾外部鏈接的函數(shù),將其改一下即可使用。
具體代碼如下:
//外部鏈接增加nofllow $content 內(nèi)容 $domain 當(dāng)前網(wǎng)站域名 function content_nofollow($content,$domain){ preg_match_all('/href="(.*?)"/',$content,$matches); if($matches){ foreach($matches[1] as $val){ if( strpos($val,$domain)===false ) $content=str_replace('href="'.$val.'"', 'href="'.$val.'" rel="external nofollow" ',$content); } } preg_match_all('/src="(.*?)"/',$content,$matches); if($matches){ foreach($matches[1] as $val){ if( strpos($val,$domain)===false ) $content=str_replace('src="'.$val.'"', 'src="'.$val.'" rel="external nofollow" ',$content); } } return $content; }
調(diào)用的時候很好調(diào)用,如下是調(diào)用演示
$a['content'] = content_nofollow($a['content'],$domain); //將文章內(nèi)容里的鏈接增加nofllow屬性
注意!這里過濾的域名需要是不帶“/”的,如http://www.dbjr.com.cn,這樣才可以很好的過濾。
相信本文所述的方法對大家的PHP項目開發(fā)有一定的借鑒價值。
相關(guān)文章
php+Mysqli利用事務(wù)處理轉(zhuǎn)賬問題實例
這篇文章主要介紹了php+Mysqli利用事務(wù)處理轉(zhuǎn)賬問題的方法,實例分析了php+mysqli處理事務(wù)的提交與回滾的技巧,需要的朋友可以參考下2015-02-02PHP實現(xiàn)的下載遠(yuǎn)程文件類定義與用法示例
這篇文章主要介紹了PHP實現(xiàn)的下載遠(yuǎn)程文件類定義與用法,結(jié)合具體實例形式分析了php封裝的下載遠(yuǎn)程文件操作類定義及使用方法,需要的朋友可以參考下2017-07-07PHP實現(xiàn)移除數(shù)組中為空或為某值元素的方法
這篇文章主要介紹了PHP實現(xiàn)移除數(shù)組中為空或為某值元素的方法,涉及php使用array_filter過濾數(shù)組的相關(guān)操作技巧,需要的朋友可以參考下2017-01-01php日期轉(zhuǎn)時間戳,指定日期轉(zhuǎn)換成時間戳
UNIX時間戳和格式化日期是我們常打交道的兩個時間表示形式,Unix時間戳存儲、處理方便,但是不直觀,格式化日期直觀,但是處理起來不如Unix時間戳那么自如,所以有的時候需要互相轉(zhuǎn)換,下面給出PHP日期轉(zhuǎn)時間戳、MySQL日期轉(zhuǎn)換函數(shù)互相轉(zhuǎn)換的幾種轉(zhuǎn)換方式2012-07-07php壓縮HTML函數(shù)輕松實現(xiàn)壓縮html/js/Css及注意事項
如何提高網(wǎng)頁加載速度需要對網(wǎng)頁怎樣的優(yōu)化等等,都是站長們所關(guān)心的問題,其實壓縮網(wǎng)頁的方法很多,本文將講解一下php壓縮HTML函數(shù)輕松實現(xiàn)壓縮html/js/Css,感興趣的朋友可以了解下,希望本文對你有所幫助2013-01-01PHP提示Cannot modify header information - headers already sent
這篇文章主要介紹了PHP提示Cannot modify header information - headers already sent by解決方法,是在PHP程序開發(fā)中非常典型的錯誤情況,非常具有實用價值,需要的朋友可以參考下2014-09-09