为什么WP要为相同的内容同时创建“/?tag=”和“/tag/”URL?

时间:2013-10-15 作者:Kringle

我注意到WordPress正在使用略有不同的URL生成重复的内容。例如:

http://example.com/the-blog/?tag=santas-workshop
http://example.com/the-blog/tag/santas-workshop/
注意,一个是/?tag= (即查询)和其他/tag/ (即子目录)。

我停用了所有插件,但两个URL仍然是“200”。找不到任何要更改的设置。对此有什么建议吗?

1 个回复
最合适的回答,由SO网友:Eugene Manuilov 整理而成

我想建议您学习WordPress重写API的工作原理。当你学会它的时候,你就不会有这样的问题了。看看The Rewrite API: The BasicsThe Rewrite API: Post Types & Taxonomies.

TLDR: permalink结构http://example.com/the-blog/?tag=santas-workshop 是确定页面上应显示的内容的默认方法。与此同时http://example.com/the-blog/tag/santas-workshop/ 是默认permalink结构的高级版本。WordPress将内部高级版本重新格式化为index.php?tag=santas-workshop 并将其用作当前请求URL。

所以你不必担心...?tag=... URL,这是WordPress的标准和预期永久链接结构。只需使用您的高级URL版本。

更重要的是,您的主题可以支持规范URL,并将向每个页面添加规范URL元数据。在这种情况下,谷歌机器人不会在意他将使用哪个URL来抓取你的页面,它将始终引用meta中的规范URL。

结束

相关推荐

Separate tags with semicolon

有没有人知道有没有办法更改类似标记的自定义分类法的回调函数,以便它在分号后而不是逗号后打断术语?我意识到我可以rewrite the whole meta box, 但如果有更简单的方法,我宁愿不要。