重新排序你的WordPress文章ID

看到好多朋友使用文章ID作为固定链接形式以缩短链接长度,但是由于草稿、修订版本、附件等的存在,某些朋友的ID数已经高达4位,而实际的文章数量却并没有如此多。好吧,一朋友不淡定了,google了下,找到了2个PHP脚本文件,以重新排列你的wordpress文章ID。当然,如果你的链接中没有ID,大可不必理会,对于ID不敏感的朋友,也当作没看见吧。

两个脚本在使用前都需要做一些准备工作,动手术嘛,总要磨磨刀、买买保险什么的吧。

一、首先当然是买保险啦。

不管风险如何,对于需要动数据库的操作,最好都先进行数据库备份,虽然你可能使用了自动备份软件进行每天备份,我一般及时备份使用的是帝国备份王,PHP工具,无需数据库支持,备份恢复方便,无数据库导入限制的痛苦。

二、禁用文章修订版本和自动保存功能

网上方法很多,不过随着wordpress版本的更新貌似没几个好用的,所以还是采用插件的方式解决吧,我使用的是Disabler,支持最新的WP3.1.1。至于其他插件,好几个都因为没有更新而失效了,比如Super Switch

三、删除冗余的修订版本和自动保存。

这个这个,还是用插件吧,反正使用后禁用掉就可以了,试试WP Cleaner吧,挺好用的。

四、重排文章ID序列

准备工作做完了,该动手术了。手术方案有两种,分别由路兜博客Andrew Chan提供。

1、路兜的方法似乎是采用ID全部重新排列的方式,也就是说ID是从 1 开始重新排列,你可以通过这里下载“post_id_sql.zip”这个PHP脚本文件,用文本编辑器打开,根据开头的说明修改数据库信息,然后将该PHP文件上传至你的博客空间,运行一下看到OK就可以了,你可以到phpmyadmin中查看wp_posts表中的id是不是连续的了。不过根据Dianso童鞋的实践,会有点小问题:每篇文章从1开始计算,到1000的时候,比如014.cc/1000这样的链接会404。原因不明,你可以试试更改起始ID来避开之前已经使用的ID进而重新排序试试。

修改post_id_sql.php文件的第18行

 $no = 1

其中的1为大于你现在文章最大ID的数字,然后再运行文件,你的ID数就会从你设置的ID开始排列了。

 

2、Andrew Chan 的方法默认为了避免在刷新数据库的过程中,有可能出现重置ID与已有ID冲突的情况,从而发生数据库无法刷新的问题,选择了从大ID数起步,不过目的都一样。

你可以通过这里下载“id.rar”这个PHP脚本文件,打开文件按照提示修改数据库信息和起始ID数(请选择大于你现有ID最大数值的数字),上传并运行即可。

五、友情提示

如果你使用了文章ID作为固定链接,那么重新排列文章ID的操作将改变所有文章的网址,搜索引擎需要重新收录现有文章,会出现大量的404访问;你的文章中创建了Tag关系的连接,也会因此失效,请慎用!

重新排序你的WordPress文章ID》上有14条评论

  1. 我去搜索过,说1000这个是时间1000年,和2008,2009这样的一样,是年份,域名/2008这样就显示2008年整年的文章了,1000这样的冲突了

  2. Super Switch没有失效吧? 我的是3.1 用的好好的哦 :mrgreen:
    还有重排文章ID 一般人不敢这么做吧 对搜索很不好啊 顶多把冗余的ID去掉就可以了

  3. Pingback引用通告: 关于WordPress文章ID不连续那些事

  4. Pingback引用通告: 关于WordPress文章ID不连续那点事

  5. Pingback引用通告: wordpress文章id问题处理方法汇总 | 李自强网络营销笔记

  6. Pingback引用通告: 如何解决wordpress3.3文章ID不连续的问题 | 围观啦

发表评论

电子邮件地址不会被公开。 必填项已用*标注