首页 > CMS > PhpCMS > 正文

phpcms单网页seo标题解决方法

2024-09-10 07:15:32
字体:
来源:转载
供稿:网友

phpcms v9 单页面调用seo META Title和seo META Keywords,因为单页面是默认调用seo META Description的,所以现在弄一下调用seo META Title和seo META Keywords.

大家应该都是在header头文件里写上{if isset($SEO['title']) && !empty($SEO['title'])}{$SEO['title']}{/if}{$SEO['site_title']}这个的吧。

这个$SEO的变量是在/phpcms/modules/content/index.php里的,所以要找到这个$SEO这个变量.

v9的代码写的很人性化,有注释标明那些是单页面的代码,我直接找到单页面那个代码块,发现这里的$SEO变量如下:

$SEO = seo($siteid, 0, $title,$setting['meta_description'],$keywords);

seo这个函数所在文件/phpcms/libs/functions/global.func.php

这个函数的声明为:

function seo($siteid, $catid = '', $title = '', $description = '', $keyword = '')

研究一下它的定义,发现第二个参数是调用栏目seo META Title和seo META Keywords使用的,如果是0就不调用.

修改方法:

将上面$SEO的赋值写成:

$SEO = seo($siteid, $catid, $title,$setting['meta_description'],$keywords);

在网上查了一下,还要修改/phpcms/modules/content/class/html.class.php里面的单页面$SEO变量,这个应该是生成静态化用的.

找到有注释标明那些是单页面的代码一样修改为:

$SEO = seo($siteid, $catid, $title,$setting['meta_description'],$keywords);

关于标题有重复,可以修改一下seo META Title这样看起来会好看点,还有标题后面多了一个杠,我将seo这个函数所在文件/phpcms/libs/functions/global.func.php里面的如下代码:

  1. $seo ['title'] = (isset ( $title ) && ! emptyempty ( $title ) ? $title : '') . (isset ( $cat ['setting'] ['meta_title'] ) && ! emptyempty ( $cat ['setting'] ['meta_title'] ) ? $cat ['setting'] ['meta_title'] . ' - ' : (isset ( $cat ['catname'] ) && ! emptyempty ( $cat ['catname'] ) ? $cat ['catname'] . ' - ' : '')); 
  2. //修改成: 
  3. $seo ['title'] = (isset ( $title ) && ! emptyempty ( $title ) ? $title . '_' : '') . (isset ( $cat ['setting'] ['meta_title'] ) && ! emptyempty ( $cat ['setting'] ['meta_title'] ) ? $cat ['setting'] ['meta_title'] : (isset ( $cat ['catname'] ) && ! emptyempty ( $cat ['catname'] ) ? $cat ['catname']: '')); //Vevb.com

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表