在建站做PC端和移動端適配的時候經(jīng)常會提到絕對路徑和相對路徑,對“/”、“../”、“../../”;“http://域名/images/”、“/images/”之間的區(qū)別讓很多WEB前端、SEO新手疑惑,這是非常重要的一個環(huán)節(jié),SEO優(yōu)化必須要有WEB前端的基礎。下面秀站網(wǎng)SEO把兩者結(jié)合起來說一下。
URL寫法一般有兩種,絕對路徑和相對路徑,WEB前端主要是為了正確引用目錄下的文件。內(nèi)容管理系統(tǒng)CMS的路徑不盡相同,有一些放在根目錄下,有些放在和源文件同一個目錄下。
源文件與目標文件不在同一個文件夾
比如根目錄下有文件夾images(http://www.vi586.com/images/1.jpg)和源文件(http://www.vi586.com/a/b/pro.html),源文件pro.html引用根目錄下的images文件夾可采用
<img src="/images/1.jpg"/> <img src="../../images/1.jpg"/> <img src="http://www.v586.com/images/1.jpg"/>
只有一個“/”代表的是根目錄(是用戶能訪問得到網(wǎng)站根目錄,并不是購買的虛擬空間或服務器的根目錄);“../”代表源文件的上級目錄;“../../”表示源文件的上上級目錄,以此類推,建議采用絕對路徑的形式,保證抓取路徑的唯一性,這個對SEO是非常重要的環(huán)節(jié)。當然相對路徑對網(wǎng)站搬家來說比較簡單,直接移植過去就行了。絕對路徑就需要調(diào)用,cfg_basehost是個變量,在dedeCMS系統(tǒng)設置里面,網(wǎng)站搬家后修改后直接再生成就好。
<img src="{dede:global.cfg_basehost/}/images/1.jpg"/>
源文件與目標文件在同一個文件夾
比如根目錄下有文件夾images(http://www.vi586.com/images/)和源文件(http://www.vi586.com/index.html),源文件index.html引用根目錄下的images文件夾直接寫文件名即可。
<img src="images/1.jpg"/>
建立二級域名移動端URL路徑的規(guī)范性
二級域名與子目錄權重問題
wap.vi586.com,seo.vi586.com等都是二級域名,百度會給予比子目錄(http://www.vi586.com/wap/或http://www.vi586.com/seo/)稍高的權重。但是用.htaccess重寫路徑之后,發(fā)現(xiàn)很多地方采用的是相對路徑,出現(xiàn)404錯誤。
二級域名和主域名附件都修改為該域名下的絕對路徑
比如二級域名http://wap.vi586.com下,<img src="/upload/image/1.jpg"/>實際路徑是http://wap.vi586.com/upload/images/1.jpg,而這個路徑下面是沒有這個文件的,真正文件路徑是http://www.vi586.com/images/1.jpg,因此寫絕對路徑還是很有必要。
如果采用dedeCMS之類的內(nèi)容管理系統(tǒng)有這方面的設置,能一步解決所有的附件、鏈接等都為絕對路徑,這對SEO優(yōu)化來說是杠杠的!遇到的問題比較多,比如某個頻道鏈接的實際絕對路徑是http://www.vi586.com/wap/channel1/,而我們希望的實際絕對路徑是http://wap.vi586.com/channel1/,參考文章《dede用php函數(shù)修改二級域名相對路徑變絕對路徑鏈接》
二級域名和主域名鏈接修改為該域名下的絕對路徑
二級域名下很多默認的標簽都在未采用絕對路徑之前的實際路徑為"http://wap.vi586.com/wap/images/",很明顯是錯誤的。.htaccess只能改寫點擊URL訪問的問題,但是文件路徑調(diào)用卻不能解決,可以采用php的str_replace函數(shù)的命令,這樣就能全移動站的路徑都是以http://wap.vi586.com開頭的絕對路徑,權重更集中,不會出現(xiàn)蜘蛛反復跳轉(zhuǎn)的問題。下面為大多數(shù)二級域名下的修改方法
<!--頻道、文章調(diào)用鏈接絕對路徑--> {dede:channel}[field:typeurl function='str_replace("/wap","http://wap.vi586.com",@me)']{/dede:channel} {dede:arclist}[field:arcurl function='str_replace("/wap","http://wap.vi586.com",@me)']{/dede:arclist} <!--面包屑導航絕對路徑--> {dede:field name='position' function='str_replace("/wap","http://wap.vi586.com",@me)'/} <!--上下篇絕對路徑--> {dede:prenext get='pre' function='str_replace("/wap","http://wap.vi586.com",@me)'/} {dede:prenext get='next' function='str_replace("/wap","http://wap.vi586.com",@me)'/} <!--文章圖片絕對路徑--> {dede:field name='body' function='str_replace('/upload/','http://www.vi586.com/upload/',@me)'}
移動端面包屑導航還有一個主頁的鏈接仍然是http://www.vi586.com,不分散權重可以設置成相對路徑“/”,打開/include/typelink.class.php,找到
$this->indexUrl = $GLOBALS['cfg_basehost'].$GLOBALS['cfg_indexurl'];
修改為
$this->indexUrl = $GLOBALS['cfg_indexurl'];
二級域名和主域名的附件、鏈接修改總結(jié)
這樣的修改方法適合二級域名解析到子目錄下的做法,如果一個空間服務器安裝兩個CMS就簡單得多,參考文章《SEO優(yōu)化排名靠前不可忽略的標題和面包屑導航》,至此二級域名(移動端的)附件、鏈接修改完畢。