欢迎来到天天文库
浏览记录
ID:16386663
大小:28.00 KB
页数:12页
时间:2018-08-09
《discuz论坛程序的seo方面优化详细操作》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、discuz!论坛SEO一、discuz!论坛基础优化实践(一)meta,content优化meta的优化(http://www.shandongmba.com山东mba网提供)discuz的后台可以对meta信息进行设置,甚至可以添加自己的头部信息,但它的设置都是针对于所有页面的,全部页面都拥有相同的keywords和description是SEO所不赞成的。方案一:删除meta修改页头模板文件templates/default/header.htm:将meta的keywords和description
2、标签删除。这两个标签作用很小了,而且还有discuz自带的一些无用信息,用得不好反而会有坏作用,因此宁缺勿滥。方案二:定制meta本部分实现了将内容页keywords设为帖子标题,description为内容前100字;也实现了主页与各版列表页meta的单独设置(不同版的不同,同一版各列表页相同)。1.修改页头模板文件templatesdefaultheader.htm:将meta的keywords和description标签改为如下形式3、etakeywords}$seokeywords"/>这里的$seokeywords、$seodescription就是后台设置的那个值,下面说怎么定制这个值;{$metakeywords}是奇虎的关键字,留下以后处理2.内容页(viewthread)设置keywords为帖子标题,description为内容前100字2.1修改viewthread.php文件:在includetemplate('view4、thread');(更新:dz5.5为iincludetemplate($iscircle?'supesite_viewthread':'viewthread');)语句的上面加入一行:require_onceDISCUZ_ROOT.'./include/bmt.thread.inc.php';2.2创建include/bmt.thread.inc.php文件,内容为5、p_tags($thread['subject']);//关键字设为帖子的标题//(已更新:nethome提出,当启用主题分类并允许按类别浏览时,原来代码会有问题。所以加了标签过滤,本来在viewthread.php中改更好,为以后升级方便,还是放在这里吧,subject很短,不会影响效率)$seodescription=current($postlist);$seodescription=mb_substr($seodescription['message'],0,100,"gb2312");//des6、cription取文章内容的前100字$seodescription=htmlspecialchars(strip_tags($seodescription));?>*此处数字和个别函数适用于GBK版本最后一行作用是过滤内容中的html,否则在meta中会引起语法错误。先是去除HTML标签,但因为这里是前100字,有可能html标签已经被截断了,所以又用了htmlspecialchars转义一下,有可能会有些垃圾信息。当然也可以在截取之前用strip_tags去除html标签,可能效率会差了。*所以此处表7、达式您需要根据自己的情况修改。我目前用的是preg_replace('/[^xa1-xff]/','',$seodescription),即过滤汉字以外的所在内容,但这样会损失英文关键字。别外说明,此处数据都是viewthread.php已取好的,所以不会产生额外的数据库操作,只是做了字符串处理,不会引响效率。3.列表页(forumdisplay)设置不同的keywords和description3.1修改forumdisplay.php文件,在includetemplate('forumdispla8、y');语句上面添加require_onceDISCUZ_ROOT.'./include/bmt.forum.inc.php';3.2创建include/bmt.forum.inc.php文件,内容为
3、etakeywords}$seokeywords"/>这里的$seokeywords、$seodescription就是后台设置的那个值,下面说怎么定制这个值;{$metakeywords}是奇虎的关键字,留下以后处理2.内容页(viewthread)设置keywords为帖子标题,description为内容前100字2.1修改viewthread.php文件:在includetemplate('view
4、thread');(更新:dz5.5为iincludetemplate($iscircle?'supesite_viewthread':'viewthread');)语句的上面加入一行:require_onceDISCUZ_ROOT.'./include/bmt.thread.inc.php';2.2创建include/bmt.thread.inc.php文件,内容为
5、p_tags($thread['subject']);//关键字设为帖子的标题//(已更新:nethome提出,当启用主题分类并允许按类别浏览时,原来代码会有问题。所以加了标签过滤,本来在viewthread.php中改更好,为以后升级方便,还是放在这里吧,subject很短,不会影响效率)$seodescription=current($postlist);$seodescription=mb_substr($seodescription['message'],0,100,"gb2312");//des
6、cription取文章内容的前100字$seodescription=htmlspecialchars(strip_tags($seodescription));?>*此处数字和个别函数适用于GBK版本最后一行作用是过滤内容中的html,否则在meta中会引起语法错误。先是去除HTML标签,但因为这里是前100字,有可能html标签已经被截断了,所以又用了htmlspecialchars转义一下,有可能会有些垃圾信息。当然也可以在截取之前用strip_tags去除html标签,可能效率会差了。*所以此处表
7、达式您需要根据自己的情况修改。我目前用的是preg_replace('/[^xa1-xff]/','',$seodescription),即过滤汉字以外的所在内容,但这样会损失英文关键字。别外说明,此处数据都是viewthread.php已取好的,所以不会产生额外的数据库操作,只是做了字符串处理,不会引响效率。3.列表页(forumdisplay)设置不同的keywords和description3.1修改forumdisplay.php文件,在includetemplate('forumdispla
8、y');语句上面添加require_onceDISCUZ_ROOT.'./include/bmt.forum.inc.php';3.2创建include/bmt.forum.inc.php文件,内容为
此文档下载收益归作者所有