DEDECMS网页TITLE标签修改的利于优化

2017-04-13 14:28:36 dedecms

据说现在百度基本上都不看keyword了(当然我们不能不写),但是现在的关键在于网页上的title。所以一定要把title好好做做。主要是涉及到一个如何实现"三级栏目_二级栏目_一级栏目_网站名称"的问题。如今大多数的网站的title基本上是这样做的:

主页:

<title>{dede:global.cfg_webname/}</title>,在“系统设置”→“系统基本参数”中将主页的标题信息都写在网站名称里面。

栏目页:

找到include/typelink.class.php第164行左右,找到

$this->valuePositionName = $tinfos['typename'].$this->SplitSymbol.$this->valuePositionName; 

修改为:

$this->valuePositionName = $this->valuePositionName.$this->SplitSymbol.$tinfos['typename']; 

接下来将列表页模板上默认的标题标签

<title>{dede:field.title/} - {dede:global.cfg_webname/}</title>

修改为:

<title><title>{dede:field.优化title /} {dede:field.title function='ereg_replace(" - "," - ",@me)'/} - {dede:global.cfg_webname/}</title>

即可。

        第一个标签{dede:field.优化title /} 是调用栏目的优化标题。如果您对栏目中间的连接符不满意,可以修改include/arc.listview.class.php,找到55行

$this->Fields['title'] = ereg_replace("[<>]"," / ",$this->TypeLink->GetPositionLink(false));

把 / 删除 注意留一个空格 "  "

文章页:

<title>{dede:field.优化title/} {dede:field name='title'/}-{dede:field name='position' runphp='yes'} 

$tc="-"; //分隔符 

$tw=$GLOBALS['cfg_list_symbol']; //调用位置分隔符 

@me=html2text(@me); //去除html标签 

$tf=split($tw,@me); //分解成数组 

for($ta=(count($tf)-2);$ta>=1;$ta--){ //循环赋值给$tk 

$tk.=trim($tf[$ta]).$tc; 

$tk=substr($tk,0,-1); 

@me=$tk; //赋值给@me 

{/dede:field}-{dede:global name='cfg_webname'/}</title> 

效果:实现"三级栏目_二级栏目_一级栏目_网站名称"。其中简略标题{dede:field.优化title/}用来做什么呢,没错---长尾关键词。