你是不是也遇到过这种情况?
网站看着挺大,文章挺多。
点进去一看,啥也没有。
这就是典型的空白页面。
这玩意儿多了,不仅占空间。
百度蜘蛛还会觉得你网站质量差。
收录肯定掉得厉害。
所以,必须得删。
但在删之前,你得知道它们怎么来的。
知己知彼,才能干活不累。
很多人用采集器发文章。
有时候对方网站防采集。
你的规则没写好。
标题抓过来了,正文没抓到。
系统自动保存了,就留了个空壳。
这种最常见,也最恶心。
有时候编辑手滑。
或者是测试数据没删干净。
点了发布按钮,内容还没填。
后台又没设置强制校验内容。
这种页面虽然少,但也会有。
你以前可能删过文章。
但只删了主表的内容。
附表里的数据还在。
或者反过来。
这就造成了数据不一致。
程序读取的时候出错。
展示出来就是空白。
这招最猛,也最快。
适合数据量大的老站。
只要你会一点phpMyAdmin。
几分钟就能搞定几千条。
但是,操作前一定要听劝。
这点我必须加粗强调。
一定要备份!一定要备份!
不管你技术多牛。
直接操作数据库都有风险。
万一删错了,想哭都找不到地方。
把整个数据库导出来一份。
存到电脑里,心里才踏实。
登录你的phpMyAdmin。
找到你的网站数据库。
phpcms的文章通常存在两个表里。
一个是主表,存标题、ID这些。
一个是附表,存正文内容。
默认模型一般是这两个表:
v9_news 和 v9_news_data。
如果你改过模型名,自己对一下。
打开SQL执行窗口。
我们要删的是那种正文为空的。
先看看有多少条这样的垃圾。
运行这条查询语句:
```sql SELECT FROM v9_news_data WHERE content = '' OR content IS NULL; ```如果查出来有结果,那就动手删。
注意,要先删附表,再删主表。
或者用联表删除。
咱们用最稳妥的分步法。
先找出这些空白文章的ID:
```sql SELECT id FROM v9_news_data WHERE content = '' OR content IS NULL; ```假设你查出来的ID是10, 20, 30。
那你就去主表里删这些ID。
当然,一条条删太累。
直接用这条SQL语句批量干掉:
```sql DELETE FROM v9_news WHERE id IN (SELECT id FROM v9_news_data WHERE content = '' OR content IS NULL); ```然后再把附表里的空内容删了:
```sql DELETE FROM v9_news_data WHERE content = '' OR content IS NULL; ```执行完,刷新一下。

你会发现世界清静了。
如果你不敢动数据库。
或者你的逻辑比较复杂。
那写个PHP脚本是最好的办法。
这个方法稍微懂点代码就能做。
其实就是让程序帮你一个个检查。
在你的网站根目录下。
新建一个文本文件。
改名叫 clean_blank.php。
这个名字随便起,自己认识就行。
等下清理完了记得删掉它。
把下面这段代码复制进去。
这是通用的逻辑,帮你自动判断。
```php set_model($modelid); // 查询所有数据 $result = $db->select('', 'id, title', '', '10000'); $count = 0; foreach ($result as $r) { // 获取正文内容 $content = $db->get_content($r['id']); // 判断内容是否为空 if (empty($content) || trim($content) == '') { // 删除操作 $db->delete($r['id']); echo "已删除空白文章:ID-{$r['id']} 标题-{$r['title']}这段代码很简单。
就是先把文章读出来。
看看内容是不是空的。
如果是空的,就调用删除函数。
打开你的浏览器。
输入你的网址加上文件名。
比如:www.yoursite.com/clean_blank.php。
回车。
页面就会开始滚动显示。
“已删除空白文章:ID-xxx”。
等它跑完。
最后会告诉你一共删了多少。
这种方法的好处是。
它走的是系统的删除逻辑。
会把相关的标签、附件都处理干净。
不容易留下后遗症。
你以为删完数据就完了?
还没呢。
数据库干净了,前台还得更新。
不然你点了没反应,或者还是404。
这就好比你打扫了房间。
还得把垃圾倒出去才行。
登录phpcms后台。
找到“内容”或者“发布”管理。
一般有个“更新URL”的按钮。
点一下它。
把所有栏目的链接都刷新一遍。
确保数据库里的链接是对的。
如果你用的是静态生成模式。
这一步绝对不能省。
去“批量生成HTML”那里。
把所有栏目重新生成一下。
虽然有点慢,但为了网站健康。
这几分钟值得花。
生成完,再去前台点几个文章看看。
是不是都能正常打开了?
如果还有问题,可能是缓存没清。
去系统设置里把缓存清一下。
网站维护其实就是个勤杂工。
平时多注意细节。
别让垃圾页面越堆越多。
等到哪天百度降权了再哭。
那就真晚了。
今天教你的这两招。
一个快刀斩乱麻,一个稳扎稳打。
看你自己的情况选。
别光收藏不练。
赶紧去后台看看你的网站。
有多少空白页面在等着你清理?
现在就动手,清完神清气爽。
上一篇: phpcms静态文件生成不全修复
易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。
Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图