zblogphp针对网页的标题、关键词、描述这些有几个插件可以设置的,有的收费有的免费,大家可以去zblog的应用中心找下。
本文分享给大家是直接从代码层面解决此问题,有一定基础的朋友可以操作下。
需要修改的模板为“header.php”,打开此模板,找到:
<title>{$title}-{$name}</title>
替换为下面的代码:
{if $type=='article'} <title>{$title}_{$article.Category.Name}_{$name}</title> <meta name="keywords" content="{foreach $article.Tags as $tag}{$tag.Name}{/foreach}" /> <meta name="description" content="{$article.Title}是{$name}中一篇关于{foreach $article.Tags as $tag}{$tag.Name}{/foreach}的文章,欢迎您阅读和评论,{$name}" /> {elseif $type=='page'} <title>{$title}_{$name}</title> <meta name="keywords" content="{$title},{$name}"/> {php} $description = preg_replace('/[rns]+/', ' ', trim(SubStrUTF8(TransferHTML($article->Content,'[nohtml]'),135)).'...'); {/php} <meta name="description" content="{$description}"/> <meta name="author" content="{$article.Author.StaticName}"> {elseif $type=='index'} <title>{$name}{if $page>'1'}_第{$pagebar.PageNow}页{/if}_{$subname}</title> <meta name="Keywords" content="网站首页的关键词 自己修改"> <meta name="description" content="网站首页的描述部分 自己修改"> {elseif $type=='category'} <title>{$title}_{$name}_第{$pagebar.PageNow}页</title> <meta name="Keywords" content="{$title},{$name}"> <meta name="description" content="{$title}_{$name}_当前是第{$pagebar.PageNow}页"> {else} <title>{$title}_{$name}</title> {/if}
上面这段代码一共用了四个判断,分别对应内容页、单页、列表页和首页,你也可以根据自己的需求任意修改,参考如下:
article:这是判断为内容页;
page:这是判断为单页面(留言本什么的);
index:这是首页;
category:这是列表页;
剩下的页面则全部在else后面了。
这段代码的缺点就是列表页的关键词和描述不能单独定义,建议配合插件使用效果更佳。