自從Discuz被騰訊這頭大牛收購后的確越來越強大了,雲平台是最大的亮點,但是Discuz X2.0在偽靜態方面仍然非常不盡人意。目前世面主流的論壇程序phpwind和Discuz都無法做到全站完美偽靜態,這對SEO影響很大,如果網站的權重不夠高,那么搜索引擎會認為網站出現大量的重復頁面,導致降權甚至K站。
首先說說Discuz X2.0論壇功能中自帶規則無法實現偽靜態的地方:
1、面包屑導航
Discuz X2.0論壇所有頁面的面包屑導航均是動態的,不過我們可以通過修改程序來實現偽靜態。
2、論壇首頁“最后發表”
首頁版塊上“最后發表”的帖子鏈接無法實現偽靜態,很遺憾的告訴你,這個目前無法實現偽靜態,修改程序也不行。
3、論壇帖子內容頁的復制鏈接
這個復制鏈接按鈕也是動態地址,我們可以通過修改程序來實現偽靜態。
4、論壇帖子內容頁的“上一主題”和“下一主題”
這個地方很讓人郁悶,目前也是無法實現偽靜態的,修改程序也不行。
所以,目前可以修改程序實現偽靜態的就只有面包屑導航和論壇帖子內容頁的復制鏈接,修改方法如下(注:修改完畢后需要到后台更新緩存哦),不要一看見代碼就害怕自己不會改,你按照我說的,粘貼和復制就可以改好,完全傻瓜式的操作。
Discuz X2.0面包屑導航偽靜態實現方法——
打開 /source/module/forum/forum_viewthread.php 找到以下代碼:
<a href="'.$t_link.'">'.strip_tags($_G['forum']['name']).'</a>';
替換為:
'.'<a href="forum.php?mod=forumdisplay&fid='.$_G['fid'].'">'.$_G['forum']['name'].'</a> '.$forumarchive[$_G['gp_archiveid']]['displayname'];
Discuz X2.0論壇帖“復制鏈接”偽靜態實現方法——
打開 /template/default/forum/viewthread.htm 在大約200行左右找到以下代碼:
<a href="{$_G[siteurl]}forum.php?mod=viewthread&tid=$_G[tid]$fromuid" onclick="return copyThreadUrl(this)" title="{lang share_url_copy_comment}">[{lang share_url_copy}]</a>
替換為:
<a href="forum.php?mod=viewthread&tid=$_G[tid]$fromuid" onclick="return copyThreadUrl(this)" title="{lang share_url_copy_comment}">[{lang share_url_copy}]</a>
這樣,面包屑導航和論壇帖子內容頁的復制鏈接的偽靜態就已經實現了,論壇首頁“最后發表”和論壇帖子內容頁的“上一主題”和“下一主題”我確實是沒找到偽靜態的方法,如果你找到了,記得分享一下給我哦。
另外,很多人都想去掉Discuz自帶的furom.php和portal.php這幾個尾巴,其實去掉的方法很簡單,官方后台就可以直接進行操作,如下圖:
在Discuz后台的全局→域名設置→應用域名中論壇處填上你對應的域名,這樣論壇的forum.php就去掉了,門戶的portal.php后綴去掉方法是一樣的,在上圖的門戶處填上門戶的域名就可以了。
但是即使這樣設置了,論壇面包屑導航以及論壇列表頁的“返回”按鈕中仍然會有forum.php的后綴,康盛創想Discuz團隊做出的產品確實很 贊,但是卻經常不注意這些細節,鄙視一下先!去掉論壇面包屑導航以及論壇列表頁“返回”按鈕中的forum.php后綴方法如下(注:修改完畢后需要到后 台更新緩存哦):
1、打開 /source/module/forum/ 中的forum_viewthread.php、forum_forumdisplay.php、forum_misc.php、forum_post.php這四個文件。
搜索 ”forum.php”(包含引號),替換為 ”http://'.$_G['setting']['domain']['app']['forum'].'/”(包含引號),修改完畢后上傳覆蓋。
2、打開 /template/default/forum/ 中的discuz.htm(這里是以Discuz X2.0自帶的模板為例,如果你用的是其他模板,需要在模板的“forum”目錄中找到這個文件)。
在19行左右找到如下代碼:
<a href="forum.php">{$_G[setting][navs][2][navname]}</a>$navigation
替換為:
<a href="./">{$_G[setting][navs][2][navname]}</a>$navigation
這樣,面包屑導航中的forum.php后綴就已經全部去掉了。
接下來,要去掉論壇列表頁“返回”按鈕中的forum.php后綴:
打開 /template/default/forum/ 中的forumdisplay.htm和forumdisplay_list.htm這兩個文件(這里是以Discuz X2.0自帶的模板為例,如果你用的是其他模板,需要在模板的“forum”目錄中找到這個文件)。
將頁面中的:
<a href="forum.php">
全部修改為:
<a href="http://$_G['setting']['domain']['app']['forum']/">
至此,Discuz X2.0中論壇面包屑導航以及幾處程序自身無法實現的偽靜態成功靜態處理,並且去掉了論壇中多余的forum.php后綴,保證結構上SEO效果最佳化。