PbootCMS如何显示TAG列表标题

PbootCMS默认进入tag列表页时网页标题都是没变化的,这样对seo来说就不好了,特别对于有些网站专门做tag优化。既然官方还没更新这一块那就自己来看下如何可以把tag词作为标题显示。

先来看看要做的效果,常用的tag列表页标题是这样:tag标签词-网站名称。

image.png

网友提供的方法

Yuxin网友提供的方法不修改程序源码不影响升级,直接在标题那做判断,通过判断栏目id,tag列表默认-2,搜索列表默认-1。测试有效,点赞!

<title>{pboot:if('{sort:scode}'=='-2')}{$get.tag}-{pboot:companyname}{else}{pboot:2if('{sort:scode}'=='-1')}{pboot:keyword}-{pboot:companyname}{2else}{pboot:pagetitle}{/pboot:2if}{/pboot:if}</title

二开的方法

打开\apps\home\controller\TagController.php,在43行下面添加以下代码

// start @mk-tag-title
$tagtitle = $_GET['tag'];
if ($tagtitle == 'index') {
        // 这是设置当tag后面没有对应词时显示的标题和栏目名,可自行设定。
    $pagetitle = '关键词TAG';
    $tagtitle =  '关键词TAG';
} else {
    $pagetitle = $tagtitle;
}

这时候再去打开tag页面会发现标题正常了,但是发现下面栏目名{sort:name}怎么显示的是相关内容,应该显示当前tag词才对啊,继续修改,在打开的这个文件里找到以下代码

$content = $this->parser->parserPositionLabel($content, 0, '相关内容', homeurl('tag/' . get('tag'))); // CMS当前位置标签解析
$content = $this->parser->parserSpecialPageSortLabel($content, - 2, '相关内容', homeurl('tag/' . get('tag'))); // 解析分类标签

修改成

$content = $this->parser->parserPositionLabel($content, 0, $tagtitle, homeurl('tag/' . get('tag'))); // CMS当前位置标签解析
$content = $this->parser->parserSpecialPageSortLabel($content, - 2, $tagtitle, homeurl('tag/' . get('tag'))); // 解析分类标签

修改截图

image.png

上面都修改后发现tag列表页都正常了

image.png

补充

打开 你的域名/tag/ 会发现这个页面怎么是空白无数据的

image.png

那么这是怎么回事,去参考了下其他站发现这个页面一般是不存在的(即打开404),还有一种是作为一个tag的标签全部显示出来。这个目前等官方看怎么处理,如果你有什么好建议可以留言。

这里提供个让其显示404的方法,继续打开刚才那个文件\apps\home\controller\TagController.php,修改34行代码,改成以下即可。

if (! get('tag') || get('tag') == 'index') {
    _404('您访问的页面不存在,请核对后重试!');
}

image.png


最后更新于 2020-10-22 10:24:21

THE END

如果文章中有不对之处,可在下方评论指正。如果你觉得本篇文章对你有所帮助,打个赏,支持站长继续分享更多姿势和教程。

  

文章标签:

版权声明:本文为 Marc 原创文章,转载请注明出处。

原始地址:https://www.pbhtml.com:443/85.html

发表评论:

评论记录:

未查询到任何数据!
QQ在线咨询