WordPress已删除页面仍显示且slug异常,该如何解决?
解决WordPress删除slug为"blog"的页面后仍可访问的问题
刷新固定链接规则
进入后台「设置」→「固定链接」,无需修改任何选项,直接点击「保存更改」。WordPress的重写规则可能未同步页面删除操作,这一步能强制更新规则,清除旧URL的映射关系。排查slug冲突
检查是否存在同名的分类、标签或自定义文章类型:- 前往「文章」→「分类」/「标签」,查找slug为"blog"的项,若存在则修改为其他slug
- 若怀疑有自定义文章类型冲突,可临时在主题的
functions.php中添加以下代码,后台会显示所有自定义文章类型:add_action('admin_notices', function() { $post_types = get_post_types(array('_builtin' => false), 'names'); echo '<div class="notice notice-info"><p>自定义文章类型:' . implode(', ', $post_types) . '</p></div>'; });
找到冲突项后,调整对应自定义文章类型的rewrite配置即可。
清理服务器/CDN缓存
除WordPress插件缓存外,服务器层面的缓存(如Nginx的fastcgi缓存、Apache缓存)或CDN缓存也可能保留旧页面。可自行登录服务器控制面板清理,或联系主机商协助处理。检查静态缓存文件
部分缓存插件会生成静态HTML文件,前往网站根目录或wp-content/cache等缓存文件夹,查看是否存在blog.html或对应blog路径的静态文件,找到后直接删除。排查插件问题
暂时禁用所有插件,再测试旧blog页面是否仍可访问。若问题消失,逐个启用插件,定位出导致问题的插件,选择更新插件或更换替代插件。数据库清理(谨慎操作)
先备份数据库,再登录phpMyAdmin:- 打开
wp_posts表,搜索post_name为"blog"的记录,彻底删除状态为trash的条目 - 检查
wp_postmeta表,删除与该页面ID相关的所有元数据
- 打开
内容的提问来源于stack exchange,提问作者mrselmani
相关产品推荐
相关产品推荐

