dedecms做英文站修改方法
2024-07-12 08:51:51
供稿:網友
 
						首先就是編碼了: 
就是安裝utf-8的dede……然后在dede論壇里找個英文模板, 
安裝好后,看看前臺,已經成了英文版的了 
開始做模板,可以仿照英文站來做。 
模板制作要注意幾點: 
1.字符集問題:charset=utf-8 
2.字體用Verdana, Arial, Helvetica, sans-serif,這樣的字體顯示英文更好看 
3,所有頁面上不要出現中文字符,比如全角的空格 
4.頁面布局,細節等要符合老外的習慣 
如:時間格式為“月-日-年”,對應的dede標簽為:[field:pubdate function=strftime('%m-%d-%Y',@me)/] 
5.SEO細節 
(1)文章的url處理 
大家應該都清楚,google對于url地址的重視程度很高,同一篇標題為old food new tricks的文章,如果url顯示為 http://www.xxx.com/list1/20070928/5104.html 顯然沒有http://www.xxx.com/list1/old-food-new-tricks.html 的權重高。dede默認的生成的頁面地址為前者,怎么改成后者顯示類型呢? 
進入后臺,修改欄目的文章命名規則,默認的為:{typedir}/{Y}{M}{D}/{aid}.html 
修改為:{typedir}/{pinyin}.html 我去掉了{Y}{M}{D},這樣減少文章的層級,有利于引擎收錄。 
具體的修改方法,參考如下: 
如題,使用dede讓文章標題頁顯示路徑為標題拼音.html,例如:文章標題為:站友網是什么啊,文章路徑顯示:zhanyouwangshishenmea.html,這樣顯示的好處是什么?靠,這個還用我說? 
方法: 
選擇:網站欄目管理,修改欄目的高級選項,文章命名規則:{typedir}/{Y}{M}{D}/{aid}.html 這是默認的狀態 
修改為:{typedir}/{pinyin}.html 我覺得{Y}{M}{D}沒什么用,所以也去掉了。 
重新更新一下,看看是否有效果? 
別著急,現在顯示出拼音了,zhanyouwangshishenmea_1.html,但是后面還多了個_1,怎么去掉這個呢? 
修 改include里面的inc_channel_unit_function文件,找到$articleRule = str_replace("{pinyin}",GetPinyin($title)."_".$aid,$articleRule); 把."_".$aid去掉,就可以了! 
如果文章標題是英文的,會在單詞之間加_,但是單詞中間加_對gg來說沒什么意義,必須改成“-”才可以,修改方法如下 
打開 include/inc/inc_fun_funAdmin.php 
for($i=0;$i<$slen;$i++){ 
if(ord($str[$i])>0x80) 
{ 
$c = $str[$i].$str[$i+1]; 
$i++; 
if(isset($pinyins[$c])){ 
if($ishead==0) $restr .= $pinyins[$c]; 
else $restr .= $pinyins[$c][0]; 
}else $restr .= "-"; 
}else if( eregi("[a-z0-9]",$str[$i]) ){ $restr .= $str[$i]; } 
else{ $restr .= "-"; } 
} 
改 
$restr .= "-"; 這些東西 
拼音中間加“-” 
修改include/inc/inc_fun_funAdmin.php 
for($i=0;$i<$slen;$i++){ 
if(ord($str[$i])>0x80) 
{ 
$c = $str[$i].$str[$i+1]; 
$i++; 
if(isset($pinyins[$c])){ 
if($ishead==0) $restr .= $pinyins[$c]."-" ; 
if($isclose==0) unset($pinyins); 
if(substr($restr,-1)=="-") $restr = substr($restr,0,strlen($restr)-1); 
return $restr; 
紅色為新加的 
(2)meta的處理 
我修改article_article.htm的meta為: 
<meta name="description" content="{dede:field name="title"/} {dede:field name='description' /}"> 
<meta name="keywords" content="{dede:field name='keywords' /} {dede:field name="title"/}"> 
注意標簽之間必須有一個空格,不然后面的就不起作用了 
這樣修改后,每篇文章的meta都是不同的 
list_article.htm的meta我想實現為 
<meta name="description" content="{dede:field name='description' /}"> 
<meta name="keywords" content="{dede:field name='keywords' /}">