折腾Discuz X3.4门户网站记录帖子

摘要: 最近折腾网站比较多,主要是单位领导要评一个省名师工作室网站,网址:http://lh.syzzw.cn/,突然做网站的欲望被勾起来了吧,一阵一阵的,所以就把以前的网站拿出来折腾了。今天主要是记录一下整个折腾过程中修改的 ...
最近折腾网站比较多,主要是单位领导要评一个省名师工作室网站,网址:http://lh.syzzw.cn/,突然做网站的欲望被勾起来了吧,一阵一阵的,所以就把以前的网站拿出来折腾了。

今天主要是记录一下整个折腾过程中修改的一些文件代码,会写的比较详细,会陆续的的更新在这篇文章中,有幸的朋友看到,如果你也是用discuz做网站的,请一定认真读完,应该会有所收货,也可以点个赞。

折腾Discuz X3.4门户网站记录帖子

一、升级程序

都不好意思说了,网站程序是19年的程序,把所有的网站都给升级了一下程序,可能是心理作用,感觉升级程序后网站打开的速度快了呢,嘎嘎……

二、对网站根目录下 robots.txt 的修改

这里主要针对的是www.tdtkd.com 这个网站做的修改。在robots.txt 中增加了如下的代码,屏蔽了动态页面,并且把网站地图加进去了,我建议网站地图是不需要购买插件,第一浪费钱,第二安装插件多页可能会增加网站的负载,影响速度,可以用爱站SEO工具包,采集生成,而且生成的sitemap是带有手机和电脑端的,个人亲测,非常好用。

Disallow: /*?*
Sitemap:https://www.tdtkd.com/sitemap.xml

三、对网站根目录下 .htaccess 的修改

1.discuz门户默认没有标签功能,所以这个插件个人认为有必要用(越是没有的越想获得),插件名称为:SEO门户文章Tag标签,安装完插件,需要设置标签页伪静态,具体把伪静态规则加入.htaccess中即可,不会的可以按照插件公布的相关教程操作即可。

这里需要说明的是,由于网站的模板是自己写的,有洁癖,因此在写模板的时候,把相关的嵌入点都给删除了,导致安装这个插件这个插件后,文章页不展示相关文章,最快的解决办法,就是把插件给下载下来,一般可以在插件根目录下的portalcp.class.php文件中找到具体的嵌入点(我买的这个插件是自带注释的,很好找),实在不行,把所有删除的再放回去,一个一个删除,慢慢的查找也是可以的。

折腾Discuz X3.4门户网站记录帖子

2.栏目列表页分页的伪静态修改,以前写过一篇教程(discuz X3.2门户栏目列表分页伪静态设置教程),具体的操作方法不是很难,就是在网站的根目录source/module/portal/portal_list.php

找到代码:
$multi =multi($count, $perpage, $page, $cat['caturl'], $cat['maxpages']);

将上面的这行代码修改为:
$multi = str_replace("index.php?page=","list-",multi($count, $perpage, $page, $cat['caturl'], $cat['maxpages']));

然后在伪静态规则文件.htaccess 中加入以下的规则:
RewriteRule ^(.*)/list-([0-9]+)(\?(.*))*$ $1/index.php?page=$2;

四、
1、删除的文章点击未跳转到404页面解决办法
文件位置:ssource\module\portal\portal_view.php
if(empty($article) || ($article['status'] > 0 && $article['uid'] != $_G['uid'] && !$_G['group']['allowmanagearticle'] && empty($categoryperm[$article['catid']]['allowmanage']) && $_G['adminid'] != 1 && $_GET['modarticlekey'] != modauthkey($article['aid']))) {
   showmessage('view_article_no_exist');
}
修改为
if(empty($article) || ($article['status'] > 0 && $article['uid'] != $_G['uid'] && !$_G['group']['allowmanagearticle'] && empty($categoryperm[$article['catid']]['allowmanage']) && $_G['adminid'] != 1 && $_GET['modarticlekey'] != modauthkey($article['aid']))) {
    header('HTTP/1.1 404 Not Found');
    header('status: 404 Not Found');
    include("404.html");
    exit();
}
2、删除插件,点击相关链接未跳转到404页面解决办法

(1)打开网站根目录,找到“plugin.php”文件,最好使用专业点的软件打开,比如editplus、dreamweaver等。

(1)找到第37行代码,具体位置:

if(empty($identifier) || !preg_match("/^[a-z0-9_\-]+$/i", $module) || !in_array($identifier, $_G['setting']['plugins']['available'])) {
showmessage('plugin_nonexistence');

将其中

showmessage('plugin_nonexistence');

替换成:

header('HTTP/1.1 404 Not Found');
header('status: 404 Not Found');
include("404/index.html");
exit();

因为“showmessage('plugin_nonexistence');”这一段在文件里出现比较多,37行的替换掉对于seo效果是最好的,其他的可以不用管,

其中“404/index.html”为自己设置的404页面的路径。

五、优化网站速度
1、Redis的分库使用
2、网站Gzip的开启

六、百度主动提交文章功能的实现
没用插件,具体方法是从网上搜索到的,亲测可行,对一切网站都可行。

七、文章页插入图片,图片自动加上ALT属性
具体的方法是修改了源代码


相关阅读