封面
主题Discuz论坛系统的搜索引擎改进Word格式可编辑含目录
精心整理放心阅读欢迎下载
文档信息
Discuz论坛系统的搜索引擎改进
目录
2在做了伪静态后要注意哪些需要做哪些优化
1 建议不要开启个人资料页面静态化其他的可以做静态化处理2 当伪静态URL变化导致内容页出现重复时如何解决
1
3 做了伪静态化后
4 Discuz在网址标准化上出现许多问题
一是给viewthread. php服务端脚本文件添加标准链. . .
二是给forumdisplay. php脚本文件加标准化标签
四是将文档服务器内容页设置为静态链接形式
3对于论坛已删除帖子 google抓取工具提示404错误的. . .1 自定义404错误页
2 禁止discuz无效页面的收录
4为文档服务器转换页加linkcanonical标准化标签
5将Discuz的聚合内容 中帖子的地址设置为静态化
6以前开启了archive
1 定制301重定向将archive的地址重定向到. . .
2
正文
1 discuz的文档服务器archive 是否要开启
关于archive是否需要开启要根据我们的论坛要做内容页的伪静态或是动态来决定。如果内容页为伪静态那么archive就完全没必要开启假如开启则会造成更多的麻烦与不稳定主要是重复页的出现 ;如果主机不支持伪静态那么就要用动态的内容页这时就要开启archive启用后当用户从搜索引擎点击时自动转向动态页面可以为用户提供更好的体验。
2在做了伪静态后要注意哪些需要做哪些优化
1 建议不要开启个人资料页面静态化其他的可以做静态化处理。
2 当伪静态URL变化导致内容页出现重复时如何解决。
"thread - "后面的第一组数字"44105241"是该帖子的ID号 ID号"- "后面的第一个数字"1"代表该主题的第一页最后面的数字"1"表示主题在这个版的首页。但是当该版帖子数量不断增加这个帖子就被后推到第二三„„页上了对于一个十分活跃的论坛帖子其数量不断变化原先帖子所在的"页"也就不断变化对应的原帖地址在论坛中也不断变化。 Discuz虽然设置了爬虫抓取功能允许搜索引擎来抓取网站内容并且帖子地址中最后一位返回的数字设置为"1"
这样只是解决了搜索引擎直接到你的网站抓取的网页地址是唯一的问题方便搜索引擎进行爬读并不能有效解决地址变化导致内容页出现重复的问题。所以说如果你的帖子被其他网站引用则引用的地址链接还是会出现URL重复的问题。
要想处理这个问题我们可以直接修改Discuz控制伪静态地址的函数最后一个数字始终输出为1这样可以保证rewrite之后的地址是单一的但是缺点是URL不能给di scuz正确传递参数所以如果返回版面的时候只能返回到该版的首页而不能返回到该帖所在的页面。
这里我们给出了解决方法
修改Rewri te的格式最后一个数字统一用1代替 以解决URL变化和重复的问题。
修改文件include/global. func. phpfunct ionrewrite_thread
$ tid $ page = 0 $ prevpage =0 $ extra = ' ' {return '< ahref = " thread - ' . $ tid. ' - ' . $ page?
$ page: 1 . '- ' . $ prevpage&&! IS_ROBOT? $ prevpage:
1 . ' . html" ' . stripslashes $ extra . ' > ' ; }
改为
functionrewrite_thread $ tid $ page = 0 $ prevpage =0$ extra = ' ' {return ' < ahref = " thread - ' . $ tid. ' - ' .
$ page?
$ page: 1 . '- ' . ' 1' . ' . html" ' . stripslashes
$ extra . '> ' ; }
有人不理解怎么会出现URL变化例如上面那个网址1154代表哪个帖子后面的数字代表第几页第几个回帖随着回复的增加会出现后面数字的增加但是这都是一个帖子 内容相同标题、关键字相同这些都不利于seo为此需要解决。
3 做了伪静态化后一个帖子都会有两个地址 一个viewthread. php?另一个thread - 这样也导致了内容页重复对seo不利解决方法有如下两种。
第一种方法在robots. txt中添加 Disallow: /redirect.phpDisallow: /viewthread. phpDi sal low: /forumdisplay. php还有的更彻底直接添加Disallow: /* ? *第二种方法是直接修改viewthread. php代码告诉搜索引擎有和这个网址对应的静态网址那个静态网址为首选地址。
4 Discuz在网址标准化上出现许多问题对于一样的内容出现许多不同的URL地址。下面我们来运用ca-nonical URL TAG新标准来解决出现的问题。
一是给viewthread. php服务端脚本文件添加标准链接
canonical URL .我们发现动态的链接形式是多样化的这样造成了有着不同参数的链接指向但是内容却是完全一致的。然而现在的SE却能够帮助我们解决问题但S E却无法判定首选显示URL地址的形式或者当它们都有返回链接时却不能集中权重。为了解决相关的网页重复问题百度、新浪等知名网站都宣布支持新的标签属性能够将链接和权重都推到首选的URL地址上。
通过给viewthread. php脚本文件加标准链接标签设置帖子首选为静态。修改脚本文件在$ page = max $ page 1 函数所在行的上面加一行语句 $ extrahead. = ' ' ;通过给打印页添加标准化标签。我们修改tmplates/default /viewthead_pritable. htm在所在行的下面加入一行 "$ extrahead"语句。
二是给forumd i sp lay. php脚本文件加标准化标签。方法是找到includetemplate 函数所在行在这行的上面加入一行下列语句 $ extrahead. = ' ' ;三是为文档服务器转换页加入linkcanonical标准化标签。
我们对archive/index. php进行修改 找到global $ boa-durl所在行在其下面插入一行函数global $ etrahead;并修改语句;按回车键后添加$ ex-trahead.修改archive/include/thread.php:为第二个showheader 函数所在的上面一行添加
$ extrahead. = ' '语句。
四是将文档服务器内容页设置为静态链接形式。将语句archive/include/thread. php改为"thread - { } - 1 -
1.html" 。
如果您是以动态地址形式为首选版本那么上述对应位置应换成下面的语句 $ extrahead. = ' '
3对于论坛已删除帖子 google抓取工具提示404错误的解决办法。
1 自定义404错误页给用户良好体验实现当访问到错误页时返回404错误代码并提示该页面已删除。
2 禁止discuz无效页面的收录。
#discuz会产生什么页面并出现什么问题
第一如果我们删除了之前的帖子、版块与当访问时返回帖子中"不存在"的信息提示页时。
第二只有设置了权限而能看见的帖子与版块得到了"没有权限"的提示。
第三在任何情况下让浏览者看的"提示信息"页面。
而这些页面没有实质性的内容都应该禁止收录。因为最应该解决的问题是"副本内容"中的问题在许多URL地址中返回却是同样的
内容。如果原帖子被删除之后应该返回404错误信息如果为了简化需要加上metarobots标签禁止ES进行收录。
第四将提示页面的信息进行修改解决内容重复的问题。找到全局函数定义文件"global. func. php"修改这个文件中的showmes sage函数就行了。找到def ine 函数并在后面加上如下的语句 $ extrhcad. = ' ' ;上面语句经过修改之后我们发现 无权访问的URL地址与已经删除的帖子与信息等页面都会重新出现在带有"metarobots"禁止的页面的上面。如果"禁止"收录后过若干段时间还能够从搜索引擎的"索引"中删除。所以给SE的全是有内容的网页对于提高权重会有着重要意义。
如果文档服务器页面的帖子已经删除了那么它的提示信息也要设置为禁止收录。
我们可以修改archve/include/thread. php路径下的thread.php文件 此文件中包含两个showheader 函数在第一个函数的上面加一行 $ extrahead. = ' ' ;就实现禁止收录了。
4为文档服务器转换页加linkcanonical标准化标签
我们通过修改archve/idex. php:在glbal $ boardurl$_DCAHE $ chaset $ nvtitle $ hederbanner $ hedernav;行下加入一行 global $ extahead;在行下加入一行 $ extrhead这样就可以实现为文档服务器转换页加linkcanonical标签。
5将Discuz的聚合内容 中帖子的地址设置为静态化
在论坛中使用Discuz工具使论坛处于静态化而此时中的链接地址却没有处于静态化它却处于动态化之状态。如果根据Discuz的robots文件的默认设置php文件却不能被搜索引擎所索引出现的 同时也不会有重复的URL地址出现。而实际情况是 正常情况之下可以用进行调用与聚合而且中的动态地址能够被搜索引擎所索引。下面我们将把中显示的链接地址改成静态化。
修改文件 . php在. php中找到 " ; ; ; ; " .dhtmlspecialcha $ thread[' subject' ] . " /n" . " ; ; ; ;{ $ boardurl } viewthread. php? tid =$ thread[tid]
/n" . " ; ; ; ; /n" . " ; ; ; ; " . dhtmlspecialcha
$ thread['fo-rum' ] . " /n" . " ; ; ; ; " . dhtmlspecialcha
$ thread['author' ] . " /n" . " ; ; ; ; " . gmdate 'r' thread['datel ine' ] . " /n" . " ; ; /n" ;将其中的
{ $ boardurl} viewthread. php? tid =$ thread[tid] /n" . 修改为 { $ boardurl} thread - $ thread[tid] - 1 - 1. html/n" 。
6以前开启了archive现在搜索引擎里收录了很多archive的网址如何关闭如果以前开启了archive现在搜索引擎里收录了很多archive的网址我现在想关闭怎么办