改变wordpress文章id的技巧,使id变连续
作者:秋了秋 发表时间:2014年03月17日
不知不觉突然发现我博客的文章id已经达到2160了,而事实并不是写了2160篇博文,而是只有100多文章,这些id都去哪了,原来是wordpress的修订版占据了空位,这对于一个有心理洁癖的人来说是很不好的一件事情。因为你宁愿喜欢//netblog.cn/blog/88.html的网址却不愿喜欢//netblog.cn/blog/88.html这样的网址对吧~
现在就来说说解决此类问题的技巧,满足一下小小的心理洁癖,给文章指定个性网址。
首先我们要先对数据库瘦身,把不需要的垃圾通通删除。(删除历史修订版本)
进入phpmyadmin,点击wordpress安装的数据库,再点击sql查询窗口,例如:
在查询窗口输入以下执行代码【ctrl+c复制】:
DELETE FROM wp_posts WHERE post_status <> "publish"; DELETE FROM wp_postmeta WHERE meta_key = '_edit_lock'; DELETE FROM wp_postmeta WHERE meta_key = '_edit_last'; DELETE a,b,c FROM wp_posts a LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id) LEFT JOIN wp_postmeta c ON (a.ID = c.post_id) WHERE a.post_type = 'revision';
注意把中文标点符号变为英文标点符号,例如 ' 变成 ’ 否则运行不了!ps:一般从我网站上复制的内容都不需变更,因为我做好了相关工作(排除意外浏览器)。
再点击右下角的执行按钮,即可删除所有冗杂数据。
接着是核心操作,主要思想就是修改文章id,如果手动修改的话就比较麻烦,所以特意给大家准备好了自动生成执行代码,把你要生成的执行代码,复制粘贴到sql查询处再执行就是了,每更改一篇文章执行一次。【ctrl+c复制】若不能生成代码请刷新页面!!!
原文章ID:
更改成ID:
update wp_posts set id = 1 where id = 5655669;
update wp_term_relationships set object_id = 10 where object_id = 5655669;
update wp_postmeta set post_id = 1 where post_id = 5655669;
update wp_comments set comment_post_ID = 1 where comment_post_ID = 5655669;
结束!
哈哈!不知不觉我的这篇文章怎么变成id1了,以后还可以把某个文章设置个性网址,比如说qq号呀,手机号呀,其它号呀,看着办吧~
另外建议:对之前搜索引擎收录过的文章建议不要大批量的改动id,改变后原先文章的网址就是死链一条了,这样对搜索引擎很不友好,建议用于日后发表文章的修改,每发表一篇文章就推进一下id,往前面填补,这样你的网址就不会那么快生成那么长的了,也不会得罪搜索引擎。查看数据库空余id,可到phpmyadmin里面的数据库wp_posts表里面查看,然后填补里面的空缺就行了。如图: