惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Threatpost
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
S
Security Affairs
N
News and Events Feed by Topic
T
Tenable Blog
P
Proofpoint News Feed
W
WeLiveSecurity
Simon Willison's Weblog
Simon Willison's Weblog
Google DeepMind News
Google DeepMind News
C
CERT Recently Published Vulnerability Notes
Help Net Security
Help Net Security
I
Intezer
T
Threat Research - Cisco Blogs
S
Secure Thoughts
C
Cyber Attacks, Cyber Crime and Cyber Security
L
Lohrmann on Cybersecurity
AWS News Blog
AWS News Blog
Google Online Security Blog
Google Online Security Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Know Your Adversary
Know Your Adversary
Project Zero
Project Zero
The Hacker News
The Hacker News
Security Archives - TechRepublic
Security Archives - TechRepublic
T
Tor Project blog
N
News | PayPal Newsroom
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Hacker News - Newest:
Hacker News - Newest: "LLM"
A
Arctic Wolf
Forbes - Security
Forbes - Security
O
OpenAI News
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Security Latest
Security Latest
P
Palo Alto Networks Blog
S
Schneier on Security
S
Securelist
C
Cybersecurity and Infrastructure Security Agency CISA
H
Heimdal Security Blog
V
Vulnerabilities – Threatpost
www.infosecurity-magazine.com
www.infosecurity-magazine.com
博客园_首页
T
Troy Hunt's Blog
Latest news
Latest news
Recent Announcements
Recent Announcements
MyScale Blog
MyScale Blog
人人都是产品经理
人人都是产品经理
L
LINUX DO - 热门话题
M
MIT News - Artificial intelligence
N
Netflix TechBlog - Medium
V
Visual Studio Blog
H
Hacker News: Front Page

腾腾博客

DigitalOcean新手教程:注册+支付宝付款+创建Droplet全流程(2026实测) - 腾腾博客 WordPress插件怎么选?6个底层标准,装之前先过这道关 - 腾腾博客 WordPress如何更换域名?3种方法+301重定向保住SEO,换完不掉排名 - 腾腾博客 WordPress死链怎么查?3种检测方法+修复指南,别让404拖垮你的SEO(2026) - 腾腾博客 FlyingPress使用教程:8个标签页设置全攻略,Core Web Vitals稳过绿区 - 腾腾博客 ScalaHosting Managed Cloud Hosting真实评测:建站教程+速度实测,外贸独立站值不值得入手(2026) - 腾腾博客 cPanel免费SSL+IP拦截+网站备份教程:建站安全三件套,装完才能放心跑 - 腾腾博客 cPanel一键安装WordPress教程:Softaculous图文详解,5分钟建站上线 - 腾腾博客 cPanel MySQL数据库+phpMyAdmin教程:建库建用户+导入导出SQL+修改WordPress密码 - 腾腾博客 cPanel文件管理器+FTP账号设置教程:上传解压文件+权限修改全攻略 - 腾腾博客 cPanel DNS区域编辑器教程:A记录+MX记录+SPF/DKIM防邮件拦截设置 - 腾腾博客 cPanel控制面板新手入门:登录后台+界面导览+密码语言设置全攻略 - 腾腾博客 cPanel域名管理完整教程:绑定附加网域+子域名+强制HTTPS跳转 - 腾腾博客 cPanel企业邮箱设置教程:创建域名邮箱+Outlook/Foxmail/手机IMAP配置全攻略 - 腾腾博客 ChemiCloud主机评测+建站教程:注册购买到WordPress上线全流程(2026实测) - 腾腾博客 谷歌搜索指令大全:25个实用指令+外贸SEO组合用法,收藏备用(2026) - 腾腾博客 2026年WordPress缓存插件怎么选?6款深度对比,装错了白忙活(含避坑建议) - 腾腾博客 WordPress提示"PHP版本过时"?5分钟升级PHP版本,避开白屏死坑 - 腾腾博客 DreamHost建站避坑选购:WordPress Hosting和DreamPress该怎么选? - 腾腾博客 CyberPanel安装WordPress教程:零基础从面板安装到建站上线 - 腾腾博客 Bitvise SSH Client使用教程:图形化连接VPS,文件传输不用再敲命令 - 腾腾博客 PuTTY使用教程:从密码登录到密钥免密连接VPS - 腾腾博客 好用免费服务器面板推荐:4款知名面板对比+避坑指南(2026) - 腾腾博客 WordPress自动备份怎么设置?3种方案从免费到专业 - 腾腾博客 AI写作工具辅助外贸独立站SEO内容:5个实测可用的工作流 - 腾腾博客 共享主机 vs VPS vs 云主机:外贸建站新手2026年怎么选? - 腾腾博客 Namecheap域名注册教程:搜索域名+开启隐私保护+DNS解析,图文教程 - 腾腾博客 Cloudflare免费CDN接入WordPress站点教程:Super Page Cache插件详细设置 - 腾腾博客 WordPress怎么做图片上传表单?Forminator插件:文件类型限制+大小设置完整教程 - 腾腾博客 搬瓦工Ultra VPS东京CN2 GIA线路实测:AMD EPYC新机房,全国延迟最高108ms(2026) - 腾腾博客 搬瓦工能退款吗?30天退款政策详解+工单申请步骤+常见拒绝原因 - 腾腾博客 1Panel搭建WordPress完整图文教程:以搬瓦工VPS为例,30分钟上线 - 腾腾博客 WordPress必装插件2026:外贸建站必备的15个插件 - 腾腾博客 Hostinger怎么申请退款?30天无理由退款申请全步骤图文教程 - 腾腾博客 外贸建站主机完整选购指南:8个标准帮你不踩坑,新手老手都适用 - 腾腾博客 GoDaddy域名注册完整教程:搜索域名→支付宝付款→DNS解析一步到位 - 腾腾博客 外贸独立站谷歌收录慢?7个有效方法加速收录,新站也适用 - 腾腾博客 宝塔面板SSL证书过期怎么办?自动续签配置教程+续签失败排查 - 腾腾博客 WordPress上传文件大小限制怎么改?5种方法完整教程,宝塔/VPS/共享主机都适用 - 腾腾博客 跨境电商 + 外贸独立站网络环境专用VPS推荐:7家CN2 GIA VPS真实测试,附IP纯净度检测 - 腾腾博客 WordPress数据库连接错误怎么修复?6个排查步骤从根源解决 - 腾腾博客 2026年我用过的WordPress免费主题:10个速度快还好看的选择 - 腾腾博客 2026年我用过的WordPress免费主题:10个速度快还好看的选择 - 腾腾博客 丽萨主机 LisaHost 真实评测:CN2 GIA高防VPS性能实测+外贸建站指南(2026) - 腾腾博客 外贸独立站SEO内链策略:如何系统建立内链结构(实操指南) - 腾腾博客 Elementor vs Gutenberg:2026年该用哪个WordPress编辑器?深度对比 - 腾腾博客 Cloudflare域名转出完整教程:解锁 + 获取授权码 + 转入新注册商 - 腾腾博客 Hostinger VPS 真实测评:KVM 套餐性能实测 + 外贸建站值不值 - 腾腾博客 Hostinger VPS 搭建宝塔 + WordPress 完整教程(2026新手版) - 腾腾博客 UptimeRobot免费版使用教程:5分钟搭好网站宕机监控,第一时间收到通知 - 腾腾博客 Blocksy vs Astra:2026年轻量WordPress主题深度对比,哪个更适合你? - 腾腾博客 WordPress网站速度优化完整指南:主机 + WP Rocket + Imagify + CDN一站搞定 - 腾腾博客 WordPress 7.0 最新版下载(简体中文版,英文版)|2026 年稳定、安全、免费 - 腾腾博客 Hostinger vs SiteGround 2026:外贸新手如何选第一台主机?深度对比 - 腾腾博客 宝塔面板 vs 1Panel:2026 年新手建站选哪个面板?深度对比 - 腾腾博客 cPanel一键安装WordPress教程:Softaculous图文详解,5分钟建站上线 cPanel免费SSL+IP拦截+网站备份教程:建站安全三件套,装完才能放心跑 cPanel MySQL数据库+phpMyAdmin教程:建库建用户+导入导出SQL+修改WordPress密码
WordPress 链接后面为什么多了个"-2"?别名被占用的排查与修复教程 - 腾腾博客
ctzpj · 2026-06-05 · via 腾腾博客

当你花了时间给文章或页面设好别名 shop-2 ,干净、简洁、还包含关键词。

发布之后打开文章,URL变成了 shop-2

莫名其妙多了一个”-2″。

这不是bug,也不是WordPress抽风,而是你想用的别名已经被另一个内容占用了。WordPress检测到冲突,自动在后面加了数字来区分。看起来只是多了两个字符,但对SEO来说,这个链接和你原本规划的完全是两个不同的URL——你辛苦设计的关键词别名就这么白费了。

这篇文章把这个问题彻底说清楚:为什么会发生、怎么找到占用者、后台改不了怎么直接动数据库。

WordPress有内置规则:同一个网站里,每个页面、文章、分类、标签的别名(slug)必须是唯一的。如果你给新内容设置的slug已经存在,WordPress会自动在后面追加数字,变成slug-2、slug-3,以此类推。

这个逻辑本身没错,是为了防止URL冲突导致页面混乱。但问题是,占用你别名的那个东西,有时候根本不是你知道的文章或页面

常见的占用来源,比你想象的多:

已删除但没有彻底清空的内容。草稿、已发布后又删到回收站的文章,在数据库里还留着一条记录,post_name字段还在,slug就这么被占着。

分类目录或标签。如果你有一个分类叫”tutorials”,别名是tutorials,你再发一篇文章也想用tutorials作别名,就会冲突。分类和文章的别名是共用同一个命名空间的。

页面(Page)占用了文章(Post)想用的别名。比如你有一个静态页面叫”about”,文章想用”about”作别名,照样冲突。

自定义文章类型(Custom Post Type)。装了WooCommerce或其他插件创建了自定义文章类型,它们的slug也参与冲突检测。

附件(Attachment)。上传图片或文件时,WordPress会自动给附件创建一个帖子记录,附件的文件名有时会和你想用的别名撞上。

wordpress slug conflict url number

第一步:找出是谁占用了这个别名

修复之前,先确认占用者是谁。知道对手在哪里,才能对症处理。

方法一:直接访问那个别名

在浏览器地址栏输入:https://你的域名.com/你想用的别名/

如果这个URL能正常打开一个页面,说明那个内容还活着,直接看是什么内容,决定怎么处理。

方法二:WordPress后台搜索

进入WordPress后台 → 文章 → 所有文章,在搜索框里搜你的别名关键词。切换到”所有状态”,把草稿、待审、已删除一起显示出来找一遍。再去 页面 → 所有页面 重复搜索一次。

方法三:在phpMyAdmin里直接查数据库

这是最彻底的方法,不管是草稿、附件还是已删除内容,数据库里都逃不掉。

进入宝塔 → 数据库 → 找到你的WordPress数据库 → 点”管理”进入phpMyAdmin。

点左侧 wp_posts 表(你的表前缀可能不是wp_,按实际为准请自行替换代码中的FROM wp_posts),点顶部”SQL”,执行:

sql

SELECT ID, post_title, post_name, post_status, post_type
FROM wp_posts
WHERE post_name = '你想用的别名'
ORDER BY post_status;

你想用的别名 替换成实际的slug,比如 shop

phpmyadmin wp posts search slug sql

执行之后,结果会列出所有post_name等于你搜索别名的记录,包括:

  • post_status = publish:已发布内容
  • post_status = draft:草稿
  • post_status = trash:回收站
  • post_status = inherit:附件
  • post_type = attachment:上传的文件/图片

找到了占用者,下面按情况处理。

第二步:处理占用者

找到冲突来源之后,根据情况选择对应处理方式。

情况一:占用者是草稿或不需要的内容

最简单——直接删掉或者改掉它的别名。

如果是草稿,进后台找到它,要么彻底删除(回收站再清空),要么给它换一个别名。

如果是回收站里的内容,进”回收站”找到它,点”永久删除”。仅仅移到回收站是不够的,WordPress通常会阻止重复slug,但对回收站内容的处理需要特别注意,永久删除才能释放被占用的别名。

回收站清空之后,别名不一定立即释放。有时需要回到文章编辑页,把别名重新输一遍保存,才会触发WordPress重新检测冲突。

情况二:占用者是分类或标签

进后台 → 文章 → 分类目录(或标签),找到对应的分类,修改它的别名为别的词。

比如你的分类别名是tutorial,你的文章也想用tutorial——这时候建议把分类别名改成tutorialsblog-tutorial,给文章让路。分类改别名会影响分类归档页的URL,如果已经有收录,记得在Rank Math里设置301重定向。

情况三:占用者是附件(图片/文件)

这个情况最隐蔽,很多人完全想不到。

上传图片时,WordPress会把图片文件名(去掉扩展名后)作为附件的post_name存入数据库。如果你上传过一张叫shop.jpg的图片,别名shop就被这张图片的附件记录占着了。

处理方式一:重命名图片文件,上传时直接用和别名不同的文件名。已上传的图片,可以在媒体库找到它,编辑附件标题和别名。

处理方式二(彻底):直接在数据库里改掉附件的post_name。

第三步:数据库直接修改别名(根治方案)

后台改不了、或者想直接从数据库层面处理的,用这个方法。

操作之前必做:备份数据库。 宝塔面板 → 数据库 → 备份,选你的WordPress数据库,点备份,下载备份文件到本地。这个步骤不能省。

进入phpMyAdmin,点顶部”SQL”,执行以下语句:

修改指定文章/页面的别名:

UPDATE wp_posts
SET post_name = '新别名'
WHERE ID = 文章ID
AND post_type IN ('post', 'page');

把”新别名”替换成你想释放或修改成的别名,”文章ID”换成那篇内容的实际ID(在文章编辑页URL里能看到,比如?post=123里的123)。

修改附件的别名(解决图片占用问题):

UPDATE wp_posts
SET post_name = 'new-attachment-name'
WHERE ID = 附件ID
AND post_type = 'attachment';

彻底清除回收站里残留的slug占用:

有时候已删除内容的post_name还留在数据库里导致冲突,用这个语句查出来再处理:

SELECT ID, post_title, post_name, post_status, post_type
FROM wp_posts
WHERE post_name = '你想用的别名'
AND post_status = 'trash';

找到ID之后,要么彻底删除这条记录,要么把post_name改成别的:

UPDATE wp_posts
SET post_name = 'old-deleted-post-name'
WHERE ID = 查到的ID;

执行完SQL之后,回到WordPress后台,直接设置别名保存,其他 什么都不用改,直接点”保存更改”——这个动作会刷新WordPress的重写规则缓存,让数据库的改动生效。

第四步:确认是否修复成功

改完之后,三件事验证一下:

访问你的新文章URL,确认是干净的别名(没有数字后缀)能正常打开。

在浏览器无痕模式下测试一下旧URL(带-2的那个),确认是404还是301到新URL——如果是404就没问题;如果之前带-2的URL已经被Google收录了,建议在Rank Math的重定向模块里加一条301把旧URL指向新URL,避免权重流失。

回phpMyAdmin再搜一遍那个别名,确认数据库里只剩你自己的那条记录。

怎么防止以后再发生?

别名冲突这件事,防比治省事。几个习惯养成之后,基本就不会再碰到:

图片上传前先改文件名。图片文件名和文章别名撞车是最常见的来源之一,养成上传前重命名的习惯——文件名用有意义的描述词,和文章别名错开。

文章发布前先检查别名是否被占用。直接在浏览器访问 你的域名/想用的别名/,如果能打开说明被占了,换一个。

回收站定期清空。不用的内容彻底删,不要让回收站里堆满占着别名的僵尸文章。

分类和标签的别名专门规划。建站的时候就把分类别名定好,和文章别名的命名规范区分开,比如分类统一用复数(tutorialsreviewsguides),文章别名用具体主题词,两者天然不重叠。


WordPress固定链接的基础设置方法,可以参考:WordPress固定链接设置教程

Rank Math SEO的重定向功能配置,可以参考:Rank Math SEO插件完整教程

宝塔面板数据库备份与恢复操作,可以参考:宝塔面板网站备份与恢复教程

WordPress数据库连接报错的排查方法,可以参考:WordPress数据库连接错误修复教程


URL是一个页面在互联网上的”门牌号”,一旦发出去被收录,改起来就有成本。别名被占用这个问题虽然不大,但发现一次修一次,养成发布前检查的习惯,才是最省事的做法。