100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > dedecms动态调用当前文章关键词 关联全站相关文章亲测可用

dedecms动态调用当前文章关键词 关联全站相关文章亲测可用

时间:2022-11-10 11:55:08

相关推荐

dedecms动态调用当前文章关键词 关联全站相关文章亲测可用

dedecms动态调用当前文章关键词并获取全站中包含相同关键词的文章,关联之后只要是包含有相同关键词的文章都会当作相关文章展示出来,这样非常利于SEO优化,最大限度地提升了文章内容的相关性,这个想法是很简单但是实现起来却很不容易,在经过多次调用失败时候,最后找到了可以使用的并且成功的方法。

dedecms按照关键词调用相关文章默认有两种方法可以实现,一种是使用likearticle标签,但是这个标签有问题,我试了各种方法,都没有调出我想要的数据;第二种是使用{dede:arclist row=10 titlelen=50 keyword=SEO优化,百度seo}这个标签,直接填写希望调用的关键词,比如这里就可以调出包含“SEO优化和百度seo”这两个关键词的文章,由于这里的关键词是写死的,显然不是我想要的结果。

如果把这里的关键词替换为当前文章的关键词动态调用,那么调出来的数据肯定是符合要求的,但是测试了很多的方法都不行,要么是调不出数据,要么就是调出来的相关文章并不是按照关键词调出来的。

想要实现这一功能还是可以的,经过多种尝试之后,终于实现了这个功能,于是乎全网上都没有真正实现的正确方法,鉴于大家都需要,也就分享一下实现方法。

打开/include/taglib/arclist.lib.php 找到代码“$innertext = trim($innertext);”,在这一句代码的前面一行添加如下代码。

//动态关键词调用preg_match("/~([A-Za-z0-9_]+)~/s", $keyword, $conditions);if(isset($refObj->Fields[$conditions[1]])){$keyword = addslashes($refObj->Fields[$conditions[1]]);}//动态关键词调用end

后台代码只需要添加这一处即可,其他的不用修改。

在模板文件里面使用如下代码调用,打开/templets/default/article_article.htm模板文件,在调用相关文章的地方使用如下代码调用即可。

{dede:arclist titlelen=120 row=20 typeid=2,6,15,16,19,22,21 keyword=~keywords~ orderby= and}<div class="col-12"><a href="[field:arcurl/]" target="_blank">[field:title/]</a> </div>{/dede:arclist}

其中keyword=~keywords~是当前文章页面关键词,如果你要调用标题~title~等等,根据自己当前页面的标签填字段,如果只调用当前文章所在分类下含有相同关键词的文章,可以把typeid删除;如需要调用全站含有相同关键词的文章,则需要加上终极分类的分类id,多个分类id之间使用英文状态下的逗号隔开。

支持orderby排序,凡是dedecms标签arclist支持的属性都支持,唯一的缺点就是调用全站包含相同关键词的相关文章需要填写typeid,这个有点烦,不过这种方法可以完美地实现功能,一个网站的分类是有限的,就算有20个分类页不成问题,比起调不出数据和调出来的数据不对要好。

这样做的好处就是对SEO优化很好,我们都知道内容的相关性对于提升页面的排名时有很大帮助的,如果一篇文章写的内容是体育相关,在相关文章里面调出来的数据是美食内容,这样就是完全不相关的内容,用户体验也不好。

使用上面的方法来调用相关文章需要注意:下图所示,在发布文章的时候“关键词”一定要填写不能留空,如果文章没有填写关键词则无法调出数据,因为关键词为空找不到相关的文章。

如果全站的文章“关键词”没有填写可以把调用代码中的关键词~keywords~改为~title~这样即便是tag和关键词为空也可以调出符合需求的相关文章。

以上就是动态使用当前文章关键词关联全站或当前分类下含有相同关键词的文章,方法还是很简单,亲测有效,更多关于dedecms系统SEO优化和模板设计相关文章持续分享,欢迎关注。

想了解更多精彩内容,快来关注陆柏熺

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。