固定链接URL末尾的帖子ID是否会影响性能(积极)?

时间:2012-06-01 作者:its_me

HARD NOTE: 这个问题仅仅是关于性能,而不是搜索引擎优化。因此,请确保您的答案是正确的

W、 r.t permalinks,“年”是最明显的数字选择,没有什么比帖子ID(也是数字)更具体的了。

奥托一直suggesting permalink结构的使用“从容易识别的东西开始,比如数字。”

=>类似这样的事情(因为他在“开始”时说过):http://example.com/2012/post-name/

但是来自WP中的讨论。SE chat,我了解到WP\\U查询系统“从右到左”解析其请求(后永久链接信息)

=>这样的功能应该会更好:http://example.com/post-name/121/

(其中,121为岗位ID)

QUESTION: 对我来说,第(1)点和第(2)点是相互矛盾的。哪一个是真的?我错过什么了吗?

我当然知道WordPress 3.3中的一些修复。X显示了permalink结构独立于数字的“巨大性能增益”,但这并不一定意味着没有性能损失(即使是最轻微的损失)。因此,在国际海事组织,这个问题并非完全无关。

2 个回复
最合适的回答,由SO网友:Otto 整理而成

答:从3.3及更高版本开始,“问题”结构现在只添加一个优化的查询。事实上,我写了一篇关于这个的帖子。

一句话:这不再是一个问题。不客气

SO网友:its_me

两点(1)(2) 实际上是对的,一点也不矛盾。

WordPress Codex曾经说过:

出于性能原因,最好不要在permalink结构的开头使用category、tag、author或postname字段。原因是这些都是文本字段,在permalink结构的开头使用它们,WordPress需要更多的时间来区分您的帖子URL和页面URL(页面URL总是使用文本“Page slug”作为URL),为了弥补这一点,WordPress在其数据库中存储了大量额外信息(以至于有很多页面的网站都遇到了困难)。因此,最好以数字字段开始permalink结构,例如年份或职位ID。

+1 作为永久链接结构开头的数字,WordPress可以快速区分“帖子”和“页面”。

WP\\u查询系统“从右到左”解析其请求(分析帖子的永久链接信息)因此,它识别永久链接并将其与帖子关联得越快,它显示帖子的速度就越快。

+1 因为如果您在永久链接的末尾使用帖子ID,那么可以快速检索帖子。

现在应该已经清楚了,要点(1)(2) 处理两个不同的性能问题。

因此,如果我的分析是正确的,至少在理论上是正确的,那么性能最好的permalink格式应该是(最好在顶部):

显然,默认的permalink结构http://example.com/?p=123

其次是(最有可能)/%year%/%postname%/%post_id%/ 也就是说,您的帖子的永久链接与此类似:http://example.com/2012/post-name/121/

下一个最好的(尤其是当你的“页面”很少时)是/%postname%/%post_id%/ 也就是说,您的帖子的永久链接与此类似:http://example.com/post-name/121/

最后一个好的选择是/%year%/%postname%/ 也就是说,您的帖子的永久链接与此类似:http://example.com/2012/post-name/

永磁结构,如/%year%/%monthnum%/%day%/%postname%/ 只有当你的网站/博客的帖子与时间相关时才有意义;例如,一个新闻网站。只是我的拙见。

哦,我应该说,您将看到(1) 至至少(4) -- 因此,您实际上不必担心订单。但既然我这么做了,我就点了;)


UPDATE: This post on some other blog 确认分析

还有WordPress 3.3中的改进。只有当您使用基于文本的永久链接时(即永久链接中没有数字),X才会影响您博客的性能。如果您的永久链接中已经有一个或两个数字,那么您已经很好了!:)

我的选择。。。如果重要的话

  • /%year%/%postname%/ 是我选择的permalink结构——简短、信息准确、甜美。

    你知道吗,如果这真的很重要,你可以简单地将你的永久链接结构更改为/%year%/%postname%/%post_id%/ — 您的链接仍在使用中!

结束

相关推荐

带有自定义帖子类型ID的WP_QUERY

尽管我是100%肯定的,$mixtape\\u id设置为一个整数,该整数对应于“mixtaples”自定义post类型中的一个post,但此代码没有响应任何内容$query = new WP_Query(array( \'post_type\' => \'mixtapes\', \'p\' => (int)$mixtape_id, \'posts_per_page\' => -1, \'orderby\