phpcms v9网站首页的标题可以控制,但是栏目页,内容页的标题非常的长,用户体验不好修改模板文件header html的<title> < title>改成

phpcms v9网站首页的标题可以控制,但是栏目页,内容页的标题非常的长,用户体验不好

修改模板文件header.html的

  1. <title>......</title>
  2. 改成
  3. ​<title>{if isset($SEO['title']) && !empty($SEO['title'])}{$SEO['title']}{/if}{$SEO['site_title']}</title>

内容页的header要新建个模板,header_content.html,复制header.html的代码,把

  1. <title>......</title>改成<title>{$title} - 站长168 </title>

修改show.html模板第一行,{

  1. 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);均改为:

  1. if($title){
  2. $SEO = seo($siteid, 0, $title,$setting['meta_description'],$keywords);
  3. }
  4. else{
  5. $SEO = seo($siteid, $catid, $title,$setting['meta_description'],$keywords);
  6. }

使用方案四,单页的SEO栏目标题便可用啦!新添加的单页会以“栏目名称 - 站点标题或站点名”作为标题;如果设置了栏目标题,则显示为“栏目标题 - 站点标题或站点名”;如果在管理内容处添加了标题,则会显示为“标题 - 站点标题或站点名”,当单页做为父栏目时,可直接更改其栏目名称或设置栏目标题来控制它!

效果如下:

    1. 首页标题:站点标题 - 站点副标题
    2. 栏目标题:栏目标题 - 栏目名 - 站点标题
    3. 文章标题:文章标题 - 站点标题    

phpcms 标题设置的更多相关文章

  1. uitabbar 标题设置 button text attributes only respected for UIControlStateNormal

    uitabbar 标题设置 button text attributes only respected for UIControlStateNormal [[UITabBarItem appearan ...

  2. Word 为标题设置段前段后间距设置与异常

    一.概述 在进行Word文档写作时,常常要求我们对(节)标题设置段前段后间距.例如: (2)按照标题的不同,分别采用不同的段前段后间距: 标题级别 段前段后间距 章标题 30磅 一级节标题 18磅 二 ...

  3. 如何将HTML页面的标题设置为“数字天堂”。

    如何将HTML页面的标题设置为“数字天堂”. 解答: <html> <head><title>数字天堂</title></head> < ...

  4. word 2013 标题设置多级列表

    1.问题 要设置标题为多级列表,批量应用 2.解决 1选标题1 2选标题2 ...以此类推.点确定保存即可

  5. gridcontrol 之标题 GroupPanel设置 (标题设置,屏蔽右键)

    GroupPanel设置 例如gridcontrol显示标题:“gridcontrol小例子” gridView1.GroupPanelText="gridcontrol小例子"; ...

  6. Word 多级节标题设置和图表章节号自动生成

    写文章的时候,正文.图表.节标题,通过“样式”可以进行统一设置,这里我记录了几点小技巧: 1.多级标题如何设置 假设我要设置三级标题,下面以图的形式记录方式: 设置完之后,应用即可. 章节设定之后,可 ...

  7. Wordpress 标题设置

    使用标题格式:首页(网站标题 - 网站副标题),其他页面(页面标题 | 网站标题) 在后台找到头部文件head.php <?php wp_title('|', true, 'right'); e ...

  8. ECSHOP商城全站自定义TITLE标题设置

    对于SEO来说,能让标题自定义的将会大大增加SEO效果,提高独立商城的流量,今天小编就收集从网上弄来ecshop全站自定义代码,很全哦! 1.Ecshop商品分类页如何实现自定义Title 最近发现很 ...

  9. Linux终端颜色和标题设置

    Linux给人最大的享受就是可以根据个人喜好去定制令自己舒服的系统配置,像终端颜色的设置就是一个典型的例子. 图1 系统默认状态下的终端显示 在没有经过自定义配置的终端下工作久了,难免容易疲劳,因为所 ...

随机推荐

  1. C#-事件event

    目录 1. 简介 2.实际案例 2.1实际案例1 2.2实际案例2--带有参数的事件 3.标准事件的用法 3.1通过扩展EventArgs来传递数据 3.2代码实例 1. 简介 事件是一种类型安全的委 ...

  2. c/c++ 多线程 unique_lock的使用

    多线程 unique_lock的使用 unique_lock的特点: 1,灵活.可以在创建unique_lock的实例时,不锁,然后手动调用lock_a.lock()函数,或者std::lock(lo ...

  3. CADisplayLink以及定时器的使用

    第一种: 用CADisplayLink可以实现不停重绘. - (CADisplayLink *)link { if (!_link) { // 创建定时器,一秒钟调用rotation方法60次 _li ...

  4. Servlet是否单例?

    1,测试环境: Java SE版本:1.8.0_161(AMD64) Tomcat版本:9.0.7(AMD64) 2,试验 (1)编写HelloServlet. 由于测试代码很简单,此处只列出doGe ...

  5. docker容器日志收集方案(方案四,目前使用的方案)

    先看数据流图,然后一一给大家解释 ​ 这个方案是将日志直接从应用代码中将日志输出到redis中(注意,是应用直接连接redis进行日志输出),redis充当一个缓存中间件有一定的缓存能力,不过有限,因 ...

  6. kernel笔记——定时器与时间管理

    内核中时钟主要完成以下作用: 记录系统运行时间 完成时间相关的统计功能,如cpu占用率等 定时功能,设定某个进程一段时间后完成某项任务 为实现以上功能,硬件以及内核提供了不同类型的时钟. RTC 实时 ...

  7. Java中的CAS原理

    前言:在对AQS框架进行分析的过程中发现了很多CAS操作,因此有必要对CAS进行一个梳理,也便更清楚的了解其原理. 1.CAS是什么 CAS,是compare and swap的缩写,中文含义:比较交 ...

  8. Mysql_连接字符串

    1.本地数据库连接 <connectionStrings> <add name="ConnectionString" connectionString=" ...

  9. 静态类(C#)

    基本简介: 类可以声明为 static 的,以指示它仅包含静态成员.不能使用 new 关键字创建静态类的实例.静态类在加载包含该类的程序或命名空间时由 .NET Framework 公共语言运行库 ( ...

  10. 产品经理与程序员矛盾&相处

    产品运营 - 知乎https://www.zhihu.com/topic/19551958/hot 产品经理与程序员矛盾的本质是什么? - 知乎https://www.zhihu.com/questi ...