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. TreeView 节点拖拽

    public Form1() { InitializeComponent(); treeView1.AllowDrop = true; treeView1.ItemDrag += new ItemDr ...

  2. mssql sqlserver 使用sql脚本 清空所有数据库表数据的方法分享

    摘要: 下文讲述清空数据库中所有表信息的方法分享,如下所示: 实验环境:sql server 2008 实现思路: 1.禁用所有约束,外键 2.禁用所有触发器 3.删除表数据 4.开启触发器 5.开启 ...

  3. spring基本知识

    什么是spring: spring就是以IOC反转控制和AOP面向切面编程为内核,使用基本的JavaBean来完成以前由EJB完成的工作. spring框架的优点: (1)方便耦合,简化开发:spri ...

  4. 重装助手教你如何禁用Windows 10快速启动

    快速启动是首先在Windows 8中实现并延续到Windows 10的功能,可在启动PC时提供更快的启动时间.它是一个方便的功能,也是大多数人在不知情的情况下使用的功能,但还有一些功能会在他们掌握新P ...

  5. 【字】biang

    biang biang面的名字由来:biangbiang面是陕西关中地区的一中地区美食,因为在做这种面时会发出biang biang的声音,biang biang面因此得名.biang字简体共有42笔 ...

  6. 网络流 之 dinic算法

    我觉得这个dinic的算法和之前的增广路法差不多 .使用BFS对残余网络进行分层,在分层时,只要进行到汇点的层次数被算出即可停止, 因为按照该DFS的规则,和汇点同层或更下一层的节点,是不可能走到汇点 ...

  7. 【转】Android 增,删,改,查 通讯录中的联系人

    一.权限 操作通讯录必须在AndroidManifest.xml中先添加2个权限, <uses-permission android:name="android.permission. ...

  8. 工具篇-Spring boot JPA多数据源

    写这篇博文是因为这个东西坑太多,首先说明下边实现的多数据源不是动态切换的,应该算是静态的. 坑一.pom文件 pom中spring boot以及mysql connector的版本一定要注意. < ...

  9. Elasticsearch 通关教程(三): 索引别名Aliases问题

    业务问题 业务需求是不断变化迭代的,也许我们之前写的某个业务逻辑在下个版本就变化了,我们可能需要修改原来的设计,例如数据库可能需要添加一个字段或删减一个字段,而在搜索中也会发生这件事,即使你认为现在的 ...

  10. Java 200+ 面试题补充③ Dubbo 模块

    昨天在我的 Java 面试粉丝群里,有一个只有一年开发经验的小伙伴只用了三天时间,就找到了一个年薪 20 万的工作,真是替他感到开心. 他的经历告诉我们:除了加强自我实战经验之外,还要努力积累自己的理 ...