固定链接(Permalink)也可以叫做永久链接,固定链接的设置对于一个 WordPress 博客很重要,博客作者最好从建立博客之初就定下自己要使用的固定链接格式。如果开始写博客的时候并没有考虑这个问题,等到博客文章达到一定数量才发现自己用的固定链接格式并不好,此时如果更改固定链接,那么,之前搜索引擎抓取的页面链接或者你的博客在其他网站留下的链接都会失效。遗憾的是,对于大部分 WordPress 新手来说,往往建立博客的时候并没有过多考虑固定链接的问题,之前网络上的很多教程也没有把这个问题在教程里面进行强调。
现在,因更换固定链接格式导致链接失效的问题已经有了解决办法,使用 WordPress 插件就可以,具体内容会在以后的教程中介绍。不过,秉承插件越少越好的原则,能够保持不变的固定链接是最好了。
特意在网上搜索了一下这个问题的答案,观点很多,并没有一个共识说到底什么形式的固定链接最优。目前,网络流传最多的观点有以下几点:
1- 固定链接设置的层次不要过深
很多WordPress 博客的固定链接采用 domain/year/month/day/postname 这样的形式,一般认为这种过于深的固定链接格式对搜索引擎非常不友好。
2- 不要让中文字符出现在固定链接里面
现在WordPress可以设置中文汉字链接,但是此类链接对于国外的搜索引擎来说可能并不是十分友好,建议使用简明的英文来作为链接。
3- 不要让分类的链接出现在固定链接里面
这一点是很多人都会忽略的地方。让分类出现在固定链接里面有两个缺陷:一是一篇文章如果选择了多个分类的话,则会出现多个链接地址,这很容易造成因为重复内容而被搜索引擎惩罚;二是有可能会造成关键词堆砌而被搜索引擎惩罚。
4- 不要让日期出现在固定链接里面
这基于两个方面的考虑:一是如果日期出现在固定链接里面,等于提醒搜索引擎,这是旧的文章,没必要再爬一遍了;另外一个原因是,假如你要修改文章的日期重新发布的话,链接地址就变了,也就意味着你的反向链接、PR 等等都没有了。
对于前三点我基本没有什么意见,对于第4点,我保留看法。针对第一方面,我不清楚具体搜索引擎对链接中的日期好恶如何,对于有信念的搜索引擎,关键字的匹配度才是最需要考虑的重点。我也不是完全否定日期对搜索引擎的抓取的影响,只是这其中内幕恐怕并不像一般自认为的 SEO 高手那样的想当然。实际情况如何,可能只有具体搜索引擎的内部人员才真的了解。至于第二点,完全不用在意,只要日后修改文章的时候不去修改发布日期就可以了,WordPress 只是在后台文章发布页面列出文章更新的信息,包括更新时间,并不会自动更改文章发布日期。那么,你为什么要刻意修改发布日期呢?
另外,WordPress 官方网站针对固定链接有这样的提示:
出于性能上的考量,不推荐以博客类型、博客标签、博客作者、博客标题作为固定链接地址的开头,这些都是纯文本的属性(field),使用它们作为链接的开头,WordPress 需要更多的时间区分文章(Post)地址和页面(Page)地址,而且为了区分还要在数据库里存储额外的信息,带来不必要的开销。推荐使用数字的属性(field)作为链接的开头,如年份或文章ID。
链接当中加入日期可以帮助作者了解文章发布情况,如果对搜索引擎的影响不明,具体选择还是看个人喜好吧。
WordPress 官方文档列出如下的固定链接参数:
1- %year% 文章发表的年份,四位数,如 2004
2- %monthnum% 月份,如 05
3- %day% 天,如 28
4- %hour% 小时,如 15
5- %minute% 分钟,如 43
6- %second% 秒,如 33
7- %postname% 文章标题的别名 (编辑文章/页面时的别名栏)。对于文章标题为 “This Is A Great Post!” 的%postname%是this-is-a-great-post。 出于性能原因,强烈不建议使用%postname%作为链接地址的开头。 *** 注 – 从WordPress 2.0开始这条建议可以无视了。
8- %post_id% 文章的唯一ID,如 423
9- %category% 分类的别名 (新建/编辑分类时的别名栏)。 有层级关系的类型在链接地址里就像有层级的目录。出于性能原因,强烈不建议使用%category%作为链接地址的开头。
10- %tag% 标签的别名(新建/编辑标签时的别名栏)。 出于性能原因,强烈不建议使用%tag%作为链接地址的开头。
11- %author% 作者的别名。
在 WordPress 管理后台 Setting(设置)里面的固定链接提供了下面6个选项:
1- Default(默认) http://example.com/?p=123
2- Day and name(日期和名称型) http://example.com/2010/04/10/sample-post/
3- Month and name(月份和名称型)http://example.com/2010/04/sample-post/
4- Numeric(数字型) http://example.com/archives/123/
5- Title(文章名)http://example.com/sample-post/
6- Custom Structure(自定义结构)
我目前使用的是第5种形式,固定链接中包含文章名,减少其他链接构成,这就要求在发布文章的时候,不要使用重复的链接名称,如果出现相同链接,系统会提示。
设置固定链接,要符合“层次简单”原则。一般不要使用第一种“默认”样式,也不推荐第 2、3、4 种。目前大家用的比较多的是以下几种:
①自定义结构为 /%post_id%(直接以文章ID结尾),显示结果类似 http://example.com/321
②自定义结构为 /%post_id%.html (ID.html),显示结果类似 http://example.com/321.html
③ 选择第 5 种“文章名”也就是 /%postname%/ (后面的斜杆 / 可以不要),显示结果类似 http://example.com/文章标题/
④ 自定义结构为 /%postname%.html ,显示结果类似 http://example.com/文章标题.html
其中,①和②很简短,自动生成,但是有些人比较在乎的是文章ID不连续,比如第一篇文章的id为 3,第二篇竟然为 13,这是由WordPress本身的标志规则和自动保存等原因造成的;
③直接以文章标题为链接,语义明确,别人一看链接就大概知道你这篇文章是说什么的,也有利于SEO。
④把固定链接变成伪静态形式,就是在链接后面添加“.html”。