phpcms 标题设置
phpcms v9网站首页的标题可以控制,但是栏目页,内容页的标题非常的长,用户体验不好修改模板文件header html的<title> < title>改成
修改模板文件header.html的
- <title>......</title>
- 改成
- <title>{if isset($SEO['title']) && !empty($SEO['title'])}{$SEO['title']}{/if}{$SEO['site_title']}</title>
内容页的header要新建个模板,header_content.html,复制header.html的代码,把
- <title>......</title>改成<title>{$title} - 站长168 </title>
修改show.html模板第一行,{
- template "content","header"}改成{template "content","header_content"}
大功告成,更新下首页、栏目页、内容页。
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栏目标题便可用啦!新添加的单页会以“栏目名称 - 站点标题或站点名”作为标题;如果设置了栏目标题,则显示为“栏目标题 - 站点标题或站点名”;如果在管理内容处添加了标题,则会显示为“标题 - 站点标题或站点名”,当单页做为父栏目时,可直接更改其栏目名称或设置栏目标题来控制它!
效果如下:
- 首页标题:站点标题 - 站点副标题
- 栏目标题:栏目标题 - 栏目名 - 站点标题
- 文章标题:文章标题 - 站点标题

phpcms 标题设置的更多相关文章
- uitabbar 标题设置 button text attributes only respected for UIControlStateNormal
uitabbar 标题设置 button text attributes only respected for UIControlStateNormal [[UITabBarItem appearan ...
- Word 为标题设置段前段后间距设置与异常
一.概述 在进行Word文档写作时,常常要求我们对(节)标题设置段前段后间距.例如: (2)按照标题的不同,分别采用不同的段前段后间距: 标题级别 段前段后间距 章标题 30磅 一级节标题 18磅 二 ...
- 如何将HTML页面的标题设置为“数字天堂”。
如何将HTML页面的标题设置为“数字天堂”. 解答: <html> <head><title>数字天堂</title></head> < ...
- word 2013 标题设置多级列表
1.问题 要设置标题为多级列表,批量应用 2.解决 1选标题1 2选标题2 ...以此类推.点确定保存即可
- gridcontrol 之标题 GroupPanel设置 (标题设置,屏蔽右键)
GroupPanel设置 例如gridcontrol显示标题:“gridcontrol小例子” gridView1.GroupPanelText="gridcontrol小例子"; ...
- Word 多级节标题设置和图表章节号自动生成
写文章的时候,正文.图表.节标题,通过“样式”可以进行统一设置,这里我记录了几点小技巧: 1.多级标题如何设置 假设我要设置三级标题,下面以图的形式记录方式: 设置完之后,应用即可. 章节设定之后,可 ...
- Wordpress 标题设置
使用标题格式:首页(网站标题 - 网站副标题),其他页面(页面标题 | 网站标题) 在后台找到头部文件head.php <?php wp_title('|', true, 'right'); e ...
- ECSHOP商城全站自定义TITLE标题设置
对于SEO来说,能让标题自定义的将会大大增加SEO效果,提高独立商城的流量,今天小编就收集从网上弄来ecshop全站自定义代码,很全哦! 1.Ecshop商品分类页如何实现自定义Title 最近发现很 ...
- Linux终端颜色和标题设置
Linux给人最大的享受就是可以根据个人喜好去定制令自己舒服的系统配置,像终端颜色的设置就是一个典型的例子. 图1 系统默认状态下的终端显示 在没有经过自定义配置的终端下工作久了,难免容易疲劳,因为所 ...
随机推荐
- iOS MVVM架构总结
为什么使用MVVM iOS中,我们使用的大部分都是MVC架构.虽然MVC的层次明确,但是由于功能日益的增加.代码的维护,使得更多的代码被写在了Controller中,这样Controller就显得非常 ...
- java每日一总结
一, 1.安装jdk时路径中不能有空格或者中文. 二, 1.进入文件夹:cd+文件夹名称. 2.进入多级文件夹:cd+文件夹1\文件夹2\文件夹3. 3.返回上一级:cd 空格+... 4.返回根路径 ...
- Java注解开发与应用案例
Java注解开发与应用案例 Annotation(注解)是JDK5.0及以后版本引入的,可以对包.类.属性.方法的描述,给被述对象打上标签,被打上标签后的类.属性.方法将被赋予特殊的“功能”:打个比喻 ...
- JS库创建
建立js库模板 (function (){ function $(){ alert("被调用到喽!"); /*alert()是JavaScript脚本语言中窗口window对象的一 ...
- MAC oh-my-zsh
效果图 step1 : 安装zsh brew install zsh step2: sudo vim /etc/shells 添加 /usr/local/bin/zsh step3:安装oh ...
- MYSQL中文乱码以及character_set_database属性修改
新安装MYSQL,还没有修改数据库系统编码. 之后由于创建数据库时候:create database db_name; 没有指定编码,之后发现乱码就修改各个属性之后还是乱码,便开始配置数据库属性,之后 ...
- Java Lucene入门
1.lucene版本:7.2.1 pom文件: <?xml version="1.0" encoding="UTF-8"?> <project ...
- Vue-异步组件
一般情况下,在代码开头引入组件: import Vue from 'vue' import Router from 'vue-router' import Home from '@/pages/hom ...
- root用户无法访问Mysql数据库问题的解决
在使用Centos系统远程访问Mysql数据库的时候,系统提示报如下错误: Access Denied for User 'root'@'localhost' (using password: YES ...
- SpringBoot开发案例之整合Activiti工作流引擎
前言 JBPM是目前市场上主流开源工作引擎之一,在创建者Tom Baeyens离开JBoss后,JBPM的下一个版本jBPM5完全放弃了jBPM4的基础代码,基于Drools Flow重头来过,目前官 ...