wordpress数据库清理精简优化代码

wordpress博客用久了之后数据库会有很多没用的数据,我们可以用代码删除掉。减小数据库的占用加快网站的访问速度。以前的代码mysql_query方式不支持php7+,以下代码简单修改了支持php7.3版本分享出来。保存clean.php文件(UTF-8无BOM)上传到网站目录,打开即可完成清理。清理完成后会显示“清理完成!”。防止意外清理前请先备份数据。

<?php
//wordpress数据库优化脚本 by 77nn.net
$blog=mysqli_connect("localhost","username","password","database"); //依次是数据库主机、数据库用户名、数据库密码、数据库名,同wp-config.php
mysqli_query($blog , "set names utf8");//设置数据库编码utf8
mysqli_query($blog,'DELETE FROM wp_posts WHERE post_type = "revision"');//删除文章修订版本
mysqli_query($blog,'DELETE FROM wp_commentmeta WHERE meta_key LIKE "%trash%"');
mysqli_query($blog,'DELETE FROM wp_comments WHERE comment_approved = "trash"');//删除所有垃圾评论
mysqli_query($blog,'DELETE FROM wp_options WHERE option_name REGEXP "_transient_"');//
//清理日志字段类wp_postmeta
mysqli_query($blog,'DELETE FROM wp_postmeta WHERE meta_key = ‘wp_old_slug’');//wordpress文章更换别名时,会在postmeta表中留存一个旧的别名信息,如果你的主题使用不到这个字段,可以考虑删除
mysqli_query($blog,'DELETE FROM wp_postmeta WHERE meta_key = "_edit_lock"');
mysqli_query($blog,'DELETE FROM wp_postmeta WHERE meta_key = "_edit_last"');
//WordPress后台上传图片或附件会在wp_postmeta中生成_wp_attached_file和_wp_attachment_metadata两个项,wp_posts也会记录附件的信息。如果使用FTP工具上传文件,表中就不会有这些信息,如果你不需要管理你的多媒体文件可以使用下面的两句进行清理。
mysqli_query($blog,'DELETE FROM wp_postmeta WHERE meta_key = ‘_wp_attached_file’');
mysqli_query($blog,'DELETE FROM wp_postmeta WHERE meta_key = ‘_wp_attachment_metadata’');
mysqli_query($blog,"delete from wp_posts where (post_status='auto-draft' or post_status='inherit') and post_type='post'");
mysqli_close($blog);
echo '清理完成!';
未经允许禁止转载
本文地址:https://www.77nn.net/2595.html
版权声明:本文为原创文章,版权归 心梦无痕 所有,未经允许,禁止转载!
0
分享到:

评论0

4 + 3 =
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
关闭
没有账号? 忘记密码?

社交账号快速登录