过期域名预定抢注

 找回密碼
 免费注册

DedeCms 5.3 超強的SEO優化全攻略

[複製鏈接]
發表於 2009-7-8 16:33:07 | 顯示全部樓層 |閱讀模式
DedeCms 是公認的在SEO優化方面做得做好的CMS,可能很多人會說,優化是靠個人的,與CMS無關,這其實也不盡正確,因為必須程序提供商提供足夠的工具才有可能,舉例說:如果某CMS的欄目設置連關鍵字、摘要都沒有,何來優化之說?本文以DedeCMS為例,深入說明SEO優化方面的攻略,本文所說的優化絕對不是那種含emu的SEO策略,而是針對網站自身的內容,提高搜索引擎對內容的識別能力。
4 X+ `; ~& `; j& D6 F8 F2 D- T0 |' ^& Z, V
一.DEDE全局優化: W5 ~7 R. ?! @; A
& A* T0 c2 R3 v$ W# y9 `
在DedeCms的系統參數配置中,包含了「網站版權、編譯JS等底部調用信息;站點默認關鍵字;站點描述」這些項目,其實必須注意的是站點默認關鍵字、站點描述的設置必須合理。7 H$ N# x: H- h7 e1 G5 k9 ]" m' u
8 _9 S) @' T, D4 s4 E: S
(1) 站點名稱和關鍵字是搜索引擎識別你這個網站內容的關鍵,其中在主頁的網站名稱可以手工填寫,在標題的地方適當增加一些關鍵字。) r2 M0 }2 `1 b% B
, a* G: D6 }) y' N( B5 @4 ^
(2) 網站摘要(站點描述)必須要合理,最理想的寫法應該是「某某網站是關於某某方面的內容的網站」這裡千萬別堆砌關鍵字,否則可能會被搜索引擎視為emu或放棄使用你指定的這些描述作為站點描述。* C3 l+ D( t1 X* s& s0 _& T3 ^7 Y4 F7 U

% G/ z1 @. g& C! _1 s; w6 ~1 m(3) 對於新站而言,為了提高網站名的權重,還可以在底部放一些「某某網站的內容來自何處或版權所有之類」這裡也不能堆砌關鍵字或僅突出某一兩個關鍵字,僅是為了提高網站名的權重。: c! H1 m! j2 _2 `9 z3 C6 L5 n
. S6 i  B5 p2 G- s+ c
二。欄目標題與關鍵字、摘要的合理SEO8 j2 P3 x0 j) y6 }' t* M* `. _

6 W& W5 f7 U* g0 m  J8 q; _* L$ f對於有耐心的用戶,在新建欄目時最好把欄目的關鍵字填寫完整,如果沒有耐心的,不妨用下面的方法。
+ ?6 T6 N7 {& j9 M
7 I4 a/ P8 V4 L) Y3 C1 Z, T9 s0 u在建好所有欄目後,到系統-》SQL命令行工具的地方運行下面的SQL:
4 P: T$ s& W8 ^8 z
) L3 v6 c  _! ]. A/ t5 [, {/ LUpdate `dede_arctype` set 8 Z1 {4 D4 v& I8 y
keywords=Conact(typename, 『,』, typename, 『,』, 『和內容相關的關鍵字,如:教程、新聞、資源等』), - e; _( H; O- ~8 r
description=Conact(』本欄目主要是關於』, typename, 『,』, typename, 『,』, 『和內容相關的關鍵字,如:教程、新聞、資源等』, 『方面的內容』);! k/ T  ~) J5 \8 B  G, b" ]
+ p4 L2 h" c+ I# |* U
三.核心文章內容的SEO+ T# y2 `4 w( x5 y# o

" C" `0 C% k, C  oDedeCms 提供了自動關鍵字提取、自動摘要等各類工具來進行文檔的優化,不過有部份用戶往往習慣對本站所的文章都用同樣的關鍵字、同樣的摘要,這種方法是極不可取的,如果在沒法獲得關鍵字和摘要的情況下,寧可放棄這些描述,讓搜索引擎自動生成。% \7 N( l( N0 K* D) R6 v
, r( z6 c/ t# O. I. t  y
使用DedeCms時,需要進行如下更改:
0 ]! y/ l! c4 B- B5 q3 D9 ^, P3 J, T: O; a
(1) 對於多頁的文章 DedeCms 的標題默認沒有1、2、3之類的標識,這裡可以打開 arc.archives.class.php- A9 r- t: O8 u, F
, X* l) P* _" P- k7 h
在大約是 350 行左右的地方找到「//循環生成HTML文件」,然後把for循環起始的地方改為
( ^( X1 B1 s7 Z; r/ x" f$ f
. g1 P% o' D1 I0 u7 v5 x" ~5 Ifor($i=1;$i<=$this->TotalPage;$i++) 1 N2 E& X+ Q$ R5 A' M- y
{ & a- T- |, C6 _4 M* D  d, r4 x6 A9 I
if($this->TotalPage > 1) {
8 h$ p8 Z5 n$ `. j" z% R5 t$this->Fields['tmptitle'] = (empty($this->Fields['tmptitle']) ? $this->Fields['title'] : $this->Fields
& U" E! u# o; |
- o- T8 `5 `) _4 A% P: `: [['tmptitle']); - b: K) n# k% l) U6 V- K
$this->Fields['title'] = $this->Fields['tmptitle'].」($i)」;
4 }, b0 `6 a% f# u} + |+ @5 L( D5 ?5 j  T7 @
( N* w3 ]; X' ?( j- I1 Y3 ^$ o2 G
$ Y# ^6 E# I6 n! ^# _$ @
這樣就能使多頁文章的標題帶有(1)、(2)、(3)… 的標識了。/ z" D5 F! U2 y4 q

) b/ ]( E% K5 t(2) 如果標題進行了修改,那麼每頁所對應該的摘要必須也要進行修改,否則會被搜索引擎認為描述是相同
0 u: W# J: m/ j7 g% ^/ ?( |0 M0 Q8 z" m9 {
引發被懷疑堆疊關鍵字的警告。
; q: V. t9 m5 m% k; c$ Y- Q! Z3 |! ~* o5 V5 A4 M1 v" _
打開 arc.archives.class.php 找到 function ParseDMFields($pageNo,$ismake=1)
8 H/ n& d& u' Q) g+ k3 E3 `
4 m2 K1 L3 V% `' t9 k7 M1 d0 O' O5 J: b
# r9 l2 X4 r1 v! t7 z* ~9 r
if($this->SplitPageField!=」 && isset($this->Fields[$this->SplitPageField])) 7 S6 k  B4 C0 O' L* J1 `" g# u
{ ; w7 E0 E* c5 j1 p2 p
$this->Fields[$this->SplitPageField] = $this->SplitFields[$pageNo - 1]; & Y# M: B) t2 A+ v
} # K  z1 Z& ?$ z( _0 {  U6 l: i
9 m" l  t3 m/ Y/ N1 u
改為2 A4 {( ^5 l5 |9 r' E' j1 K
1 P! t# o# \2 J  p! l8 O' y7 J
if($this->SplitPageField!=」 && isset($this->Fields[$this->SplitPageField])) / D4 s, _% w% \8 t
{
% _- m+ |  _7 d$this->Fields[$this->SplitPageField] = $this->SplitFields[$pageNo - 1];
( ]6 B& N: i; S( `/ }% X) E; G$this->Fields['description'] = trim(ereg_replace(」[\r\n\t]「, 『 『, cn_substr(html2text($this->Fields[$this6 B: \( q! R9 U3 e
4 Y$ N7 K* j) T% U
->SplitPageField]), 200))); , C$ z; i( ]. C7 J5 O8 ~( s* Y
}; M  d- j: \0 @$ A3 b
; c! {" D9 F/ X. ^- ?6 `
這樣文檔每頁的摘要便有所區別。
" X) J6 p: D& c+ j& A: q  E  g; y& |8 ~' c$ e8 P5 a% l3 E+ m
四.創造符合GOOGLE麵包屑導航的目錄式SEO3 X! K+ u9 v  L8 `8 V9 ^" D
' C1 Z' B& `- l- o6 r. H
DedeCms V5.3中,為了兼容某些人配置的WEB服務器,對欄目鏈接強制指向了默認頁,即是顯示為 typedir/index.html ,對於某些用戶可能希望指定」typedir/」, 對於SEO而言,這確實有利於體現出網站的目錄結構,因此這樣想法是合理的,如果你的網站結構比較簡單(如不使用一些公司簡介之類的非默認頁鏈接),可以 按下面方式修改。' c5 ^; s# m2 f: i0 u/ X/ t' \

7 `: {& ?0 q# g: n5 T7 A打開文件 channelunit.func.php 找到 function GetTypeUrl: n4 p( o' o* t

, \" [5 X, Y6 i& |& _  Q: x* J($typeid,$typedir,$isdefault,$defaultname,$ispart,$namerule2,$moresite=0,$siteurl=」,$sitepath=」); r; `2 E( K  O

! e0 q* _) o$ @7 Y3 Y* z8 L把前面一段& Q8 f: ?+ @4 j9 k) F( U" E
! }4 [+ O, q+ `7 G/ [) G
if($isdefault==-1)
3 v* I. O* d0 p0 K" M, E, J' G  |{
* u3 ^$ a! Y+ O0 w, }: g# z: o//動態 " _9 u0 s. P* P/ |0 s  d
$reurl = $GLOBALS['cfg_phpurl'].」/list.php?tid=」.$typeid;
4 B2 t% R, \% J" U} - Y+ t) f9 I; s% B
else if($ispart==2)
; Y$ Q5 f; O+ ^{ , ]9 M- J! S  y3 W" j& ~7 X: D
//跳轉網址
' V9 v" r; u7 N6 u* A- B2 e$reurl = $typedir;
; I, J  C5 k5 l# e- W1 G! F/ preturn $reurl; & R; u6 y- Q: g  B% n& [) p/ }
} $ r& [8 e/ ~, E- a7 }
else 1 w2 \: y. k. |& V
{
$ y. _) q2 ~6 t7 qif($isdefault==0 && $ispart==0) 9 }7 o. L& X/ C' r' g
{
% z# V# W# g1 B; A' c$reurl = str_replace(」{page}」,」1〞,$namerule2);
3 b* V8 @, X- o6 E6 I; G$reurl = str_replace(」{tid}」,$typeid,$reurl); ' `2 `8 k6 c5 @
$reurl = str_replace(」{typedir}」,$typedir,$reurl); ; X$ n; A7 ?& ~8 r3 T5 f. y6 ^
} else {
1 f. B; Q  B! v% j; T$reurl = $typedir.』/』.$defaultname; 8 T  W8 b. G  O' ^1 {$ I
}
9 G! t; g! l# G. R5 g} 0 e- ]8 G5 {2 q$ e

0 j9 W2 S% t/ Q/ M改為:
1 _  W" V3 k9 {/ p' I
  S) {1 p  h. f+ F# vif($isdefault==-1)
9 H& P: H: t5 a" D( [2 S9 n{
- v7 d! ~, ~: k5 K//動態 * f# E7 N  c5 Q! Z2 p0 G+ ?) c
$reurl = $GLOBALS['cfg_phpurl'].」/list.php?tid=」.$typeid; ! X# Y; H  o3 J+ v, H: r
}
2 r1 g0 @0 z2 q* \; uelse if($ispart==2) 6 q: F2 f* r4 p! O/ U
{
  l9 G% W- V6 Q5 J# L- E7 s//跳轉網址 2 m7 O4 E  {; X, P6 g; e% L
$reurl = $typedir; ; W; Z( Y1 \# k$ m: h
return $reurl;
' [6 Z) Q' l2 W0 L}
% [# `1 F7 O+ oelse 2 [! e$ o% K; y2 F" X8 S
{
8 }' l8 f% Q9 z) _8 M4 gif($isdefault==0 && $ispart==0)
2 ^1 S6 ]9 J' B& U$ P% ~{ * z' U/ t9 l& Y- K
$reurl = str_replace(」{page}」,」1〞,$namerule2); ' `/ _6 n/ w/ s4 B
$reurl = str_replace(」{tid}」,$typeid,$reurl); ' b! I7 D5 ~/ K6 T
$reurl = str_replace(」{typedir}」,$typedir,$reurl);
0 [3 o+ S) _6 G, ~0 L: |} else {
# P1 L  j) w$ p, h6 C3 ]5 l2 M% ]if(!isset($cfg_need_dfname) || $cfg_need_dfname==』N') $reurl = $typedir.』/';
& Z! o2 F+ b+ e8 S& N: a/ G/ eelse $reurl = $typedir.』/』.$defaultname; + Z! ?* `! c7 f
}
: X% q- G! T$ T. G, v0 A6 E. c8 R: a}
: |' l; a! V/ F& ]  b
1 h; O! M% }0 m  [2 F. A% D0 b" Q4 Y8 p8 j% M& T
關鍵在於:「if(!isset($cfg_need_dfname) || $cfg_need_dfname==』N') $reurl = $typedir.』/';」這一句不過大家一定需注意一個問題,目錄必須用 typedir/ 的形式,否則在IIS如果用 typedir不帶」/」的形式,IIS會通過303永久重定向到 typedir/ ,讓搜索引擎又多費了一重功夫,這顯然不搜索引擎喜歡的,也不是我們想看到的。- n* `4 e* E& q$ g
. z" s: `4 P* m
5、重複文檔標題  V3 V! t+ B+ [9 K, X

; w  m" C( z! D8 ~( `0 [不管任何情況,盡量減少你網站出現的重複文檔,DedeCms本身也提供了重複標題檢測處理的功能,在網站被搜索引擎大量收錄前,必須排除網站上重複的文檔,如果重複量過大,甚至會被認為你的網站是emu的。
" j3 F0 [- s: |3 x
" k% c; s' s# Y綜上總總,DedeCms 自身為SEO提供了各類的工具,不愧是SEO優化做得最好的CMS,在默認模板上也有體現,但由於兼容性原因,官方也沒開放所有符合SEO的方案,如果你做的網站進行上面所說的修改後,並不會影響到運行,這樣將會更完美。
發表於 2009-7-8 17:29:07 | 顯示全部樓層
DEDE是CHINESE最好的CMS,但做英文在GG中不一定好使
回復 给力 爆菊

使用道具 舉報

發表於 2009-7-9 02:23:00 | 顯示全部樓層
看看!!!!!!!!!
回復 给力 爆菊

使用道具 舉報

發表於 2009-7-16 16:38:56 | 顯示全部樓層
看看,學習下,待會發表意見
回復 给力 爆菊

使用道具 舉報

發表於 2009-7-17 16:58:21 | 顯示全部樓層
我正在用DEDE 我很喜歡這個  很容易的讓我獲得不錯的排名
回復 给力 爆菊

使用道具 舉報

發表於 2009-8-15 09:59:48 | 顯示全部樓層
看一看。能不能有效SEO
回復 给力 爆菊

使用道具 舉報

發表於 2009-8-17 17:18:55 | 顯示全部樓層
呵呵,先回復了看看。。。。
回復 给力 爆菊

使用道具 舉報

發表於 2009-8-17 19:26:16 | 顯示全部樓層
好幾個站都是5.3,收錄卻真的不盡人意。學習下
回復 给力 爆菊

使用道具 舉報

發表於 2009-8-21 11:35:33 | 顯示全部樓層
thanks for your sharing
回復 给力 爆菊

使用道具 舉報

發表於 2009-9-23 16:42:02 | 顯示全部樓層
織夢確實不錯.........
回復 给力 爆菊

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 免费注册

本版積分規則

點基跨境 數位編輯創業論壇

GMT+8, 2025-5-5 21:28

By DZ X3.5

小黑屋

快速回復 返回頂部 返回列表