改DEDE的网站名,不少人第一反应是进后台找设置,点一下保存就完事。但实际操作过的都知道,很多时候前台显示根本没变,或者只变了一半。这事得从两个层面来看:后台参数和模板文件。DedeCMS默认会从数据库里读取网站名称,但模板里经常直接写死了文字,或者调用了不同的变量。所以光改后台不一定管用,得顺着线索摸一遍。
先登录后台,找到“系统”菜单下的“系统基本参数”。在“站点设置”那一栏里,有个“网站名称”的输入框。这里填上你想要的新名字,比如从“老王的博客”改成“老王聊技术”。保存之后,别急着刷新前台,因为DedeCMS有缓存机制。去“系统”里点“更新缓存”,把所有缓存清一遍。如果网站是生成静态页面的,还得去“生成”菜单下点“更新主页HTML”或者“一键更新网站”。这一步做完,有些模板会立刻生效,但很多模板不会。
为什么不会?因为模板里可能直接写了旧名字。你得去服务器上找模板文件。默认模板一般在`/templets/default/`目录下,但如果你用的是自定义模板,路径可能不同。用FTP或者宝塔面板的文件管理器进去,重点看这几个文件:`index.htm`、`head.htm`、`footer.htm`,还有`article_article.htm`之类的。用代码编辑器打开,按Ctrl+F搜索旧网站名。比如搜“老王的博客”,如果搜到了,直接改成新的。注意别改错地方,有些是标题标签`
有个细节容易漏掉:DedeCMS的模板里经常用`{dede:global.cfg_webname/}`这种标签来调用后台设置的网站名。如果模板用了这个标签,那你后台改完就生效,不用动模板。但很多老模板或者别人改过的模板,直接写死了中文。所以搜的时候,除了搜旧名字,也搜一下`cfg_webname`,看看有没有被硬编码替换掉。我遇到过一种情况,后台改了,模板里也搜不到旧名字,但前台还是显示旧的。后来发现是数据库里`dede_sysconfig`表的`cfg_webname`字段没更新——这种情况极少,一般是后台保存时没写进去,可以手动去phpMyAdmin里改,但不太推荐,容易出乱码。
另外,网站名不只是在首页显示。文章页、列表页、搜索页的标题里都可能带着旧名字。比如`

还有一个坑:浏览器缓存和CDN。你改完了,自己电脑上看着还是旧的,可能只是浏览器缓存了。按Ctrl+F5强制刷新,或者换个浏览器试试。如果用了CDN,比如七牛、阿里云CDN,得去CDN后台刷新缓存。另外,DedeCMS本身还有`/data/cache/`目录下的缓存文件,手动删掉里面的内容也行,但最好还是用后台的更新缓存功能。
如果你用的是DedeCMS V5.7版本,后台路径是`/dede/`,默认模板在`/templets/default/`。V5.6也差不多。有些朋友把后台目录改名了,比如改成`/admin/`,那登录地址就不一样了,但操作逻辑一样。改完所有地方后,记得再生成一次首页和栏目页。如果网站有手机版,手机模板通常在`/templets/default/mobile/`或者单独的主题目录里,也得同样处理。
最后提醒一句:改之前一定备份。备份数据库和模板文件。万一改错了,还能恢复。我见过有人直接改数据库,结果网站名变成乱码,折腾半天。其实按后台加模板搜索的方法,十分钟就能搞定。关键就是别只改一个地方,要顺着前台显示的文字,反推到模板和配置里。改完清缓存、生成页面、强刷浏览器,三步走完,新名字就稳稳当当地挂上去了。