一般phpcms网站的页面可分为 首页、栏目列表页、(文章)内容页,那么,我们就从这三个方面分别看下在phpcms v9里怎样设置title标题使其更加符合SEO规则。具体可参考:建筑圆模板:http://www.sdfangyuan.cn
首先,网站首页:
因为首页是网站中独立唯一的,那么它的title在后台有针对性的单独设置。后台设置位置:后台 - “设置” - “站点管理” -(对应站点)“修改” - “SEO设置” - “站点标题”。
另外,如果没有设置seo的站点标题,那么上侧的“站点名”会作为首页title来显示。
当然,以上是表面上系统使用起来后台设置首页title的操作方法,用来如何把我们的seo配置信息保存起来,从如何调用的角度,首页title的调用是通过首页的“标签”来调用$SEO数组里携带的当前页面的seo信息来实现的,默认模板的调用如下:
{if isset($SEO['title']) && !empty($SEO['title'])}{$SEO['title']}{/if}{$SEO['site_title']}
很明显使用了if标签判断有限调用后台设置的seo配置内容。因此,你可以更改此处的代码来自由调用你想放入的内容,并结合if判断灵活显示。
另外,其中的$SEO数组由页面对应的控制器调用phpcms全局函数库中的seo()方法生成(地址phpcms/libs/functions/globle.func.php),可对此方法进行二次开发来定制你自己的生成机制。首页调用方式如下:
//SEO信息
$SEO = seo($siteid);
栏目列表页:
同样,先来看下栏目列表页的title内容在后台的操作位置:
后台 - 内容 - 管理栏目 -(栏目列表选择对应的栏目右侧)修改 - SEO设置选项卡 - 栏目标题。
在栏目列表页的title内容优先显示此处的内容,如果此处没有设置,那么显示栏目名称+首页title内容。
在默认模板中栏目列表页的title调用标签写法同首页中的相同,实际上phpcms默认模板中首页、栏目页、内容页的调用写法都是这样的,但是显示出来的内容会自动判断显示不同内容。只是内容会根据控制器方法中调用seo()方法传入的$catid参数不同而自动变化。列表页方法(list()方法)中php是这样调用的:
//SEO
if(!$setting['meta_title']) $setting['meta_title'] = $catname;
$SEO = seo($siteid, '',$setting['meta_title'],$setting['meta_description'],$setting['meta_keywords']);
当然,你也可以使用其他标签自由调用你想要的内容或修改定制你的调用规则。
内容页:
内容页的title内容即添加文章内容时的“标题”+网站名称。默认模板中的调用标签写法仍然同上,也是由seo()方法自动调用。可自定义修改。
内容页中控制器方法(show方法)的调用代码是这样的:
//SEO
$seo_keywords = '';
if(!empty($keywords)) $seo_keywords = implode(',',$keywords);
$SEO = seo($siteid, $catid, $title, $description, $seo_keywords);
同样,你可以重写自己想要的规则。
综上所述,除了到后台对应位置设置你的title内容外,在页面模板中主要通过标签调用数组 S E O 中 的 内 容 , 而 SEO中的内容,而 SEO中的内容,而SEO中的内容是seo()方法调用后台你填写的对应title内容产生的。可通过修改标签规则或seo方法的php程序来定义你的调用内容。