在SEO优化中,dedecms CMS的伪静态设置是一个非常重要的环节。本文将详细介绍如何在dedecms 5.3/5.5版本中实现全站伪静态,并解决可能影响SEO的重复记录问题。
首先,确保服务器支持URL重写功能。这是实现伪静态的基础条件。
接下来,在后台开启伪静态选项。这一步通常可以在系统的基本设置中找到。
栏目设置方面,建议使用动态方式。这样可以避免生成过多的静态文件,同时也有利于搜索引擎抓取。
在添加文档时,选择“使用动态浏览”选项。这一设置有助于保持网站内容的动态更新。
还需要对php文件进行修改,具体路径为include/channelunit.func.php。
查找 return $GLOBALS["cfg_plus_dir"]."/view-".$aid.'-1.html';
修改为 return "/view-".$aid.'-1.html';
查找 return $GLOBALS['cfg_phpurl']."/view.php?aid=$aid";
修改为 return "/view.php?aid=$aid";
如果不进行上述修改,URL地址会显得冗长。此外,对于栏目页,也需要做相应调整:
查找 $reurl = $GLOBALS['cfg_phpurl']."/list.php?tid=".$typeid;
修改为 $reurl = "/list-".$typeid.".html";
最后,在根目录下创建一个.htaccess文件(适用于Linux系统)。以下是该文件的内容示例:
RewriteEngine On
RewriteCond %{http_host} ^xianjianhot.com [NC]
RewriteRule ^(.*)$ http://awtv.net.cn/$1 [L,R=301]
RewriteRule ^list-([0-9]+)\\.html$ /plus/list.php?tid=$1
RewriteRule ^list-([0-9]+)-([0-9]+)-([0-9]+)\\.html$ /plus/list.php?tid=$1&totalresult=$2&PageNo=$3
RewriteRule ^view-([0-9]+)-1\\.html$ /plus/view.php?arcID=$1
RewriteRule ^view-([0-9]+)-([0-9]+)\\.html$ /plus/view.php?aid=$1&pageno=$2
说明:第一条规则是域名301重定向指令,有利于SEO效果。第二条规则是文章分页的重写命令。如果需要更改默认的view词,记得同步修改include/arc.archives.class.php文件中的相关部分。
伪静态后可能会出现多个URL指向同一页面的情况,这会影响SEO效果。可以通过robots.txt文件屏蔽多余的URL。
以上方法基于论坛前辈的经验总结而来,希望能对你有所帮助。如果有任何不足之处,欢迎提出宝贵意见。
附注:本文提供的附件包含已修改的文件,使用前请备份好原有文件。
文件列表:
.htaccess - 放置在站点根目录
include/ - 替换到空间对应目录