phpcms v9的SEO首页和栏目页以及内容页都是可以独立配置的。
下面来解读一下它的SEO代码在不同页面的不同意思以及具体的使用方法:
0.优先级总结:内容SEO > 栏目SEO > 站点SEO
1.<title>{if isset($SEO['title']) && !empty($SEO['title'])}{$SEO['title']}{/if}{$SEO['site_title']}</title>
在首页,它的意思是:如果后台配置了站点SEO,则显示“SEO站点标题”,否则显示“站点名”。
在栏目页,它的意思是:如果配置了栏目SEO(即META Title(栏目标题)),那么栏目标题将显示为“栏目标题 - SEO站点标题或站点名”,否则显示为“栏目名称 - SEO站点标题或站点名”
在内容页,它的意思是:“文章标题 - SEO站点标题或站点名”
2.<meta name="keywords" content="{$SEO['keyword']}">
在首页:SEO站点关键词
在栏目页:如果配置了META Keywords(栏目关键词),将显示栏目关键词,否则将显示SEO站点关键词
在单页:如果配置了META Keywords(栏目关键词)且在管理内容处给该单页填写了关键词,那么会显示在管理内容处填写的关键词;如果配置了栏目关键词且管理内容处未填写关键词,则显示栏目关键词;如果二者均为空,则显示SEO站点关键词;如果三者全为空,则此处也为空
在内容页:将显示该篇内容的关键词,为空则不显示
3.<meta name="description" content="{$SEO['description']}">
在首页:SEO站点描述
在栏目页:如果配置了META Description(栏目描述),将显示栏目描述,否则将显示SEO站点描述
在单页:同在栏目页
在内容页:将显示该篇内容的摘要,为空则不显示
4.单页的一些问题:
当在管理栏目处添加了单页而没在管理内容出给该单页添加标题时,前台进入该单页你会发现该页面的<title>处显示的是SEO站点标题或站点名,然而设置栏目标题也没作用。。。
方案一:若该单页不作为父栏目使用,在管理内容处给该单页加个标题就OK啦。
方案二:在该单页作为父栏目之前就先在管理内容处给它添加标题,然而这样后期不好更改(可进入数据库直接更改或让作为父栏目的单页可编辑)
方案三:直接以该单页的栏目名称作为<title>,这样子就可以了:<title>{$catname} - {$SEO['site_title']}</title>
方案四:使用万能的if语句(终极完美方案)
将\phpcms\modules\content\index.php中约277行(不同版本的行数可能不同,建议直接搜索)与\phpcms\modules\content\classes\html.class.php中约308行的$SEO = seo($siteid, 0, $title,$setting['meta_description'],$keywords);均改为:
if($title){ $SEO = seo($siteid, 0, $title,$setting['meta_description'],$keywords); } else{ $SEO = seo($siteid, $catid, $title,$setting['meta_description'],$keywords); }
使用方案四,单页的SEO栏目标题便可用啦!新添加的单页会以“栏目名称 - 站点标题或站点名”作为标题;如果设置了栏目标题,则显示为“栏目标题 - 站点标题或站点名”;如果在管理内容处添加了标题,则会显示为“标题 - 站点标题或站点名”,当单页做为父栏目时,可直接更改其栏目名称或设置栏目标题来控制它!
有朋自远方来...评论一下呗O(∩_∩)O