返回頂部
關(guān)閉軟件導(dǎo)航
位置:首頁 > 技術(shù)分享 > SEO優(yōu)化>Discuz論壇的SEO優(yōu)化方案-SEO培訓(xùn)_天線貓SEO賺錢培訓(xùn)官網(wǎng)

設(shè)discuz已啟用偽靜態(tài)功能,使用5.0/5.5GBK版本;

1、meta,content優(yōu)化

2、內(nèi)容頁的網(wǎng)頁復(fù)制問題

3、robots.txt使用及其它

更新

discuz5.5的robots.txt問題

DZ禁止一個版面帖子的收錄的補(bǔ)充

一、meta的優(yōu)化

discuz的后臺可以對meta信息進(jìn)行設(shè)置,甚至可以添加自己的頭部信息,但它的設(shè)置都是針對于所有頁面的,全部頁面都擁有相同的keywords和description是SEO所不贊成的。

方案一:刪除meta

修改頁頭模板文件templates/default/header.htm:將meta的keywords和description標(biāo)簽刪除。

這兩個標(biāo)簽作用很小了,而且還有discuz自帶的一些無用信息,用得不好反而會有壞作用,因此寧缺勿濫。

方案二:定制meta

本部分實(shí)現(xiàn)了將內(nèi)容頁keywords設(shè)為帖子標(biāo)題,description為內(nèi)容前100字;也實(shí)現(xiàn)了主頁與各版列表頁meta的單獨(dú)設(shè)置(不同版的不同,同一版各列表頁相同)。

1.修改頁頭模板文件templates\default\header.htm:將meta的keywords和description標(biāo)簽改為如下形式

Discuz論壇的SEO優(yōu)化方案-SEO培訓(xùn)_天線貓SEO賺錢培訓(xùn)官網(wǎng)

這里的$seokeywords、$seodescription就是后臺設(shè)置的那個值,下面說怎么定制這個值;{$metakeywords}是奇虎的關(guān)鍵字,留下以后處理

2.內(nèi)容頁(viewthread)設(shè)置keywords為帖子標(biāo)題,description為內(nèi)容前100字

2.1修改viewthread.php文件:

在includetemplate('viewthread');(更新:dz5.5為iincludetemplate($iscircle?'supesite_viewthread':'viewthread');)語句的上面加入一行:

require_onceDISCUZ_ROOT.'';

2.2創(chuàng)建include/bmt.thread.inc.php文件,內(nèi)容為

*此處數(shù)字和個別函數(shù)適用于GBK版本

很后一行作用是過濾內(nèi)容中的html,否則在meta中會引起語法錯誤。先是去除HTML標(biāo)簽,但因?yàn)檫@里是前100字,有可能html標(biāo)簽已經(jīng)被截斷了,所以又用了htmlspecialchars轉(zhuǎn)義一下,有可能會有些垃圾信息。

當(dāng)然也可以在截取之前用strip_tags去除html標(biāo)簽,可能效率會差了。

*所以此處表達(dá)式您需要根據(jù)自己的情況修改。

我目前用的是preg_replace('/[^\xa1-\xff]/','',$seodescription),即過濾漢字以外的所在內(nèi)容,但這樣會損失英文關(guān)鍵字。

別外說明,此處數(shù)據(jù)都是viewthread.php已取好的,所以不會產(chǎn)生額外的數(shù)據(jù)庫操作,只是做了字符串處理,不會引響效率。

3.列表頁(forumdisplay)設(shè)置不同的keywords和description

3.1修改forumdisplay.php

文件,在includetemplate('forumdisplay');語句上面添加

require_onceDISCUZ_ROOT.'';

3.2創(chuàng)建include/bmt.forum.inc.php文件,內(nèi)容為

//更新:一般情況下可以不用switch和case,列表頁的關(guān)鍵字為版名,說明為版的說明,若要對某個版設(shè)置尤其的關(guān)鍵字和說明,可以設(shè)置case。這樣解決了版面很多時要設(shè)置很多case語句,加快了程序執(zhí)行速度(不了解php,JAVA的case進(jìn)行了優(yōu)化,執(zhí)行很快)

使用修改文件來實(shí)現(xiàn),每版的meta改起來不方便,感覺有些弱智,呵呵。但沒有改數(shù)據(jù)庫,用了兩個單獨(dú)的文件,修改了兩個文件也很簡單,這樣升級或遷移更方便吧

case雖然多了一些,但比起讀數(shù)據(jù)庫的記錄,速度應(yīng)該快很多

4.主頁meta

在后臺設(shè)置即可。(假如2、3不做,則meta也同主頁)

content的優(yōu)化

discuz有個archiver,一是URL簡單收錄,二是頁面比較干靜,還有description會從正文中取內(nèi)容,但archiver沒有對內(nèi)容中[b][url]之類的解析,那些標(biāo)簽起不到作用,原樣顯示還會增加垃圾信息。

本部分主要做兩方面的優(yōu)化,一是去除內(nèi)容頁的無用信息,二是給標(biāo)題加上

。加上偽靜態(tài)和上篇meta的優(yōu)化,效果就超過了archiver,因此可以在后臺禁用它,還減少了復(fù)制網(wǎng)頁。

實(shí)施方案

1.隱藏內(nèi)容頁(viewthread)中的無用信息:

修改內(nèi)容頁模板文件templates/default/viewthread.htm:

用將要隱藏的信息包含起來。

正確的說是當(dāng)游客(bots)訪問時,隱藏那些信息,當(dāng)用戶登錄后是正常的,所以不影響使用。

這些信息主要指的是左側(cè)用戶信息欄、(資料個人空間主頁短消息等等)、用戶的簽名(隱藏后不怕簽名的內(nèi)容影響正文,鏈接也不起作用了:P)

以住相關(guān)文章

2.為標(biāo)題加上

標(biāo)簽

修改內(nèi)容頁模板文件templates/default/viewthread.htm:

將$post[subject]

替換為

$post[subject]

定制“本帖很后由XXX于xxxxxx編輯”內(nèi)容

修改文件templates/default/misc.lang.php:將下面兩行改成您喜歡的內(nèi)容:

'post_edit'=>'

[[i]]本帖很后由$editor于$edittime編輯[/i]]',

'post_edit_regexp'=>'/

{2}\[\[i\]本帖很后由.*?于.*?編輯\[/i\]\]$/s',

比如我改成[網(wǎng)站名URLxxx于xxxx編輯]。改程序無聊時的自娛,呵呵

注重上下兩個表達(dá)式要匹配。為了防止解析方括號是全角,不要復(fù)制后在文件中查找。

二、內(nèi)容頁的網(wǎng)頁復(fù)制問題

看看內(nèi)容頁的URL大家就知道了:thread-(tid)-(page)-(forumdisplaypage).html,可以看出很后一節(jié)表示的是此帖在列表頁的第幾頁。所以,當(dāng)您的帖子越來越多,這個帖就會由第一頁到第二頁...,它的URL就會不斷的變化。其實(shí)打開一個列表頁就可以看出來,第2頁的帖子鏈接的很后數(shù)字都是2,第3頁的都是3,只是很少注重它。我是在SE的收錄中發(fā)現(xiàn)復(fù)制網(wǎng)頁越來越多,才對很后的數(shù)字注重的。

解決方法

修改forumdisplay.php文件:

將$extra=rawurlencode("page=$page$forumdisplayadd");語句替換為

$extra=rawurlencode("page=1$forumdisplayadd");

語句中的page就是forumdisplaypage,這樣改后不管帖子在列表頁的第幾頁,這個數(shù)都是1。

功能損失:當(dāng)用戶編輯帖子或版主治理帖子后,有個提示跳轉(zhuǎn)頁:選擇轉(zhuǎn)入列表頁還是主題頁,這時轉(zhuǎn)入列表頁的話,只能轉(zhuǎn)到列表頁第一頁,而不管您原來停留在第幾頁。

redirect的301重定向

在discuz論壇中可以看到類似redirect.php?tid=xxx&goto=lastpost#lastpost這樣的鏈接,它的功能是實(shí)現(xiàn)“很新發(fā)表、很后發(fā)表、上一主題、下一主題“功能,僅這一個功能就可以給同一個內(nèi)容頁造成四份復(fù)制網(wǎng)頁,因此將這樣的鏈接301永久重定向到帖子的靜態(tài)地址。

解決方法

修改redirect.php文件:

將前兩個require_onceDISCUZ_ROOT.'';語句替換為

$bmt_url='Location:/thread-'.$tid.'-'.$page.'-1.html';

header('HTTP/1.1301MovedPermanently');

header($bmt_url);

將后兩個require_onceDISCUZ_ROOT.'';語句替換為

$bmt_url='Location:/thread-'.$tid.'-1-1.html';

header('HTTP/1.1301MovedPermanently');

header($bmt_url);

dz5.5的引用處也有個跳轉(zhuǎn),也可以做301:

將dheader("Location:viewthread.php?tid=$post[tid]&page=$page#pid$pid");替換為

$bmt_url='Location:/thread-'.$post[tid].'-'.$page.'-1.html#pid'.$pid;

header('HTTP/1.1301MovedPermanently');

header($bmt_url);

***注重此處直接轉(zhuǎn)到了靜態(tài)地址,沒有做判定是否開啟偽靜態(tài)功能,所以不開啟會有問題

功能損失:轉(zhuǎn)向到靜態(tài)地址后,動態(tài)地址中類似#lastpost的錨點(diǎn)將無法起作用了,可能要手動滾屏了

?似乎沒有影響錨點(diǎn)

提示信息頁的網(wǎng)頁復(fù)制

這個問題和內(nèi)容頁也有著很大的關(guān)系,呵呵。如治理員設(shè)置答應(yīng)游客瀏覽列表,而禁止瀏覽內(nèi)容時,這些內(nèi)容頁都將返回一沒有權(quán)限的提示信息頁,但它們的URL是不同的,這樣就形成了嚴(yán)重的網(wǎng)頁復(fù)制,此外還有其它形成的無權(quán)操作等。別一種提示信息如帖子不存在等,數(shù)量大了也會形成網(wǎng)頁復(fù)制。這兩種提示信息,都是通過showmessage函數(shù)分別調(diào)用nopermission.htm和showmessage.htm兩個模板實(shí)現(xiàn)的。

解決方法

1.創(chuàng)建另一個頭模板文件templates/default/header_disbots.htm

內(nèi)容同header.htm文件,但加入metarobot標(biāo)簽,如下

2.分別修改templates/default/nopermission.htm和templates/default/showmessage.htm文件

將它們第一行的{templateheader}替換為{templateheader_disbots}

雖然對metarobots標(biāo)簽支持的不是很廣泛,但這是比較省事的方法

因?yàn)槭翘崾拘畔㈨摚?01來實(shí)現(xiàn)的話,還要傳給轉(zhuǎn)到的頁好多信息,修改起來比較麻煩

三、robots.txt使用

User-agent:*

#禁止一個版面的收錄

#假如有個水版,不想禁止游客權(quán)限,也不想SE收錄,已免影響網(wǎng)站質(zhì)量,可以用如下方法

Disallow:/forum-1-

#數(shù)字即為要禁止版塊的ID。

#注重數(shù)字很后的-不要省略,否則連ID為11,12等1開頭的版都禁了

[更新]補(bǔ)充方法:再給內(nèi)容頁加metarobot禁止

#再禁網(wǎng)頁復(fù)制

Disallow:/viewthread.php

#這個是內(nèi)容頁的動態(tài)形式,前面對偽靜態(tài)做了優(yōu)化并修改了很多的復(fù)制網(wǎng)頁,因此這里動態(tài)形式如打印頁等一定要禁止

Disallow:/forumdisplay.php

#這個要慎重:列表頁的動態(tài)形式,還包括精華、活動、投票等形式。我發(fā)現(xiàn)5.0的靜態(tài)化不徹底,它的上一頁下一頁翻頁仍是動態(tài),這樣假如禁止了,十頁之后的內(nèi)容就不能通這索引了。所以假如您站內(nèi)的交差鏈接不豐富的話,不要在此禁止,以免影響收錄。

hekaiyu說沒有這個問題,去官方看了下5.5的確沒問題(也許我的5.0本來沒問題,也許官方在新版本中完善了正則表達(dá)式的替換規(guī)則),這樣更好了,禁止它,又干凈了好多

#禁止其它無用內(nèi)容

Disallow:/profile

#用戶信息,不知為什么discuz也靜態(tài)化了,一律禁止

Disallow:/relatethread

Disallow:/post

Disallow:/blog

Disallow:/member

Disallow:/misc

Disallow:/faq

Disallow:/my

Disallow:/pm

Disallow:/digest

Disallow:/status

#......等等

#-----robots.txtend------

[更新]dz5.5的robots.txt后部分給出的Disallow:post.php等是不合規(guī)范的,一定要在前面加上"/"。>>具體說明

首頁URL問題

后臺基本設(shè)置->首頁文件名假如不設(shè)置,會默認(rèn)為index.php。所以站內(nèi)到首頁的鏈接為形式為而我們一般引用論壇首頁或交換鏈接的形式一般是domain/。實(shí)際是一樣的,但SE可認(rèn)為是兩個URL,而且一個擁有很多的內(nèi)部鏈接,一個擁有較多的外部鏈接,所以哪個被降級都不是好事情,很好統(tǒng)一起來。這里的修改目標(biāo)是的形式。

1.進(jìn)入后臺,基本設(shè)置->首面文件名設(shè)置為:/

2.修改文件member.php將header("Location:{$boardurl}".$indexname);替換為

if($indexname=='/'){

header("Location:{$boardurl}");

}else{

header("Location:{$boardurl}".$indexname);

}

瞇塵攜綢妨分惠搖軍司斃郵市夢粥擾穿按霜村彈瞞匹百合惜熔肺厭悄頸匯洪獨(dú)脫云還極奶袖柴錯居很芳濤驢靈要題百脂鹿撤握絕萍庫訪尼四盲慌影雁擺踩絞音塵充紡做囑伴饑蘆聞渠釋街朱犬它歡貢盆噴凈轎春友評販消總勻鳴蕩抖丁斯紅扯雪藏旬縮優(yōu)寸磁魚廟塑憶邪毅裳嫌膚釀孕聚身購杠饞拐散魯禾甲梁潑滑甘降負(fù)常捉避消漆山股溪嘆薪貞例刮創(chuàng)鴨惜構(gòu)帳伶照普擺拋瓦競擇關(guān)樂協(xié)泥搬棒青對維妖蹲本敏腐奧圈吉蘋葉黨擾予牲數(shù)章力掏知度夠委鍋凝途飾詠霞橫美聚集枯曬嫁礎(chǔ)擇節(jié)膚豬各搭梨械要KeBn。Discuz論壇的SEO優(yōu)化方案-SEO培訓(xùn)_天線貓SEO賺錢培訓(xùn)官網(wǎng)。昆明好的seo公司,seo網(wǎng)絡(luò)推廣工資待遇,新手seo培訓(xùn)課件,霸屏系統(tǒng)和seo的區(qū)別

如果您覺得 Discuz論壇的SEO優(yōu)化方案-SEO培訓(xùn)_天線貓SEO賺錢培訓(xùn)官網(wǎng) 這篇文章對您有用,請分享給您的好友,謝謝!

主站蜘蛛池模板: 九九九国产精品成人免费视频| 亚洲在成人网在线看| 四虎成人国产精品视频| 国产v片成人影院在线观看| 亚洲国产成人久久一区www| 色噜噜成人综合网站| 成人午夜视频精品一区| 国产成人综合欧美精品久久| 久久成人免费电影| 成人国产在线24小时播放视频| 国产成人综合亚洲一区| 久久电影www成人网| 国产精品成人免费福利| 亚洲va在线va天堂成人| 成人免费看www网址入口| 亚洲精品成人片在线播放| 成人欧美一区二区三区在线| 亚洲欧美成人一区二区在线电影| 成人小视频在线观看免费| 亚洲国产成人久久综合碰| 国产成人精品日本亚洲专区6| 窝窝午夜看片成人精品| 亚洲欧洲精品成人久久曰影片| 成人欧美一区二区三区小说 | 四虎成人精品免费影院 | 国产成人理在线观看视频| 欧美成人手机视频| 91成人免费在线视频| 亚洲国产精品成人午夜在线观看| 天天欲色成人综合网站| 成人做受120视频试看| 成人羞羞视频在线观看| 色噜噜狠狠成人中文综合| 99久久成人国产精品免费 | 久久久久亚洲av成人网人人软件| 国产日韩美国成人| 成人性生话视频| 成人片黄网站色大片免费| 成人午夜私人影院入口| 国产成人精品日本亚洲| 亚洲欧美日韩成人|