固定链接是WordPress后台里一个不起眼的设置,你点一下保存,全站每篇文章的网址就都换了样。旧地址它不负责接上,你之前发出去、被别人收藏和引用的那些地址,打开很可能就是404。
这事用不着讲道理。拿秒出海这篇文章的地址去试一遍就清楚了:现在的网址是/url-seo/,打开正常;换成日期型的样子/2025/06/18/url-seo/,404;换成数字型的/archives/4520,404;换成带分类的/seo/url-seo/,还是404。同一个站,首页一直好好的,文章就是打不开。
这就是固定链接设置换完之后会发生的事。WordPress只认你当前选的那套网址结构,结构一换,旧地址它最多猜一猜,不保证接得上。所以在SEO URL这件事上,一开始选对,比后面再改便宜太多。
落到动作上:内容站在「设置 → 固定链接」里选「文章名」,也就是/%postname%/,每篇文章的slug手填短的英文或拼音;已经有收录的站,别为了网址好看去动整体结构,非改不可就一条条做301,改完在Search Console盯几周。
- WordPress后台的固定链接一共6个选项,内容站选「文章名」,生成/sample-post/这种一层网址。
- 拿/url-seo/换成3种旧结构去请求,日期型、数字型、带分类的,全是404。
- Google的迁移文档说,中型站改网址要几周或更长时间才逐渐显示新网址,301至少留1年。
- Advanced Web Machinery在2019年12月15日全站把日期型改成按标题生成,站长说没有因为这次迁移丢流量。
- Mangools在2018年把工具页跨域名挪到主站,点击从1.74K掉到648,改回原网址后会话1,794,挪之前是1,810。
下面从头讲一遍:后台那6个选项各生成什么网址、内容站选哪个、分类要不要进网址、slug怎么填、设置完404怎么补、已经上线的站改不改、非改不可时301怎么做、改完在Search Console看什么,最后是能交给AI的几步。网址的层级、命名、长短这些总原则是另一个话题,放在 网站URL结构 里讲。
本文目录
WordPress固定链接是什么:后台6个选项各生成什么网址
打开WordPress后台「设置 → 固定链接」,一共6个选项,每个选项对应一套网址生成规则。你选哪个,之后发的每一篇文章就按哪个规则出地址。
中文里叫固定链接,英文是permalink,也有人叫永久链接,说的都是同一件事:一篇内容长期不变、能被反复引用的那个网址。
| 选项 | 生成的网址(域名后面那段) | 适合谁 |
|---|---|---|
| 朴素 | /?p=123 | 只自己看、不打算被搜到的测试站 |
| 日期和名称型 | /2025/06/18/sample-post/ | 新闻、时事这类内容有时效的站 |
| 月份和名称型 | /2025/06/sample-post/ | 按月归档、读者会按月份翻的博客 |
| 数字型 | /archives/123 | 内容站基本用不上 |
| 文章名 | /sample-post/ | 写教程、评测、常青内容的内容站 |
| 自定义结构 | 自己拼,例 /%postname%/ | 懂标签、对结构有明确设计的人 |
同样一篇文章,选不同的选项,出来的网址长得完全不一样。内容站选「文章名」,理由下一节说。

自定义结构那一栏下面有一行可用标签:%year% %monthnum% %day% %hour% %minute% %second% %post_id% %postname% %category% %author%。想自己拼结构,就是把这些标签按顺序写进输入框,例/%postname%/就等于文章名型。
WordPress在选项旁边还给了一句提示:「纳入 %postname% 标签能让链接更容易理解,也能帮助您的文章在搜索引擎中有更好的排名。」这句话的来头要说清楚,它是WordPress后台自己写的,不是Google的规则。
几个名词对一下。stable url是学术库和文档站常用的说法,意思就是固定链接,指一个长期不变、能被反复引用的地址。伪静态是国内的叫法,指网址看起来像静态页,比如/sample-post/这种,实际还是PHP动态生成,靠服务器的重写规则实现。动态链接指?p=123这种带参数的网址。
经常有人问「网站动态链接太多影响SEO吗」。WordPress的朴素型只有一个?p=参数,不属于Google说的「多个参数」那种复杂网址。它的问题是看不出这篇讲什么,也不是官方文档里说的易读字词。内容站没有理由用它。
我2024年起转做英文独立站,自己买域名、买VPS、装主题。装好WordPress之后我第一件事就是把固定链接定下来,不是先去挑主题、装插件。这个设置决定的是全站每一条网址长什么样,放到最后处理,改起来最贵。
内容站选哪种固定链接:文章名比日期型、数字型更贴Google的网址建议
Google有一份「网址结构最佳做法」的文档,中文版2025年12月31日更新过。里面几句直接管到固定链接这件事:建议创建简单的网址结构;尽可能在网址中使用易读的字词,而非冗长的ID编号;建议用连字符而不是下划线来分隔网址里的字词;尽可能删去不改内容的参数,因为包含多个参数的复杂网址可能给抓取工具带来麻烦。
文档里还提醒一句,Google区分大小写,/APPLE和/apple是两个网址。原文见Google搜索中心的网址结构最佳做法。

拿这几条去对后台那6个选项,结论挺清楚。文章名型/sample-post/只有一层,全是可读字词,最贴官方那几句话。日期型/2025/06/18/sample-post/多了三层数字,适合新闻站那种读者会关心发布时间的场景;写常青内容的站,文章两年后还有用,日期放在网址里没有意义,只是让网址变长。数字型/archives/123就是官方说的「冗长的ID编号」,从网址上根本看不出这篇讲什么。
数字型还有一个麻烦。
后面讲301的时候你会看到,旧网址里没有文章名,WordPress连猜都没法猜。
后缀加不加.html,两种都行,Google的文档里没有偏好,/sample-post/和/sample-post.html都可以。关键是定下来之后别改,.html改成/同样属于换网址,旧地址一样要处理一遍。
新站的动作只有一个:上线发第一篇之前,在「设置 → 固定链接」里选文章名,点保存,之后不再动。装好WordPress的完整流程和这一步放在哪里,写在 WordPress建站教程 里。
建站这件事,秒出海的AI Agent管得比较早。它从空服务器开始建站,十个阶段每段一道关,固定链接这种一开始就要定对的设置,在建站阶段就定下来了,不会等到发了上百篇才发现结构不对。
网址里要不要带分类:分类进了网址,调整分类就等于换网址
后台的自定义结构里可以拼出/%category%/%postname%/,文章的网址会变成/seo/url-seo/这种样子,前面一段是分类名,后面是文章别名。
这个结构的代价不在收录,在改动。文章换一次分类,网址就跟着换一次。你只是把文章从一个栏目挪到另一个栏目,旧网址就作废了,得重新做一遍301。内容站不建议用。
我的做法是文章网址和栏目网址都保持一级。文章是/url-seo/,栏目是/seo/,两边各走各的,文章不挂在栏目下面。这样栏目怎么调整,都不影响已经发出去的文章地址。栏目整体怎么分、内链怎么布是另一个话题,放在 网站结构优化 里讲。
分类页的/category/前缀去不去
选文章名型之后,文章网址里不会有分类,但分类页自己的网址默认带一个前缀,变成/category/seo/这种。这个前缀可以用去掉分类前缀的插件处理,去掉之后就是/seo/。去掉和不去掉都能用,区别不大,但跟固定链接一样,要在建站的时候一起定。站开了半年再想去掉,那一批分类页的地址同样要一条条301。
slug怎么填:短的英文或拼音,只留核心词
slug就是WordPress编辑界面里那个「别名」,它是文章网址的最后一段。上面例子里的url-seo就是这篇文章的slug。
WordPress默认拿标题生成slug。中文标题生成出来的是一长串%E4%B8%AD这样的编码,因为中文在网址里会被转义。发布之前手动改掉,写成短的英文或拼音,只留标题里的核心词,单词之间用连字符分隔,全部小写。
slug要不要带关键词,直接回答:带上核心词是为了让人一眼看懂这段网址在讲什么,把地址复制给别人也说得清。Google的文档里没有「网址里带关键词能提升排名」这种说法,所以别为了这个把整句标题塞进去,也别把同一个词在slug里重复堆,读起来别扭的网址没有好处。中文和拼音怎么选,看 中文URL 。
发布前有个三十秒的自检:把浏览器地址栏那行从头读到尾。看到%开头的片段,就说明还有中文没换掉。
还有个事要提一句:翻新老文章的时候只改内容,别顺手改slug。老文章可能已经被别人引用、在搜索结果里有排名,slug一变那个地址就没了。旧文章该改什么,看 网站内容更新 。
设置完固定链接文章404:服务器伪静态没配
选完「文章名」保存,首页正常打开,点进一篇文章却是404。这种情况基本是服务器的重写规则没配,重写规则国内叫伪静态。WordPress生成的是美化后的网址,服务器不知道要把/url-seo/这种请求交回给index.php处理,它按路径去找文件,找不到就返回404。
宝塔、Nginx、Apache三种环境怎么补重写规则
宝塔面板:在站点设置里选wordpress模板
用宝塔面板建的站,进站点设置,找到「伪静态」,在下拉里选wordpress,保存。面板会把WordPress那套规则写进站点配置里。从装环境到建站的完整步骤,在 宝塔面板 那篇里。
Nginx:在站点配置里加一行try_files
不是用面板的Nginx,就打开站点配置,在location段里加一行常见写法:try_files $uri $uri/ /index.php?$args; 意思是先按请求的路径找文件,找不到再找目录,还找不到就交给index.php处理。保存后重载Nginx。
Apache:看根目录的.htaccess有没有WordPress那段规则
Apache环境去看网站根目录下的.htaccess文件,里面应该有一段WordPress的规则,写着RewriteEngine On和RewriteRule那几行。没有就补上。在后台「设置 → 固定链接」点一次「保存更改」,WordPress会尝试把这套规则写进去,写不进去通常是文件权限的问题。
三种环境改完,都回后台「设置 → 固定链接」再点一次「保存更改」。然后重新打开一篇文章,能返回200就是好了。
已经上线的站要不要改固定链接:对SEO的影响和三种处理办法
这个问题要分开看,新站和已经上线一两年的站,答案完全不一样。判断之前先记住一件事:结构改一次,全站已经收录的地址全部作废,旧地址变404,之前攒下的排名和外链都指着旧地址。
我2015年在东莞建过一个团队博客,日更了大约5年,写了几千篇。文章到了那个量,网址结构就再也动不起了。
Google对改网址路径怎么说
Google的网站迁移文档里,「网址路径更改」是明确列出来的迁移类型,把example.com/page.php?id=1改成example.com/widget就属于这一类。改WordPress固定链接就是这件事。文档里有两句要记住:预计迁移期间网站排名会出现短暂波动;对于中型网站,Google可能需要几周或更长时间才能逐渐开始显示新网址。文档同时说,不用担心链接权重,301和其他永久重定向不会导致PageRank降低。重定向留多久,文档给的是尽可能长,通常至少1年。

按内容量和收录情况,秒出海把已经上线的站归成三类处理办法。
- 文章很少、站上基本没有权重的,直接改,改完一条条301。判据是内容量和权重,不是改起来麻不麻烦。几十篇的站和几百篇、已经有排名的站,是两回事。
- 内容多、已经有收录和排名的,老文章网址一个都不动,只让新文章走新结构。站上同时存在两种网址形态,每篇文章仍然只有一个网址,不构成重复内容。网址结构不统一本身不是毛病,不用当缺陷去修。
- 内容多了还硬改全站结构的,这条不要走。旧地址大量变404,收录、排名、外链会一起断。知道什么不能动,比知道怎么改更重要。
Advanced Web Machinery全站改网址:每条旧网址都有去处
Advanced Web Machinery,一个写AWS开发教程的英文技术博客,两位作者,站长2020年6月公开过他们2019年底全站改网址的过程。这个站用Jekyll搭、放在GitHub Pages上,不是WordPress。换到WordPress上,同样的事就是把日期型改成文章名型。
他们改之前的格式是「分类/年/月/日/文件名」,比如2019年7月17日那篇,网址是 /2019/07/17/ 后面接文件名 upload_signed_urls_differences,网址直接由文件名生成。新格式是「分类/按标题生成的别名」,比如/differences-between-put-and-post-s3-signed-urls/。改的理由很实在:旧网址跟文件名绑着,改个错别字都可能改掉网址,断掉别人给的链接。站长自己也说,这次改动有可能让所有外链失效、把自然流量清零。

做法是:每篇文章里列出它的旧网址,由插件给每个旧网址生成一个跳转页。GitHub Pages发不出301,所以跳转页用的是即时meta refresh加JS跳转,canonical指向新网址并加noindex,Google的文档里说即时meta refresh按永久重定向处理。站点地图不收这些跳转页;他们加了自动检查,别名缺失、重复、跟标题对不上就报错;订阅源的条目ID保持旧值,免得订阅的人收到重复推送。

结果是:迁移在2019年12月15日,自然流量的低谷只出现在圣诞到假期结束那一段,之后回升。站长的原话是「No traffic was lost because of the migration」。改完之后,谷歌搜索结果里显示的是新网址。


这个案例里只有一张纵轴没写数字的流量走势图,没有给出任何访问量,所以能拿走的是方法:让每条旧网址都有一个去处。
Mangools把工具页跨域名挪到主站:301做了点击照样掉
一家卖SEO工具的公司Mangools,2018年在自家博客公开过另一个过程。先写清楚性质:这是把一个工具原来的独立域名挪到公司主站的一个子目录下,从serpchecker.com挪到mangools.com/serpchecker/,属于跨域名换网址,不是改WordPress固定链接。拿它只说明一件事,301做了,换网址本身仍然有说不清的风险。
| 时间段 | 点击 | 展示 | 平均CTR | 平均排名 |
|---|---|---|---|---|
| 2018-02-05至02-21(挪之前) | 1.74K | 68.9K | 2.5% | 43.9 |
| 2018-02-23至03-11(301后) | 648 | 85.5K | 0.8% | 50.3 |
| 2018-04-02至04-18(301后) | 1.06K | 106K | 1% | 46.8 |
掉得最明显的是点击那一列,从1.74K掉到648,大约只剩37%。展示量反而涨了,从68.9K涨到85.5K,4月那段到了106K;平均排名从43.9退到50.3,4月是46.8,点进来的人少了一大截。
对方中途关过富摘要,也怀疑过竞品投放谷歌广告,最后把网址改回去验证,原话是「we are still not 100% sure why the CTR dropped so dramatically」。
所以没法说是301让点击掉的。
能确定的只有:做了301之后点击掉了,改回原网址后回到原来水平,原因对方自己也没说清。



2018年6月12日全部改回原网址。改回去之后,2018年6月14日到6月30日的自然流量会话是1,794,挪之前那段是1,810,基本回到原样。

对方给的两条教训可以直接用:动网址之前先存好关键词、排名、CTR、流量的历史数据;挑淡季做,先拿不影响收入的页面试。
非改不可:改固定链接后怎么做301、改完看什么
先讲WordPress自己能做多少。已经发布的文章(post)改了slug,WordPress会记下旧slug,有人访问旧网址时自动301到新网址,这个行为从2.1版本就有。页面(page)不在这套规则里,改了页面网址要自己做301。
整体改「设置 → 固定链接」的结构是另一回事。遇到404,如果旧网址里能认出文章名,WordPress会去数据库按「以这个名字开头」模糊找一篇,找到就跳。这个猜测可能被插件或主题关掉,也可能猜到名字相近的另一篇。数字型旧网址里没有文章名,它无从猜起。所以它不能当保险,换结构就得自己做一张新旧对照表逐条301。
现场的样子可以拿秒出海这篇文章去试。/url-seo/正常打开;少一个尾斜杠的/url-seo会301到/url-seo/;朴素型/?p=4520也会301到/url-seo/;可是按日期型拼出来的/2025/06/18/url-seo/、数字型/archives/4520、带分类的/seo/url-seo/,三个全是404。在一个正常运行的WordPress站上,换了结构之后,旧网址不会自己接上。

非改不可的时候,按这七步走。
- 改之前导出全部文章的旧网址,从站点地图或数据库拿;另外存一份Search Console的效果数据,按网页导,点击、展示、排名都在里面。
- 生成「旧网址 → 新网址」的对照表,一条对一条,不许整站跳首页,跳首页等于把每一篇的排名都作废。
- 用服务器规则或Redirection这类重定向插件做301,文章之外的页面(page)也要覆盖。301和302的区别在 301和302重定向的区别 里讲过,这里只用301。
- 正文里的站内链接、导航菜单、站点地图、canonical一起换成新网址,自引用canonical怎么写看 canonical标签 。这一步最容易漏。秒出海的AI Agent挡住的坑里就有一条「改网址结构漏了正文内链」,正文里指向旧网址的链接没换,每点一次都要多绕一道301;对照表里恰好漏了的那条,点过去就是404。技术SEO、站内、内链这几块归它的SEO/GEO优化员工管。
- 抽样逐条访问旧网址,确认返回的是301,而且落到对的那一篇。这一步会顺手发现哪些旧网址直接变404,死链为什么伤站看 死链 。
- 在Search Console提交新站点地图,之后每周看「网页索引」里的404(未找到)和重定向数量,效果报告按新网址对比。Google说中型站要几周以上,这几周里排名波动是正常现象。清单看不完就先交给AI筛一遍,自己只看它标出来的那几条。
- 301至少留1年,能一直留就一直留。
改完这几周,人不太可能天天守着Search Console。秒出海的AI Agent里的运营员工会自己拉数据,每周给一张单子,改哪几篇、改什么、先改哪篇,掉流量的时候也由它先排查原因。人要做的还是看那张单子下判断。
单篇改slug的情况简单一些。文章改slug,WordPress自己会301,你要做的是把站内指向旧网址的链接换掉。页面改slug,WordPress不管,得自己加一条301。
还有一种情况是换域名,那是另一件事,不是改固定链接能覆盖的,路径看 更换域名 。
用AI处理WordPress固定链接:批量出slug、生成301对照表、核对404
这一节讲能直接交给AI的活。判断和决定还是人做,重复的那部分AI做得快。下面四段提示词可以照抄,括号里的内容按自己的情况换掉。
先让它批量出slug:「下面是我准备发布的文章标题清单,我的站是WordPress,固定链接用文章名型。请给每个标题出3到5个英文词或拼音的slug,全小写,用连字符分隔,去掉the、a这类虚词,每条不重复,也不要出现两条slug只差一个词的情况。输出两列表格:标题、slug。」拿到结果别直接填,一条条过一遍。
再一个是生成301对照表:「这是我WordPress站全部文章的旧网址清单,带文章ID和标题。旧结构是/年/月/日/文章名/,新结构是/文章名/。请输出两列CSV,一列旧网址、一列新网址,一行一篇,不许把任何一条指到首页;再给我一段Nginx的301规则,或者一份Redirection插件能导入的CSV。」
伪静态规则也能让它写:「我的服务器是Nginx(换成Apache就写Apache),WordPress装在根目录(或者子目录)。请写出这个环境下的WordPress伪静态规则,并逐行解释每一行在干什么。」服务器类型和安装位置一定要说清,这两条不说,AI给出来的规则可能直接用不了。
最后是核对404:「这是Search Console导出的404网址清单,这是我的新旧网址对照表。请找出清单里哪些旧网址没在对照表里、哪些跳转的目标看起来不对,按风险从高到低排。」
AI给出来的东西都当草稿看。slug那一列、CSV那一份、规则那一段,都要自己过一遍再上线。AI做完,人要做四件事:决定改不改,看内容量和收录、排名;逐条抽查对照表,AI有可能把两篇名字相近的文章对错位;上线前在测试环境试一遍跳转;上线后看Search Console。
还有一件事得说清楚,AI不知道哪篇有外链、哪篇在赚钱,它手里没有这组数据。所以改不改、先改哪些,只能自己定。把AI用在出slug、拼对照表、写规则、对404这几步上,省掉的是最枯燥的那部分活,判断那部分省不了。
常见问题
wordpress更改固定链接对seo的影响有多大,多久恢复
改网址路径属于Google说的网址变更迁移。排名会出现短暂波动,中型网站要几周或更长时间才会逐渐开始显示新网址。文档里没有给出掉多少、几周恢复的通用数字,只能说这段时间里波动是正常的。把301做全、把站内链接换掉、在Search Console里盯着,是你能控制的部分。
网站动态链接太多影响SEO吗
WordPress的朴素型只有一个?p=参数,不属于Google说的「多个参数」那种复杂网址,所以它不会因为参数多被卡住。真正的问题是它看不出内容,也不是官方文档里说的易读字词。内容站没有理由用它。
stable url是什么,跟固定链接是一回事吗
是一个意思。stable url多出现在学术库和文档站的说法里,指的是一个长期不变、可以被反复引用的地址。固定链接、永久链接、permalink讲的是同一件事。
固定链接要不要加.html
加不加都行。定下来之后别改,.html改成/也是换网址,旧地址要处理。
改了一篇文章的slug要手动做301吗
文章不用,WordPress会记下旧slug并自动301到新地址。页面要自己做,因为页面不在那套跳转规则里。不管哪一种,站内指向旧网址的链接都要换掉。
网址结构这件事,秒出海的看法就一句:建站的时候定下来,比上线两年后再改便宜太多。