清理你的wordpress网站数据库posts

wp默认的配置会写草稿和修订版,这样会导致文章很多,占用数据空间。wordpress的posts表是非常重要的表,所有的文章都放在里面,但 是有时候内容很多,仔细检查表发现,还有很多的重复的内容,让人看起来非常不爽,而且数据量的增多会导致维护麻烦,而且会是数据库访问变慢。 比如像wiki一样允许将帖子恢复为旧版。但wp不是wiki,这功能实在没什么必要,反而会加大数据库的读取量。自动保存也就成了鸡肋.

还有我们在使用一些插件和模板或者主题时会生成很多的垃圾,也是可以清除的.

还有我们在使用一些插件和模板或者主题时会生成很多的垃圾,也是可以清除的.比如用SQL语句直接在数据库中删除

SQL语句三个最基本的语句,我们只要应用其删除(delete)语句。在数据库中有很多表,其中“wp_posts”是用于保存你所有的文章相关信息的,非常的重要,一般它存储的数据也是最多的。我们清理自动保存的草稿和修订版也是在这里面清理,命令如下:

DELETE FROM wp_posts WHERE post_status!=’publish’ OR post_type=’revision’

1. 清理posts表,清理掉草稿和修订版本

2. 禁止草稿、修订,这样就不会生成多余的内容了

3. 重新排序,删除之后会导致序号缺失,洁癖者需要重新整理数据,这样使得文章的序号非常整齐。 wordpress的文章有好多:wp_posts表中包括文章种类:文章、修订版本、页面、文章的附件、菜单。其中每种文章又会有很多状态:继承、发 布、私有、草稿、自动草稿、回收站中。 冗余原因:

(1)在博主写文章的时候,系统会保存很多的中间状态,在文章发布之后其很多的中间状态没有被删除。

解决办法: (1)使用插件:WP Cleaner,使用插件的好处就是有保护机制,无论怎么操作都无法影响已发布的贴子,请放心使用^^

(2) 自己动手删除,数据库中的标志删除文章,注意备份。说明:wp_posts的重要字段含义: post_type:文章类型,post表示为文章,revision表示为修订版本,page为页面,attachment是文章的附件信 息,nav_menu_item是菜单。这里我们需要的是文章、页面、和菜单。 post_status:文章状态,inherit是继承的附件和文章的附带信息,publish是已经发布、private是私有的,draft是草 稿,auto-draft是自动草稿,trash是在回收站。这里我们需要的是publish的状态的。这里我们主要是要 已经发布的文章、页面和菜单,除此之外的都可以删除,当然可以根据自己的需求选择删除哪些

清理之后,还有很多重要的问题没有解决: 1. 就是新文章的序号很大,还不能设置过小,因为已经有很大的文章号出现了。

2. 旧文章的序号空缺很大,让人很不舒服。下面就是解决这个问题的,这是Lee的代码,我使用了一下,没有问题。将一下代码保存为config.php,放在网站的根目录。执行即可。

注意: 1. 在执行之前需要备份好数据库

2. 需要将http://www.service-labs.com/archives/修改为你需要的固定文章的地址。

3. 推荐方法,建议在本机安装php环境和数据库,把网站数据导入到本地数据库之后,用执行完之后的数据恢复网上的数据。 但是这样很危险:如果执行了”重新排序”之后,后果还是很严重的,主要有:

1. 会导致搜索引擎的不友好,不收录新的网页,被认为是抄袭。

2. 会导致你以前网页的链接没有了,应为改名字了。

3. 会让收藏你以前网页的网友不知道新的地址了。

原文链接:,转发请注明来源!

发表评论