discuz 论坛静态化seo优化又一招

discuz建站现在的网页静态化形式是  thread-1-1-1.html  forum-1-1.html  viewpro-uid-1.html  类似的, 这样虽然能加强搜索引擎的抓捕, 不过如果用了这个插件, 搜索引擎的抓捕应该会更加彻底, 因为他将会把原来的静态网页变成三级域名.

列个表格 (假如某论坛开启了 rewrite 静态化, 那么它在装本插件的前后的对比将是这样的:

 
安装前
安装后
浏览帖子内容
thread-1-1-1.html
thread-1-1-1/
浏览帖子列表
forum-1-1.html
forum-1-1/
浏览用户资料
viewpro-uid-1.html
viewpro-uid-1/

相比之下, 搜索引擎抓取三级域名下的网页会比静态网页的几率要高得多.

安装条件: 服务器必须支持 rewrite 伪静态模块.

安装方法如下:

1. 添加 rewrite 规则
首先请参阅这里, 看看您的服务器是否支持 rewrite: 如果您确认您的主机支持 rewrite, 请按照下面的步骤进行安装:

如果您曾经添加过 Discuz! 的静态化规则, 那么:

独立主机的用户请打开 conf/httpd.conf, 查找:

  1. RewriteRule ^(.*)/forum-([0-9]+)-([0-9]+)\.html$ $1/forumdisplay.php?fid=$2&page=$3
  2. RewriteRule ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/viewthread.php?tid=$2&extra=page\%3D$4&page=$3
  3. RewriteRule ^(.*)/profile-(username|uid)-(.+)\.html$ $1/viewpro.php?$2=$3
复制代码


替换为:

  1. RewriteRule ^(.*)/forum-([0-9]+)-([0-9]+)/$ $1/forumdisplay.php?fid=$2&page=$3
  2. RewriteRule ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+)/$ $1/viewthread.php?tid=$2&extra=page\%3D$4&page=$3
  3. RewriteRule ^(.*)/profile-(username|uid)-(.+)/$ $1/viewpro.php?$2=$3
复制代码



虚拟主机用户请打开  .htaccess , 查找:

  1. RewriteRule ^forum-([0-9]+)-([0-9]+)\.html$ forumdisplay.php?fid=$1&page=$2
  2. RewriteRule ^thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ viewthread.php?tid=$1&extra=page\%3D$3&page=$2
  3. RewriteRule ^profile-(username|uid)-(.+)\.html$ viewpro.php?$1=$2
复制代码

替换为:

  1. RewriteRule ^forum-([0-9]+)-([0-9]+)/$ $1/forumdisplay.php?fid=$2&page=$3
  2. RewriteRule ^thread-([0-9]+)-([0-9]+)-([0-9]+)/$ $1/viewthread.php?tid=$2&extra=page\%3D$4&page=$3
  3. RewriteRule ^profile-(username|uid)-(.+)/$ $1/viewpro.php?$2=$3
复制代码



如果您没有添加过这个规则, 请参考 http://www.discuz.net/usersguide/advanced_urlrewrite.htm 添加后再进行上述修改.

2. 打开 include/global.func.php, 查找:

  1. ob_end_clean();
复制代码


在上面添加:

  1. // ADD BY mfboy
  2.   global $boardurl, $PHP_SELF;
  3.   if(substr($PHP_SELF, -1) == '/' && in_array(CURSCRIPT, array('forumdisplay', 'viewthread', 'viewpro'))) {
  4.    $boardurl = substr($boardurl, 0, strrpos(substr($boardurl, 0, strlen($boardurl) - 1), '/') + 1);
  5.    $content = preg_replace('/(href|src|action)+\=([\'"]+)/i', '\\1=\\2'.$boardurl.'', $content);
  6.   }
  7. // ADD BY mfboy
复制代码


再找:

  1. function rewrite_thread($tid, $page = 0, $prevpage = 0, $extra = '') {
  2. return '<a href="thread-'.$tid.'-'.($page ? $page : 1).'-'.($prevpage ? $prevpage : 1).'.html"'.stripslashes($extra).'>';
  3. }
  4. function rewrite_forum($fid, $page = 0, $extra = '') {
  5. return '<a href="forum-'.$fid.'-'.($page ? $page : 1).'.html"'.stripslashes($extra).'>';
  6. }
  7. function rewrite_profile($uid, $username, $extra = '') {
  8. return '<a href="profile-'.($uid ? 'uid-'.$uid : 'username-'.$username).'.html"'.stripslashes($extra).'>';
  9. }
复制代码


替换为:

  1. function rewrite_thread($tid, $page = 0, $prevpage = 0, $extra = '') {
  2. return '<a href="thread-'.$tid.'-'.($page ? $page : 1).'-'.($prevpage ? $prevpage : 1).'/"'.stripslashes($extra).'>';
  3. }
  4. function rewrite_forum($fid, $page = 0, $extra = '') {
  5. return '<a href="forum-'.$fid.'-'.($page ? $page : 1).'/"'.stripslashes($extra).'>';
  6. }
  7. function rewrite_profile($uid, $username, $extra = '') {
  8. return '<a href="profile-'.($uid ? 'uid-'.$uid : 'username-'.$username).'/"'.stripslashes($extra).'>';
  9. }
复制代码



3. 打开 include/menu.js, 查找:

  1. img.src = 'images/common/jsmenu.gif';
复制代码


替换为:

  1. img.src = 'http://您的论坛地址/images/common/jsmenu.gif';
复制代码


记住把替换代码中的中文修改为您的论坛地址.

4. 打开后台, 开启静态化, 安装完成.

转载于:https://www.cnblogs.com/phpdev88/archive/2012/05/05/2484587.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值