面包屑導(dǎo)航在不管在SEO還是在用戶體驗都是極其重要的要素,清晰的內(nèi)鏈布局結(jié)構(gòu)對搜索引擎來說能引導(dǎo)蜘蛛順利抓取全站的內(nèi)容;對用戶來說,可以知道自己所瀏覽的頁面的位置,便于用戶進(jìn)一步點擊,貢獻(xiàn)PV量。但是對一些中英文站點來說就比較麻煩了,看看中文網(wǎng)站頁面標(biāo)題和面包屑導(dǎo)航結(jié)構(gòu):
一般三層目錄的的頁面標(biāo)題結(jié)構(gòu)是:
文章標(biāo)題_欄目標(biāo)題_網(wǎng)站名稱
對應(yīng)的面包屑導(dǎo)航一般是:
首頁 > 欄目標(biāo)題 > 文章標(biāo)題
三層及以上的標(biāo)題結(jié)構(gòu)是:
文章標(biāo)題_三級欄目標(biāo)題_二級欄目標(biāo)題_網(wǎng)站名稱
對應(yīng)的面包屑導(dǎo)航一般是:
首頁 > 二級欄目標(biāo)題 > 三級欄目標(biāo)題 > 文章標(biāo)題
后面的文章標(biāo)題可以去掉也可以保留,對SEO來說并不影響。
內(nèi)容管理系統(tǒng)(CMS)比較多,實現(xiàn)這樣的的效果比較容易,但是對中英文網(wǎng)站來說支持度不是很好,很多站長不會選擇兩個空間分別裝中英文系統(tǒng),能不能實現(xiàn)在一個空間里實現(xiàn)中英文網(wǎng)站的跳轉(zhuǎn)呢?這里舉例織夢dedecms,實現(xiàn)動態(tài)網(wǎng)站做偽靜態(tài)并做好如上標(biāo)題和面包屑導(dǎo)航。介紹兩種筆者試驗成功的方法:
在服務(wù)器空間里安裝兩個dedecms,適合一般的中英文企業(yè)站(推薦)
實現(xiàn)方法簡單粗暴,全部采用動態(tài)頁面?zhèn)戊o態(tài)的方法,讓空間占用最小,一般企業(yè)站的配置不需要太高,訪問量也不會很多,節(jié)約了服務(wù)器和維護(hù)的成本。適合2-4層目錄結(jié)構(gòu)的站點。
數(shù)據(jù)庫安裝方法
中英文網(wǎng)站安裝方法就不具體說明了,一個安裝在服務(wù)器空間的根目錄,另外一個安裝在子目錄里,共享空間但數(shù)據(jù)庫內(nèi)容不一樣,比如根目錄的數(shù)據(jù)庫前綴為“dede_”,子目錄的數(shù)據(jù)庫前綴為“dede2_”。
子目錄和子域名跳轉(zhuǎn)
比如中文域名為:www.vi586.com,英文域名為二級域名:en.vi586.com,用戶訪問http://en.vi586.com相當(dāng)于訪問子目錄http://www.vi586.com/en,對于用戶來說這樣的路徑更清晰,百度蜘蛛也認(rèn)為這是一個子站點,給予的權(quán)重相對比子目錄要高。
實現(xiàn)子域名解析到子目錄的方法參考文章《萬網(wǎng)利用.htaccess完美實現(xiàn)子域名跳轉(zhuǎn)到子目錄》。
按照上面的方法可以實現(xiàn)子域名解析到子目錄并成功跳轉(zhuǎn),但是會發(fā)現(xiàn)這樣的權(quán)重會更分散,因為子域名所有的鏈接都是類似
<a href="http://mengdiqiu.com.cn/en/a/>頻道名稱或文章標(biāo)題</a>
而我們想實現(xiàn)的如下的效果,才能把權(quán)重集中。
<a href="http://en.xiuzhanwang.com/a/">頻道名稱或文章標(biāo)題</a>
最完美實現(xiàn)方法由于篇幅限制,請移步文章《DedeCMSV5.7二次開發(fā)常用PHP函數(shù)》。
面包屑導(dǎo)航設(shè)置注意
英文站點的設(shè)置方法跟中文的一樣,只需要把中文換成英文的就好,面包屑導(dǎo)航也可以使用{dede:field name='position'/},但是“首頁”還是中文的修改方法是:系統(tǒng)-系統(tǒng)基本參數(shù)-主頁鏈接名,改為“HOME”,
英文站點的面包屑導(dǎo)航結(jié)構(gòu)是:
HOME > CHANNEL > TITLE
標(biāo)題設(shè)置
對應(yīng)的標(biāo)題結(jié)構(gòu)是:
TITLE_CHANNEL_WEBNAME
在服務(wù)器空間安裝一個dedecms(如果認(rèn)為不麻煩的繼續(xù)往下讀)
一個空間安裝實際上就是讓英文站成為一個子頻道,選用合適的模板就行,由于中英文都需要用到面包屑導(dǎo)航和頁面標(biāo)題,設(shè)置方法稍微麻煩些,而且對百度蜘蛛來說也分不清這是子網(wǎng)站還是子目錄,特別是動態(tài)網(wǎng)站來說,路徑是硬傷,不能做到上面的方法用.htaccess重寫,如果只是展示不考慮優(yōu)化的話可以禁止蜘蛛抓取,而且不能用動態(tài)網(wǎng)站的方法,否則又要寫正則表達(dá)式。
標(biāo)題設(shè)置,修改次級欄目title的斜杠符號"/"
有站長擔(dān)心"/"會讓蜘蛛認(rèn)為這是子目錄的意思,其實在標(biāo)題權(quán)重中,符號是不影響的,只是給人看起來不一樣而已。也比較少見如"#","^","$"之類的,較常用的還是"_","-","|",如果為三層結(jié)構(gòu),列表頁一般顯示如下,不是我們想要的效果
TITLE / CHANNEL2 / CHANNEL1_WEBNAME
打開/include/arc.listview.class,找到
$this->Fields['title'] = ereg_replace("[<>]"," / ",$this->TypeLink->GetPositionLink(false));
修改為
$this->Fields['title'] = ereg_replace("[<>]"," - ",$this->TypeLink->GetPositionLink(false));
注意橫線“-”兩邊還有兩個空格,可以根據(jù)需要刪除,建議采用豎線符號“|”,因兩個欄目之間還有無法刪除的空格。
文章標(biāo)題 | 二級欄目 | 一級欄目_網(wǎng)站名稱
超過三層目錄結(jié)構(gòu)請繼續(xù)往下讀。
修改鏈接符號"/"的另一種方法
如果你懶得修改源文件,也可以用php對{dede:field name='title'/}進(jìn)行替換:
<title>{dede:field name='title' function='str_replace("|","/",@me) '/}{dede:global.webname/}</title>
面包屑導(dǎo)航設(shè)置
{dede:field name='position'/},列表頁或內(nèi)容頁,一般顯示如下,很顯然不是我們想要的效果
首頁 > en > channelname > articlename
網(wǎng)上有直接修改position的,但是對于中英文站都需要用的標(biāo)簽,還不能采用直接修改的方法,只有直接調(diào)用頻道咯。
如果是二層目錄結(jié)構(gòu)的網(wǎng)站就簡單了,但是四級以上欄目調(diào)用可就傷腦筋了,特別是英文站放在子目錄里,當(dāng)然為了蜘蛛順利抓取,不建議大家網(wǎng)站結(jié)構(gòu)超過三層(包括文章層)。
網(wǎng)上有用sql的方法,但是覺得不靈活,萬一別人修改了數(shù)據(jù)庫呢!這里用到一個標(biāo)簽:{dede:channel type='parent'}[field:typename/]{/dede:channel},當(dāng)然需要自己動手了
打開/include/taglib/channel.lib.php,找到
else if($type=='self') { if($reid==0) return ''; $sql = "Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath From `dede_arctype` where reid='$reid' And ishidden<>1 order by sortrank asc limit 0, $line "; }
在下面增加
else if($type=='parent') { $sql = "Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath From `dede_arctype` where id='$reid' AND ishidden<>1 order by sortrank asc limit 0, $line "; }
當(dāng)英文站作為二級欄目時,三級欄目調(diào)用欄目名和鏈接的完整面包屑如下:
<a href="{dede:type typeid='英文站欄目的id'}[field:typeurl/]{/dede:type}">HOME > {dede:type typeid='英文站二級欄目id'}<a href="[field:typeurl/]">[field:typename/]</a> > {dede:type}[field:typename/]{/dede:type}</a>
四級欄目調(diào)用各欄目名和鏈接的完整面包屑代碼如下:
<a href="{dede:type typeid='英文站欄目的id'}[field:typeurl/]{/dede:type}">HOME > {dede:type typeid='英文站二級欄目id'}<a href="[field:typeurl/]">[field:typename/]</a>{/dede:type}{dede:channel type='parent' }{/dede:channel} > <a href="{dede:type}[field:typeurl/]{/dede:type}">{dede:type}[field:typename/]{/dede:type}</a>