PHPCMS标签列表TAGS优化过程,生成有利于SEO的标签列表

1、做一个伪静态指向默认的关键词查询方法lists(),让网址变得更短

#tag/guanjianci/
RewriteRule ^tag/(.*)/$ index.php?m=content&c=tag&a=lists&tag=$1

2、/phpcms/modules/content/tag.php 的默认方法记得细调下细节 ,$tag = safe_replace(addslashes($_GET[‘tag’]));对传入的字符串起到了安全过滤的效果

public function lists() {
$tag = safe_replace(addslashes($_GET['tag'])); 
....
$res = $this->db->get_one(array('id'=>$contentid), 'title, description, url, inputtime, style');//改成下面的内容
$res = $this->db->get_one(array('id'=>$contentid), 'keywords,catid,title, description, url, thumb, 
inputtime, style');
....
}

3、/phpcms/templates/default/content/tag_list.html模板中调用获取到的数据即可

比如:
1) 查询到的总条数:{$total}
2) 关键词:{$tag}
3) 循环上面调用的数据: {loop $datas $r} {/loop}
4) 循环文章里所有的关键词:
{if $r[keywords] != ""}
<span class="am-hide-sm-only">| 标签: 
{php $keywords = str_replace(' ', ',', strip_tags($r[keywords]))}
{php $keywords = explode(',',$keywords)}
{loop $keywords $keyword}
<a href="{APP_PATH}tag/{urlencode($keyword)}">{$keyword}</a>
{/loop} 
</span>
{/if} 

最后访问标签列表链接https://www.taiyoubang.com/tag/seo/效果是这样的:

PHPCMS标签列表TAGS优化过程,生成有利于SEO的标签列表

4、标签列表的查询语句

{pc:get sql="SELECT count(tagid) as num,A.keyword,B.tagid  FROM `v9_keyword` as A,`v9_keyword_data` as B 
where  A.id = B.tagid and A.keyword != '' GROUP BY `tagid` order by num desc" num="10"}
 {loop $data $r}
 <li>
 <a href="{APP_PATH}tag/{urlencode($r[keyword])}/" class="am-list-item-hd">{$r[keyword]}({$r[num]})</a>
 </li>
 {/loop}
{/pc}

标签列表显示效果:

PHPCMS标签列表TAGS优化过程,生成有利于SEO的标签列表

5、当前文章的相关关键词,urlencode函数用来对中文字符串转码

{loop $keywords $keyword}
    <a href="{APP_PATH}tag/{urlencode($keyword)}/">{$keyword}</a>
{/loop}

6、查询相关文章的写法

{php $keywordss = implode(" ",$keywords);}
{pc:content action="relation" relation="$relation" catid="$catid" num="6" keywords="$keywordss" id="$id"}
{if !empty($data)}
{loop $data $r}
//调用的内容
{/loop}
{/if}
{/pc}
 
PHPCMS标签列表TAGS优化过程,生成有利于SEO的标签列表

相关推荐