dedecms是国内出色的一款基于php的cms,他有一个功能强大的后台以及严谨的采集器,做起站来很舒服,嘿嘿。但是dedecms生成的页面名称,以及URL里面是以数字命名的,例如 http://xxx/a/b/2010/1.html,但是例如google,百度等对于URL其实也有权重的,从Wordpress的SEO优化来看,貌似权重还不低,如果URL包含本篇文章的文章标题的话,在google中一般搜索相关关键词都可以保持在前面几页,相对一个新的网页已经很不错了。

经过本人若干小时的研究和读dedecms的源代码,发现修改起来也很简单。修改方法如下:

1. 找到 include\helpers 文件夹下的channelunit.helper.php文件

2. 定位至191行,然后修改

if(preg_match("/\{p/", $articleRule))
{
    $articleRule = str_replace(‘{pinyin}’,GetPinyin($title).’_’.$aid,$articleRule);
    $articleRule = str_replace(‘{py}’,GetPinyin($title,1).’_’.$aid,$articleRule);
}

if(preg_match("/\{p/", $articleRule))
{
    //$articleRule = str_replace(‘{pinyin}’,GetPinyin($title).’_’.$aid,$articleRule);
    $articleRule = str_replace(‘{pinyin}’,clear_stip($title),$articleRule);
    $articleRule = str_replace(‘{py}’,GetPinyin($title,1).’_’.$aid,$articleRule);
}

3. 在GetFileName函数结尾添加一个新的函数,内容如下

if (!function_exists(”))
{
    function clear_stip($str) {
        global $cfg_soft_lang;
        $str = str_replace(
            array(‘?’,’|’,'<‘,’>’,’*’,’/’,’\\’,’"’,’&lt;’,’&gt;’,’&quot;’),
            array(”,”,”,”,”,”,”,”,”,”,”),
            $str
        );
        return iconv($cfg_soft_lang, "UTF-8", $str);
    }       
}

4. 保存上传文件到主页,设置文件名称格式为{pinyin}即可。

修改后的代码图片如下:

dedesource

5. 修改后的效果

大家可以登录学Office网站来看看效果(http://www.xueoffice.com/)

5. 后记

当然,你也可以在第一步下面再添加一个变量,例如叫{filename},然后按照他们的格式来进行正则表达式替换,哪天想用pinyin的话还可以换回来。因本人栏目较多,就用了栏目设置的{pinyin}来写了,一个个修改起来确实比较麻烦一些。嘿嘿。

发表评论

电子邮件地址不会被公开。 必填项已用*标注