返回頂部
關閉軟件導航
位置:首頁 > 資訊 > 帝國新聞>帝國、PHPCMS及織夢對比(八):SEO輔助功能及個性化調用分析

  此前落葉針對PHPCMS、織夢、帝國CMS從多個角度發過一系列文章作過一些功能和細節分析,這段時間常接觸到推廣部門SEO的各種細節需求較多,所以本文中針對一些SEO站內優化中一些常見的基本需求對這三款CMS作些對比分析。

  1. SEO元標簽設置及調用

  PHPCMS:

  PHPCMS中同一個模塊中的所有頁面基本都使用的是同一個公共的頭部,SEO元標簽都是使用的統一的head數組中的值。

  標題:$head[‘title’]  關鍵詞:$head[‘keywords’] 描述:$head[‘description’]

  那么首頁、欄目頁、列表頁及內容頁,不同性質的頁面,這些Meta屬性都使用的同一個標簽,怎么實現不同頁面的個性化屬性的呢?

  實際雖然所有模板引用公共頭部、共同的標簽,但實際PHPCMS在PHP程序中或生成靜態時,都作了判斷處理,調用后臺中不同的值來賦給$head數組。

  \

  調用方式:

  首頁:

  網站標題:$PHPCMS["meta_title']

  網站關鍵詞:$PHPCMS['meta_keywords']

  網站描述:$PHPCMS['meta_description']

  PHPCMS生成靜態時實際默認的是以“網站名稱 – 網站標題”($head[‘title’]=$PHPCMS[‘sitename’] - $PHPCMS[‘meta_title’])的方式來生成網站首頁的標題,關鍵詞和描述則是直接使用的系統設置中如上圖所示關鍵詞和描述設置項的值。

  一些SEO人員有時候希望首頁標題能夠有更大的靈活度,或者不希望網站名稱顯示在前面,如果稍懂PHP帝國cms批量上傳助手 ,落葉通常推薦的處理方式是,直接修改PHPCMS根目錄下的include目錄下的html.class.php文件中的生成首頁部分的標題設置。

  Html.class.php中的第22行:

  $head['title'] = $PHPCMS['sitename'].'-'.$PHPCMS['meta_title'];

  可修改為:$head['title']= $PHPCMS['meta_title'];

  這樣首頁標題就可以不顯示網站名稱,而只顯示自己有meta_title中設置的內容了。在落葉看來這實際沒什么太大的差別,不過實際還真有好些SEO人員在做站內優化時,找到我技術這邊,要幫做這樣的調整。

  如果對PHP不太了解,那同樣,可以直接模板中處理了,把頭部模板復制一份,僅供首頁模板引用,然后把標簽中的{$head[‘title’]}修改成{$PHPCMS['meta_title']}即可。

  當然,實際也可以不復制模板,直接在PHPCMS中頭部使用邏輯判斷,如:

  {if 帝國cms采集軟件!$catid}{$PHPCMS['meta_title']}{else}$head['title']{/if}

  上面判斷的含義是:當欄目ID不存在時(即首頁)只顯示后臺meta_title中的內容,如果存在(欄目頁、內容頁等)則按默認的方式顯示。

  欄目頁:

  欄目標題:$meta_title

  欄目關鍵詞:$meta_keywords

  欄目描述:$meta_description

  PHPCMS中默認的欄目頁標題組成為“欄目名稱 – 網站名稱”或者“欄目名稱 – 欄目標題”,因為欄目名稱有時候僅僅是為了導航顯示方便或者分類名稱合理而設置,直接顯示在欄目頁標題中可能不太合適或者不太利于SEO,所以同樣一些 SEO人員也經常有需要刪掉欄目名稱在欄目頁標題中顯示的需求。在PHPCMS中一勞永逸的做法,同樣是修改html.class.php文件中生成欄目頁部分欄目標題設置。

  如將:$head['title'] = $catname.'-'.($meta_title ? $meta_title : $PHPCMS['sitename']);

  修改為:$head['title'] =$meta_title;

  這樣欄目標題就完全由SEO人員自定義了,在后欄目設置中填寫meta_title即可。

  至于內容頁,一般都是“網站標題_欄目名稱 – 網站名稱”的方式,這點SEO人員修改的倒是不太多。如果需要修改,如有的不想要欄目名稱,也是類似的做法。

  DEDECMS:

  \

帝國cms批量更新文章

  DEDECMS中默認模板中雖然有把導航等公共頭部獨立出來,公共引用,但實際每個頁面都有使用單獨的頭部,可以直接在模板中為首頁、欄目頁、列表頁及內容頁修改調用來實現不同的需求。默認的標題都是:{dede:field.title/}_{dede:global.cfg_webname/} 即“頁面標題_網站名稱”的顯示方式。欄目頁如果不希望顯示欄目名稱或者作個性化修改,只需要使用上圖欄目設置中的SEO標題這段后面顯示的 {$dede:field.seotitle}來替換即可。至于首頁,因為是單獨使用頭部不影響其它頁面,大可直接在模板中寫標題等屬性了。同樣,內容頁一般默認為“文章標題_欄目名稱_網站名稱”了,需要修改的不多。

  帝國CMS:

  帝國CMS中欄目設置中雖然也有頁面關鍵詞及欄目描述設置,但沒有SEO標題或META_TITLE這一項,模板中對頁面標題的標簽均為[!--pagetitle--],實際每個頁面在生成靜態時,都是即時替換,很難實現頁面標題和個性化設置。

  如網友提到,如果希望實現欄目頁以“欄目名稱 – 父欄目名稱 – 網站名稱”的方式,也需要大費周折(通過靈動標簽SQL語句從欄目表中讀取當前欄目ID對應的父欄目名稱來實現)。

  [e:loop={"select * from [!db.pre!]enewsclass where classid="$GLOBALS[navclassid]'",1,24,0}][/e:loop]

  if($class_r[$GLOBALS[navclassid]][bclassid]<>0)

  {

  echo'_[!--bclass.name--]';

  }

  else

  {

  echo "";

  }

  ?>

  對比說明:從基本的SEO META屬性設置及調用情況來看,織夢相對更家省事,方便新手使用,他的缺點是頭部沒有公用(除了導航),浪費不少代碼,并且如果自己設計模板,想實現像 PHPCMS那樣頭部公共調用時,因為不支持在模板中進行邏輯判斷,想實現各類型頁面的個性化標題設置會比較不方便。PHPCMS中這一點則更適合有編程基礎的SEO人員進行操作,即可通修改靜態生成類來統一實現,又可以通過在模板中邏輯判斷來實現,對不懂編程的SEO人員,亦可仿照DEDE的方式,不同特征頁使用不同的頭部來實現調用。至于帝國,這點倒是顯得比較不那么方便帝國cms批量助手。

  2.  欄目結構設置

  一個純文章站無非六類頁面:首頁、欄目頁、列表頁、內容頁、介紹單頁、專題單頁。

  為了方便靈活的表現,添加欄目結構時除了增加普通的欄目頁,還需要時時用到單頁或專題,不僅這樣,還是希望單頁和欄目頁在前臺表現上能夠不單分開,即某一個欄目下添加的可能是子欄目,也可能是子單頁。這一點在建企業站時尤為明顯:企業的關于我們下面應該有企業文化、企業聯系方式等單頁面,同時亦會有企業新聞等欄目頁和列表頁。

  SEO人員或者網站推廣人員在站內優化時,網站規劃初期,肯定需要根據欄目的性質以不同的結構進行展示,有的需要是單頁有的需要是列表帝國cms軟件采集 。

  在PHPCMS中的實現是新建一個名為“關于我們”的欄目,然后直接添加企業文化單頁、企業聯系方式單頁及企業新聞欄目頁即可。前臺統一使用欄目標簽調用即可。

  在DEDECMS中可建一個名為“關于我們”的欄目,然后下面以子欄目的形式添加企業文化、企業聯系方式及企業新聞三個欄目。然后在企業文化、企業聯系方式的欄目設置處,填寫“欄目內容”,然后在欄目模板中以{dede:field.content/}調用,以后不要在該欄目下發任何文章,這樣變相的把欄目當作單頁面來使用。當然也可以使用DEDE的單頁面功能,新建單頁,在模板中手動加鏈接了。

  在帝國CMS中則只能是找到單頁面模塊,新建一個名為企業文化的單頁面和一個為名企業聯系方式的單頁,復制鏈接地址,然后前臺改模板時手動加上去了。

  很明顯,這里PHPCMS又明顯的顯得順暢,后兩者雖然功能上實現同樣的需求,但似乎都不是那么正式。當然,這點DEDECMS中比帝國中做得更好些。

  3.  面包屑導航

  PHPCMS中調用面包屑導航的代碼:首頁{catpos($catid)}

  DEDECMS中生成面包屑導航的代碼:當前位置: {dede:field name='position'/}

  帝國CMS生成面包屑導航的代碼:[!--newsnav--]

  三款CMS在默認情況下,都能很方便的實現面包屑導航,但往往SEO人員或者技術人員不同情況下都會有一些特別的需求。

  如,A欄目下的B欄目下發了名為c.html的文章,上三者默認生成的面包屑導航是:首頁>欄目A>欄目B,而實際可能B欄目僅僅是為了方便管理而分類的需要,不需要顯示在面包屑導航中,也不希望別人直接點擊訪問欄目B對應的頁面,那這三款CMS中應該怎么處理呢?

  PHPCMS中,他是把所有欄目都緩存起來,并存儲在全局數組($CATEGORY)中的,在任何頁面,都可以根據當前頁面所屬的欄目ID 即$catid,來讀取欄目名稱、上級欄目名稱、上級欄目名稱、上級欄目URL等,甚至上級的上級的信息均可以讀取到。對上面的需求則只需要使用 {$CATEGORY[$CATEGORY[$catid][‘parentid’]][‘catename’]}即根據c.html頁面的欄目ID讀取到了上級欄目A的欄目名稱,URL也類似方法讀取到。

  DEDECMS和帝國CMS中則一下子,見到明顯的短板了。都沒能找到直接的通過簡單標簽調用的方法。只有能過相關的SQL語句來實現了。如DEDECMS中則需要使用類似如下的方法來調用了:

  {dede:type}

  [field:id runphp=yes]

  $tsql = new DedeSql(false);

  $typelink2 = '';

  $tsql->SetQuery("Select i.typedir,i.id,i.typename From #@__arctype t left join #@__arctype i on i.id=t.reid where t.id='@me'");

  $tsql->Execute('t');

  while($row = $tsql->GetArray('t',MYSQL_ASSOC))

  {

  $typelink2 .= "".$row['typename']."";

  }

  @me=str_replace("{cmspath}","",$typelink2);

  [/field:id]

  {/dede:type}

  帝國CMS中亦可以通過靈動標簽SQL語句類似上面織夢那樣實現,但我想還是直接放棄吧。上面僅僅是一個這么簡單的需求,還不得不寫這么大堆SQL語句和PHP代碼,其他更復雜的個性化需求怎么辦帝國cms采集軟件 。

  舉個更常見的需求,本來c.html是分在A欄目下的B欄目里的,但是前臺整合需要,實現歸在C欄目下顯示,面包屑導航結構是首頁>欄目 D>,(后臺欄目分類是一回事,前臺整合是另一回事,許多為了實現結構目錄扁平化或文章營銷性質考慮,都有遇到這樣的情況),這樣的需求,按上面的分析,在PHPCMS下是很方便實現的,那DEDECMS和帝國CMS中估計又得頭大。

如果您覺得 帝國、PHPCMS及織夢對比(八):SEO輔助功能及個性化調用分析 這篇文章對您有用,請分享給您的好友,謝謝
文章地址:http://www.meyanliao.com/article/diguo/dgPHPCMSjzmdbbSEOfzgnjgxhtyfx.html
解放雙手無盡可能,有問題添加天線貓微信
主站蜘蛛池模板: 丰满少妇被猛烈进入无码| 最新无码专区视频在线| 无码中文人妻在线一区二区三区 | 国精品无码一区二区三区左线| 中国无码人妻丰满熟妇啪啪软件| 制服在线无码专区| 精品无码久久久久久久久久| 无码人妻一区二区三区一| 久久午夜无码鲁丝片午夜精品 | 手机在线观看?v无码片| 日韩一区二区三区无码影院| 成人无码一区二区三区| 亚洲中文字幕无码中文| 亚洲国产无套无码av电影| 亚洲成?v人片天堂网无码| 亚洲AV无码无限在线观看不卡| 免费看无码特级毛片| 国产精品无码专区在线播放| AV无码久久久久不卡网站下载 | 久久国产精品无码一区二区三区| 国产成人AV无码精品| 成人无码Av片在线观看| 国产成人无码精品久久久小说| av无码国产在线看免费网站| 无码精品人妻一区二区三区漫画 | 亚洲av成人中文无码专区| 乱人伦中文无码视频在线观看| 亚洲成AV人片在线播放无码| 国产AⅤ无码专区亚洲AV| 无码人妻精品一二三区免费| 在线看片福利无码网址| 无码夫の前で人妻を侵犯| 精品无码AV一区二区三区不卡 | 中文字幕精品无码一区二区| 无码色偷偷亚洲国内自拍| 无码av中文一二三区| 国产精品无码无卡无需播放器| 免费无码又爽又黄又刺激网站 | 免费无码AV电影在线观看| 久久亚洲中文无码咪咪爱| 久久精品无码一区二区三区不卡|