活用DedeCms 進行超強的SEO優化全攻略

DedeCms 是公認的在SEO優化方面做得做好的CMS,可能很多人會說,優化是靠個人的,與CMS無關,這其實也不盡正確,因為必須程序提供商提供足夠的工具才有可能,舉例說:如果某CMS的欄目設置連關鍵字、摘要都沒有,何來優化之說?本文以DedeCMS為例,深入說明SEO優化方面的攻略,本文所說的優化絕對不是那種含作弊的SEO策略,而是針對網站自身的內容,提高搜索引擎對內容的識別能力。

一.DEDE全局優化

在DedeCms的系統參數配置中,包含瞭網站版權、編譯JS等底部調用信息;站點默認關鍵字;站點描述這些項目,其實必須註意的是站點默認關鍵字、站點描述的設置必須合理。

(1) 站點名稱和關鍵字是搜索引擎識別你這個網站內容的關鍵,其中在主頁的網站名稱可以手工填寫,在標題的地方適當增加一些關鍵字。

(2) 網站摘要(站點描述)必須要合理,最理想的寫法應該是某某網站是關於某某方面的內容的網站這裡千萬別堆砌關鍵字,否則可能會被搜索引擎視為作弊或放棄使用你指定的這些描述作為站點描述。

(3) 對於新站而言,為瞭提高網站名的權重,還可以在底部放一些某某網站的內容來自何處或版權所有之類這裡也不能堆砌關鍵字或僅突出某一兩個關鍵字,僅是為瞭提高網站名的權重。

二。欄目標題與關鍵字、摘要的合理SEO

對於有耐心的用戶,在新建欄目時最好把欄目的關鍵字填寫完整,如果沒有耐心的,不妨用下面的方法。

在建好所有欄目後,到系統-》SQL命令行工具的地方運行下面的SQL:

Update `dede_arctype` set
keywords=Conact(typename, ,, typename, ,, 和內容相關的關鍵字,如:教程、新聞、資源等),
description=Conact(本欄目主要是關於, typename, ,, typename, ,, 和內容相關的關鍵字,如:教程、新聞、資源等, 方面的內容);

三.核心文章內容的SEO

DedeCms 提供瞭自動關鍵字提取、自動摘要等各類工具來進行文檔的優化,不過有部份用戶往往習慣對本站所的文章都用同樣的關鍵字、同樣的摘要,這種方法是極不可取的,如果在沒法獲得關鍵字和摘要的情況下,寧可放棄這些描述,讓搜索引擎自動生成。

使用DedeCms時,需要進行如下更改:

(1) 對於多頁的文章 DedeCms 的標題默認沒有1、2、3之類的標識,這裡可以打開 arc.archives.class.php

在大約是 350 行左右的地方找到//循環生成HTML文件,然後把for循環起始的地方改為

for($i=1;$i<=$this->TotalPage;$i++)
{
if($this->TotalPage > 1) {
$this->Fields[‘tmptitle’] = (empty($this->Fields[‘tmptitle’]) ? $this->Fields[‘title’] : $this->Fields

[‘tmptitle’]);
$this->Fields[‘title’] = $this->Fields[‘tmptitle’].($i);
}

這樣就能使多頁文章的標題帶有(1)、(2)、(3) 的標識瞭。

(2) 如果標題進行瞭修改,那麼每頁所對應該的摘要必須也要進行修改,否則會被搜索引擎認為描述是相同

引發被懷疑堆疊關鍵字的警告。

打開 arc.archives.class.php 找到 function ParseDMFields($pageNo,$ismake=1)

if($this->SplitPageField!= isset($this->Fields[$this->SplitPageField]))
{
$this->Fields[$this->SplitPageField] = $this->SplitFields[$pageNo – 1];
}

改為

if($this->SplitPageField!= isset($this->Fields[$this->SplitPageField]))
{
$this->Fields[$this->SplitPageField] = $this->SplitFields[$pageNo – 1];
$this->Fields[‘description’] = trim(ereg_replace([\r\n\t], , cn_substr(html2text($this->Fields[$this

->SplitPageField]), 200)));
}

這樣文檔每頁的摘要便有所區別。

四.創造符合GOOGLE面包屑導航的目錄式SEO

DedeCms V5.3中,為瞭兼容某些人配置的WEB服務器,對欄目鏈接強制指向瞭默認頁,即是顯示為 typedir/index.html ,對於某些用戶可能希望指定typedir/, 對於SEO而言,這確實有利於體現出網站的目錄結構,因此這樣想法是合理的,如果你的網站結構比較簡單(如不使用一些公司簡介之類的非默認頁鏈接),可以 按下面方式修改。

打開文件 channelunit.func.php 找到 function GetTypeUrl

($typeid,$typedir,$isdefault,$defaultname,$ispart,$namerule2,$moresite=0,$siteurl=,$sitepath=)

把前面一段

if($isdefault==-1)
{
//動態
$reurl = $GLOBALS[‘cfg_phpurl’]./list.php?tid=.$typeid;
}
else if($ispart==2)
{
//跳轉網址
$reurl = $typedir;
return $reurl;
}
else
{
if($isdefault==0 $ispart==0)
{
$reurl = str_replace({page},1″,$namerule2);
$reurl = str_replace({tid},$typeid,$reurl);
$reurl = str_replace({typedir},$typedir,$reurl);
} else {
$reurl = $typedir./.$defaultname;
}
}

改為:

if($isdefault==-1)
{
//動態
$reurl = $GLOBALS[‘cfg_phpurl’]./list.php?tid=.$typeid;
}
else if($ispart==2)
{
//跳轉網址
$reurl = $typedir;
return $reurl;
}
else
{
if($isdefault==0 $ispart==0)
{
$reurl = str_replace({page},1″,$namerule2);
$reurl = str_replace({tid},$typeid,$reurl);
$reurl = str_replace({typedir},$typedir,$reurl);
} else {
if(!isset($cfg_need_dfname) || $cfg_need_dfname==N’) $reurl = $typedir./’;
else $reurl = $typedir./.$defaultname;
}
}

關鍵在於:if(!isset($cfg_need_dfname) || $cfg_need_dfname==N’) $reurl = $typedir./’;這一句不過大傢一定需註意一個問題,目錄必須用 typedir/ 的形式,否則在IIS如果用 typedir不帶/的形式,IIS會通過303永久重定向到 typedir/ ,讓搜索引擎又多費瞭一重功夫,這顯然不搜索引擎喜歡的,也不是我們想看到的。

5、重復文檔標題

不管任何情況,盡量減少你網站出現的重復文檔,DedeCms本身也提供瞭重復標題檢測處理的功能,在網站被搜索引擎大量收錄前,必須排除網站上重復的文檔,如果重復量過大,甚至會被認為你的網站是作弊的。

綜上總總,DedeCms 自身為SEO提供瞭各類的工具,不愧是SEO優化做得最好的CMS,在默認模板上也有體現,但由於兼容性原因,官方也沒開放所有符合SEO的方案,如果你做的網站進行上面所說的修改後,並不會影響到運行,這樣將會更完美。