众所周知,WordPress 发布的文章、页面会占用 ID,上传的图片/附件也会占用 ID,甚至修改文章/页面也会占用 ID,所以这一切都是导致 WordPress 文章 ID 不连续的罪魁祸首,友好的seowordpress全站url改为.html
情况一:少量页面大量文章的做法
如果你的站点大多数都是文章,页面很少(PS:所占用的 ID 可忽略),并且站点所使用的图片/附件都不是通过 WordPress 后台上传的(PS:通过 FTP 直接上传到后台指定文件夹,或在其他存储空间直接上传,比如七牛),那么建议采用本方法,那就是:禁用 WordPress 的修订版本,并修改自动保存的时间。(PS:据说直接取消自动保存功能好像不太起作用,所以建议直接修改自动保存时间比较好)
打开 WordPress 根目录下的 wp-config.php 文件,在 define('WP_DEBUG', false); 之后添加以下代码:
//自动保存10小时一次
define('AUTOSAVE_INTERVAL', 36000);
//禁用修订版本
define('WP_POST_REVISIONS',false);
其中 10 小时可以自行修改,一般编辑一篇文章应该不会用到 10 个小时,比如平时 boke112 都是用 word 写好文章后再粘贴到 WordPress 后台来发布文章,所以我只需要设置 1 个小时保存一次就够了,因为我一般发布一篇文章绝不会超过 1 个小时。
情况二:文章页面很多而且后台上传图片附件
其实只要不是经常建立新的页面,那么页面所占用的 ID 其实都可以忽略不计,关键还是后台上传图片/附件所占用的 ID,这个倒是比较多。所以情况一的方法就不太实用了。
1、替换旧文章(现在数据库里面的文章)的别名为文章 ID,具体做法如下:
方法1:进入 mysql 命令或者 phpmyadmin 的 SQL,执行如下命令修改即可:
update wp_posts set post_name=ID where post_status='publish' and post_type='post';
方法2:使用以下 PHP 代码修改:
<?php
/**
* 将所以已发布的文章别名修改成对应ID,让文章以别名完美连续
*
*
* Ps:备份网站数据库后,请放到WordPress根目录执行,成功后请记得删除!
**/
require('./wp-blog-header.php');
global $wpdb;
$wpdb->query("UPDATE $wpdb->posts SET post_name = ID WHERE post_status = 'publish' AND post_type = 'post'");
echo 'Update Success!';
?>
将以上代码保存为 php 文件,比如 uppostname.php,并上传到网站根目录,执行即可,成功后记得删除!
所有设置数据库的操作务必记得先备份,避免因失误带来无法挽回的损失。
如遇疑难杂症进入赞助页面欢迎加站长微信好友站长无偿帮你解决,或评论留言
还没有人赞赏,快来当第一个赞赏的人吧!

- 2 ¥
- 5 ¥
- 10 ¥
- 20 ¥
- 50 ¥
本文为原创文章,版权归小逸博客所有,欢迎分享本文,转载请保留出处!