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. jenkins自动化工具使用教程(转)

    自动化构建.测试.部署.代码检测越来越重要.主要有一下几点原因 企业做大,项目变多,多端支持(web,h5,小程序等) 微服务提倡高内聚低耦合,项目因拆分变多 DevOps自动化运维流行 集群化,高可 ...

  2. 重装助手教你如何在Windows 10中更改您的帐户名称

    当您设置新的Win10免费下载 PC时,您选择用户名的部分可能会让您措手不及.如果是这种情况,您可以选择弹出头部的第一件事或者您打算稍后更改的随机和临时事物.但令人惊讶的是,在Windows 10中更 ...

  3. LeetCode算法题-Fibonacci Number(Java实现)

    这是悦乐书的第250次更新,第263篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第117题(顺位题号是509).Fibonacci数字,通常表示为F(n),形成一个称为 ...

  4. JavaScript Uncaught TypeError: Cannot read property 'value' of null

    用 JavaScript 操作 DOM 时出现如下错误: Uncaught TypeError: Cannot set property 'value' of null Uncaught TypeEr ...

  5. ZooKeeper Dynamic Reconfiguration (dynamicConfigFile) ZooKeeper动态配置

    有人翻译的地址:https://www.cnblogs.com/dupang/p/5649843.html ZooKeeper Dynamic Reconfiguration Overview Cha ...

  6. ios和安卓H5交互桥接

    ios交互 demo1(摘自网络) <!doctype html> <html> <head> <meta charset="UTF-8" ...

  7. Vue SSR: 基本用法 (二)

    上一篇讲解了ssr的原理,这篇主要讲基本用法: 1.安装 npm install vue vue-server-renderer --save 我们将在整个指南中使用 NPM,但你也可以使用 Yarn ...

  8. 二 Struts2 接收数据

    struts2绑定页面参数三种方式1.普通属性:在action中写与页面参数相同的属性名,然后set方法2.用对象来接收:在action中写一个对象,表单元素名改为:对象名.属性名3.用实现Model ...

  9. ESP8266远程OTA升级

    https://blog.csdn.net/xh870189248/article/details/80095139 https://www.wandianshenme.com/play/arduin ...

  10. eclipse下将maven项目打包为jar(1.不带第三方jar,2.带第三方jar)

    由于项目需要讲maven项目打包为jar包,由于之前没类似经验,百度找例子走了不少弯路,这边随手记录下,网上说的 开发工具:eclipse jar包管理:maven 一般打包出来的jar包分为两种 一 ...