用户信息
帖子内容
1 楼
weeya
钻石会员
积分 1242
注册 2010-10-28
     
3.0.1.8增加文章以及分类SEO标题、关键词、描述 详细步骤
思路是增加3个自定义字段:stitle,skeywords,sdescription。
一楼是news模块文章内容页增加自定义标题、关键词、描述 详细步骤
二楼是news模块首页自定义标题、关键词、描述设置
三楼是增加分类自定义标题、关键词、描述设置
四楼是case模块增加文章以及分类SEO标题、关键词、描述步骤
五楼是增加首页title关键词                                            


case模块文章内容页增加自定义标题、关键词、描述 详细步骤

1、打开/common/incfiles/lib/jtbc/page.inc.php

查找private static $title = array();
增加
    private static $stitle = array();
    private static $skeywords = array();
    private static $sdescription = array();
查找
public static function getPageTitle()
    {
      $tmpstr = '';
      $title = self::$title;
      if (!empty($title))
      {
        foreach ($title as $key => $val)
        {
          $tmpstr = $val . SEPARATOR . $tmpstr;
        }
      }
      $tmpstr = $tmpstr . tpl::take('global.index.title', 'lng');
      return $tmpstr;
    }
增加
    public static function getPageStitle()
    {
      $tmpstr = '';
      $stitle = self::$stitle;
      if (!empty($stitle))
      {
        foreach ($stitle as $key => $val)
        {
          $tmpstr = $val ;
        }
      }
      return $tmpstr;
    }
    public static function getPageSkeywords()
    {
      $tmpstr = '';
      $skeywords = self::$skeywords;
      if (!empty($skeywords))
      {
        foreach ($skeywords as $key => $val)
        {
          $tmpstr = $val ;
        }
      }
      return $tmpstr;
    }
    public static function getPageSdescription()
    {
      $tmpstr = '';
      $sdescription = self::$sdescription;
      if (!empty($sdescription))
      {
        foreach ($sdescription as $key => $val)
        {
          $tmpstr = $val ;
        }
      }
      return $tmpstr;
    }

查找
public static function setPageTitle($argTitle)
    {
      $title = $argTitle;
      if (!base::isEmpty($title)) array_push(self::$title, $title);
      return self::getPageTitle();
    }
增加
    public static function setPageStitle($argStitle)
    {
      $stitle = $argStitle;
      if (!base::isEmpty($stitle)) array_push(self::$stitle, $stitle);
      return self::getPageStitle();
    }
    public static function setPageSkeywords($argSkeywords)
    {
      $skeywords = $argSkeywords;
      if (!base::isEmpty($skeywords)) array_push(self::$skeywords, $skeywords);
      return self::getPageSkeywords();
    }
    public static function setPageSdescription($argSdescription)
    {
      $sdescription = $argSdescription;
      if (!base::isEmpty($sdescription)) array_push(self::$sdescription, $sdescription);
      return self::getPageSdescription();
    }

2、打开/common/language/index.jtbc增加节点

    <item>
      <name><![CDATA[stitle]]></name>
      <zh-cn><![CDATA[SEO标题内容设置]]></zh-cn>
    </item>
    <item>
      <name><![CDATA[skeywords]]></name>
      <zh-cn><![CDATA[SEO关键词内容设置]]></zh-cn>
    </item>
    <item>
      <name><![CDATA[sdescription]]></name>
      <zh-cn><![CDATA[SEO描述内容设置]]></zh-cn>
    </item>

3、根目录/common/language/config.jtbc
增加节点
    <item>
      <name><![CDATA[stitle]]></name>
      <zh-cn><![CDATA[SEO标题]]></zh-cn>
    </item>
    <item>
      <name><![CDATA[skeywords]]></name>
      <zh-cn><![CDATA[SEO关键词]]></zh-cn>
    </item>
    <item>
      <name><![CDATA[sdescription]]></name>
      <zh-cn><![CDATA[SEO描述]]></zh-cn>
    </item>

4、默认的text样式长度不够,我特意加了两个样式进来
/console/common/assets/global.css增加
input.i2 {
  width: 800px; height: 30px; line-height: 30px; padding: 0px 10px; border: #d1d1d1 1px solid; box-shadow: inset 0px 1px 2px rgba(0, 0, 0, 0.08); transition: all .3s ease
}
textarea.t3 {
  width: 800px; height: 60px; line-height: 150%; padding: 10px; border: #d1d1d1 1px solid; box-shadow: inset 0px 1px 2px rgba(0, 0, 0, 0.08); transition: all .3s ease
}

5、为新加的两个样式增加节点
/console/common/template/console.jtbc在<name><![CDATA[fieldformat-text]]></name>节点下方增加
    <item>
      <name><![CDATA[fieldformat-text2]]></name>
      <default><![CDATA[<tr>
  <th valign="top"><t>{$=getSwapString($take('config.{$fieldname}', 'lng'), $take('global.config.{$fieldname}', 'lng'))}{$-required}</t></th>
  <td><input type="text" name="{$fieldname}" class="i2" value="{${$fieldname}}" /></td>
</tr>]]></default>
    </item>
    <item>
      <name><![CDATA[fieldformat-text3]]></name>
      <default><![CDATA[<tr>
  <th valign="top"><t>{$=getSwapString($take('config.{$fieldname}', 'lng'), $take('global.config.{$fieldname}', 'lng'))}{$-required}</t></th>
  <td><textarea name="{$fieldname}" class="t3">{${$fieldname}}</textarea></td>
</tr>]]></default>
    </item>

6、数据库添加字段,找到jtbc_news表,点击设计表,增加一个名为
n_stitle,类型为varchar,大小为100,设置字段的备注也就是A_I  注释,内容为:{"fieldType":"text2"}
n_skeywords,类型为varchar,大小为100,设置字段的备注也就是A_I  注释,内容为:{"fieldType":"text2"}
n_sdescription的字段,类型为varchar,大小为100,设置字段的备注也就是A_I  注释,内容为:{"fieldType":"text3"}
描述字段文字较多,我设置了两行。看前面的样式就明白了。故样式写的text3和前面两个不一样。

5、/news/common/incfiles/index.inc.php
查找self::setPageTitle(tpl::take('index.title', 'lng'));

增加
    self::setPageStitle(tpl::take('index.stitle', 'lng'));
    self::setPageSkeywords(tpl::take('index.skeywords', 'lng'));
    self::setPageSdescription(tpl::take('index.sdescription', 'lng'));

查找self::setPageTitle($dal -> val('topic'));
增加
      self::setPageStitle($dal -> val('stitle'));
      self::setPageSkeywords($dal -> val('skeywords'));
      self::setPageSdescription($dal -> val('sdescription'));

6、头部模板调用
<title>{$=htmlEncode($getPageStitle())}</title>
<meta name="keywords" content="{$=htmlEncode($getPageSkeywords())}" />
<meta name="description" content="{$=htmlEncode($getPageSdescription())}" />
2019-02-07 11:41:03 东莞网站建设 http://www.yiisu.com/
2 楼
weeya
钻石会员
积分 1242
注册 2010-10-28
     
news模块首页自定义标题、关键词、描述设置
1、找到/news/common/language/index.jtbc
增加节点
    <item>
      <name><![CDATA[stitle]]></name>
      <zh-cn><![CDATA[新闻动态模块首页标题]]></zh-cn>
    </item>
    <item>
      <name><![CDATA[skeywords]]></name>
      <zh-cn><![CDATA[新闻动态模块首页关键词]]></zh-cn>
    </item>
    <item>
      <name><![CDATA[sdescription]]></name>
      <zh-cn><![CDATA[新闻动态模块首页描述内容]]></zh-cn>
    </item>

要修改news模块首页的关键词设置,需要修改前台语言文件。
2、头部模板调用
<title>{$=htmlEncode($getPageStitle())}</title>
<meta name="keywords" content="{$=htmlEncode($getPageSkeywords())}" />
<meta name="description" content="{$=htmlEncode($getPageSdescription())}" />
2019-02-07 11:52:34 东莞网站建设 http://www.yiisu.com/
3 楼
weeya
钻石会员
积分 1242
注册 2010-10-28
     
news模块增加分类自定义标题、关键词、描述设置

1、/universal/category/common/incfiles/manage.inc.php
查找
$hasIntro = base::getNum(tpl::take('global.' . $genre . ':category.has_intro', 'cfg'), 0);
增加
        $hasStitle = base::getNum(tpl::take('global.' . $genre . ':category.has_stitle', 'cfg'), 0);
        $hasSkeywords = base::getNum(tpl::take('global.' . $genre . ':category.has_skeywords', 'cfg'), 0);
        $hasSdescription = base::getNum(tpl::take('global.' . $genre . ':category.has_sdescription', 'cfg'), 0);
查找$variable['-has_intro'] = $hasIntro;
增加
      $variable['-has_stitle'] = $hasStitle;
      $variable['-has_skeywords'] = $hasSkeywords;
      $variable['-has_sdescription'] = $hasSdescription;
查找$hasIntro = base::getNum(tpl::take('global.' . $rsGenre . ':category.has_intro', 'cfg'), 0);
增加
          $hasStitle = base::getNum(tpl::take('global.' . $rsGenre . ':category.has_stitle', 'cfg'), 0);
          $hasSkeywords = base::getNum(tpl::take('global.' . $rsGenre . ':category.has_skeywords', 'cfg'), 0);
          $hasSdescription = base::getNum(tpl::take('global.' . $rsGenre . ':category.has_sdescription', 'cfg'), 0);
查找$variable['-has_intro'] = $hasIntro;
增加
        $variable['-has_stitle'] = $hasStitle;
        $variable['-has_skeywords'] = $hasSkeywords;
        $variable['-has_sdescription'] = $hasSdescription;

2、分类模块后台模板添加字段/universal/category/common/template/manage.jtbc
查找
<li class="show-{$-has_intro}"><textarea class="t1" name="intro" placeholder="{$=take('config.intro', 'lng')}"></textarea></li>
在上面增加
      <li class="show-{$-has_stitle}"><textarea class="t2" name="stitle" placeholder="{$=take('config.stitle', 'lng')}"></textarea></li>
      <li class="show-{$-has_skeywords}"><textarea class="t2" name="skeywords" placeholder="{$=take('config.skeywords', 'lng')}"></textarea></li>
      <li class="show-{$-has_sdescription}"><textarea class="t2" name="sdescription" placeholder="{$=take('config.sdescription', 'lng')}"></textarea></li>
查找
<li class="show-{$-has_intro}"><textarea class="t1" name="intro" placeholder="{$=take('config.intro', 'lng')}">{$intro}</textarea></li>
在上面增加
      <li class="show-{$-has_stitle}"><textarea class="t2" name="stitle" placeholder="{$=take('config.stitle', 'lng')}">{$stitle}</textarea></li>
      <li class="show-{$-has_skeywords}"><textarea class="t2" name="skeywords" placeholder="{$=take('config.skeywords', 'lng')}">{$skeywords}</textarea></li>
      <li class="show-{$-has_sdescription}"><textarea class="t2" name="sdescription" placeholder="{$=take('config.sdescription', 'lng')}">{$sdescription}</textarea></li>

3、增加后台模板css样式/console/common/assets/global.css
textarea.t2 {
  width: 400px; height: 80px; line-height: 150%; padding: 10px; border: #d1d1d1 1px solid; box-shadow: inset 0px 1px 2px rgba(0, 0, 0, 0.08); transition: all .3s ease
}
textarea.t2:focus {
  border-color: #5b9dd9; box-shadow: 0px 0px 2px rgba(30, 140, 190, 0.8)
}
textarea.t2.editor {
  height: 80px; visibility: hidden
}

4、数据库表: jtbc_universal_category增加uc_stitle,uc_skeywords,uc_sdescription

5、/universal/category/common/language/config.jtbc增加节点
    <item>
      <name><![CDATA[stitle]]></name>
      <zh-cn><![CDATA[分类标题]]></zh-cn>
    </item>
    <item>
      <name><![CDATA[skeywords]]></name>
      <zh-cn><![CDATA[分类关键词]]></zh-cn>
    </item>
    <item>
      <name><![CDATA[sdescription]]></name>
      <zh-cn><![CDATA[分类描述]]></zh-cn>
    </item>

6、添加函数,/common/incfiles/lib/jtbc/universal/category.inc.php
查找public static function getCategoryTopicByID($argGenre, $argLang, $argID)
    {
      $genre = $argGenre;
      $lang = base::getNum($argLang, 0);
      $id = base::getNum($argID, 0);
      $tmpstr = self::getInfoByID($genre, $lang, $id, 'topic');
      return $tmpstr;
    }
在下方增加
    public static function getCategoryStitleByID($argGenre, $argLang, $argID)
    {
      $genre = $argGenre;
      $lang = base::getNum($argLang, 0);
      $id = base::getNum($argID, 0);
      $tmpstr = self::getInfoByID($genre, $lang, $id, 'stitle');
      return $tmpstr;
    }
    public static function getCategorySkeywordsByID($argGenre, $argLang, $argID)
    {
      $genre = $argGenre;
      $lang = base::getNum($argLang, 0);
      $id = base::getNum($argID, 0);
      $tmpstr = self::getInfoByID($genre, $lang, $id, 'skeywords');
      return $tmpstr;
    }
    public static function getCategorySdescriptionByID($argGenre, $argLang, $argID)
    {
      $genre = $argGenre;
      $lang = base::getNum($argLang, 0);
      $id = base::getNum($argID, 0);
      $tmpstr = self::getInfoByID($genre, $lang, $id, 'sdescription');
      return $tmpstr;
    }

7、分类模块增加函数,找到/news/common/incfiles/index.inc.php
查找self::setPageTitle(universal\category::getCategoryTopicByID(self::getParam('genre'), self::getParam('lang'), $category));
增加
      self::setPageStitle(universal\category::getCategoryStitleByID(self::getParam('genre'), self::getParam('lang'), $category));
      self::setPageSkeywords(universal\category::getCategorySkeywordsByID(self::getParam('genre'), self::getParam('lang'), $category));
      self::setPageSdescription(universal\category::getCategorySdescriptionByID(self::getParam('genre'), self::getParam('lang'), $category));

8、TKD字段开启方式,打开你要开启分类模块的目录/news/common/category.jtbc,添加内容
    <item>
      <name><![CDATA[has_stitle]]></name>
      <zh-cn><![CDATA[1]]></zh-cn>
    </item>
    <item>
      <name><![CDATA[has_skeywords]]></name>
      <zh-cn><![CDATA[2]]></zh-cn>
    </item>
    <item>
      <name><![CDATA[has_sdescription]]></name>
      <zh-cn><![CDATA[3]]></zh-cn>
    </item>

9、头部模板调用
<title>{$=htmlEncode($getPageStitle())}</title>
<meta name="keywords" content="{$=htmlEncode($getPageSkeywords())}" />
<meta name="description" content="{$=htmlEncode($getPageSdescription())}" />
2019-02-07 12:16:42 东莞网站建设 http://www.yiisu.com/
4 楼
weeya
钻石会员
积分 1242
注册 2010-10-28
     
case模块增加文章以及分类、模块首页SEO标题、关键词、描述步骤
由于前面/common目录文件和/universal/category/目录的文件已经修改过。就不需要再修改了。只需要修改case模块的文件就可以了。

一、case模块文章添加SEO标题、关键词、描述步骤

1、数据库添加字段,找到jtbc_case表,点击设计表,增加一个名为
c_stitle,类型为varchar,大小为100,设置字段的备注也就是A_I  注释,内容为:{"fieldType":"text2"}
c_skeywords,类型为varchar,大小为100,设置字段的备注也就是A_I  注释,内容为:{"fieldType":"text2"}
c_sdescription的字段,类型为varchar,大小为100,设置字段的备注也就是A_I  注释,内容为:{"fieldType":"text3"}

2、/case/common/incfiles/index.inc.php
查找self::setPageTitle(tpl::take('index.title', 'lng'));

增加
    self::setPageStitle(tpl::take('index.stitle', 'lng'));
    self::setPageSkeywords(tpl::take('index.skeywords', 'lng'));
    self::setPageSdescription(tpl::take('index.sdescription', 'lng'));

查找self::setPageTitle($dal -> val('topic'));
增加
      self::setPageStitle($dal -> val('stitle'));
      self::setPageSkeywords($dal -> val('skeywords'));
      self::setPageSdescription($dal -> val('sdescription'));

3、头部模板调用
<title>{$=htmlEncode($getPageStitle())}</title>
<meta name="keywords" content="{$=htmlEncode($getPageSkeywords())}" />
<meta name="description" content="{$=htmlEncode($getPageSdescription())}" />

二、cae模块分类添加SEO标题、关键词、描述步骤
1、模块增加函数,找到/case/common/incfiles/index.inc.php

查找self::setPageTitle(universal\category::getCategoryTopicByID(self::getParam('genre'), self::getParam('lang'), $category));
增加
      self::setPageStitle(universal\category::getCategoryStitleByID(self::getParam('genre'), self::getParam('lang'), $category));
      self::setPageSkeywords(universal\category::getCategorySkeywordsByID(self::getParam('genre'), self::getParam('lang'), $category));
      self::setPageSdescription(universal\category::getCategorySdescriptionByID(self::getParam('genre'), self::getParam('lang'), $category));

2、TKD字段开启方式,打开你要开启分类模块的目录/case/common/category.jtbc,添加内容
    <item>
      <name><![CDATA[has_stitle]]></name>
      <zh-cn><![CDATA[1]]></zh-cn>
    </item>
    <item>
      <name><![CDATA[has_skeywords]]></name>
      <zh-cn><![CDATA[2]]></zh-cn>
    </item>
    <item>
      <name><![CDATA[has_sdescription]]></name>
      <zh-cn><![CDATA[3]]></zh-cn>
    </item>

3、case模块首页标题、关键词、描述设置
/case/common/language/index.jtbc
增加节点
    <item>
    <name><![CDATA[stitle]]></name>
      <zh-cn><![CDATA[产品案例模块首页标题]]></zh-cn>
    </item>
    <item>
      <name><![CDATA[skeywords]]></name>
      <zh-cn><![CDATA[产品案例模块首页关键词]]></zh-cn>
    </item>
    <item>
      <name><![CDATA[sdescription]]></name>
      <zh-cn><![CDATA[产品案例模块首页描述内容]]></zh-cn>
    </item>

4、头部模板调用
<title>{$=htmlEncode($getPageStitle())}</title>
<meta name="keywords" content="{$=htmlEncode($getPageSkeywords())}" />
<meta name="description" content="{$=htmlEncode($getPageSdescription())}" />
2019-02-07 13:02:01 东莞网站建设 http://www.yiisu.com/
5 楼
weeya
钻石会员
积分 1242
注册 2010-10-28
     
增加首页title关键词
默认的首页title只有/common/language/index.jtbc文件的title节点内容。呈现出来的结果是JTBC(3.0),但这样对SEO是不友好的,需要在前面再增加一段文字,类似:企业网站管理_内容管理系统 - JTBC(3.0)。这样不会影响到这个index.title节点。
1、找到/common/incfiles/index.inc.php文件,替换成

<?php
namespace jtbc;
class ui extends page {
public static function start()
  {
    self::setPageTitle(tpl::take('public.title', 'lng'));
  }
}
?>

2、找到/common/language/public.jtbc文件,增加title节点
    <item>
      <name><![CDATA[title]]></name>
      <zh-cn><![CDATA[东莞网站建设_网站设计制作_东莞做网站_网站优化推广]]></zh-cn>
    </item>


这样就可以了,也不会影响到其它页面最后的title文字内容。

很好理解self::setPageTitle(tpl::take('public.title', 'lng'));就是读取/common/language/public.jtbc语言文件,title节点内容。
其实就是要增加
public static function start()
  {
    self::setPageTitle(tpl::take('public.title', 'lng'));
  }

3、头部模板调用使用默认的:<title>{$=htmlEncode($getPageTitle())}</title>

其它模块首页也可以这样处理。
2019-02-07 13:12:19 东莞网站建设 http://www.yiisu.com/
6 楼
weeya
钻石会员
积分 1242
注册 2010-10-28
     
aboutus模块添加SEO标题、关键词、描述步骤
aboutus模块和case模块略有不同,少了分类,所以再做一个aboutus模块的教程出来方便大家对比。

aboutus模块内容页添加SEO标题、关键词、描述步骤

1、数据库添加字段,找到jtbc_aboutus表,点击设计表,增加一个名为
a_stitle,类型为varchar,大小为100,设置字段的备注也就是A_I  注释,内容为:{"fieldType":"text2"}
a_skeywords,类型为varchar,大小为100,设置字段的备注也就是A_I  注释,内容为:{"fieldType":"text2"}
a_sdescription的字段,类型为varchar,大小为100,设置字段的备注也就是A_I  注释,内容为:{"fieldType":"text3"}

2、/aboutus/common/incfiles/index.inc.php
查找self::setPageTitle(tpl::take('index.title', 'lng'));
增加
    self::setPageStitle(tpl::take('index.stitle', 'lng'));
    self::setPageSkeywords(tpl::take('index.skeywords', 'lng'));
    self::setPageSdescription(tpl::take('index.sdescription', 'lng'));

查找self::setPageTitle($dal -> val('topic'));
增加
      self::setPageStitle($dal -> val('stitle'));
      self::setPageSkeywords($dal -> val('skeywords'));
      self::setPageSdescription($dal -> val('sdescription'));

3、aboutus模块首页标题、关键词、描述设置
/aboutus/common/language/index.jtbc
增加节点
    <item>
    <name><![CDATA[stitle]]></name>
      <zh-cn><![CDATA[关于我们模块首页标题]]></zh-cn>
    </item>
    <item>
      <name><![CDATA[skeywords]]></name>
      <zh-cn><![CDATA[关于我们模块首页关键词]]></zh-cn>
    </item>
    <item>
      <name><![CDATA[sdescription]]></name>
      <zh-cn><![CDATA[关于我们模块首页描述内容]]></zh-cn>
    </item>

4、头部模板调用
<title>{$=htmlEncode($getPageStitle())}</title>
<meta name="keywords" content="{$=htmlEncode($getPageSkeywords())}" />
<meta name="description" content="{$=htmlEncode($getPageSdescription())}" />
本帖由 weeya 于 2019-02-07 19:07:58 编辑过
2019-02-07 13:15:32 东莞网站建设 http://www.yiisu.com/
7 楼
weeya
钻石会员
积分 1242
注册 2010-10-28
     
回复: 3.0.1.8增加文章以及分类SEO标题、关键词、描述 详细步骤
占楼备用
2019-02-07 20:51:01 东莞网站建设 http://www.yiisu.com/