改变permalink结构对现有网站来说绝对是一件大事。为了测试改变permalink结构可能破坏站点的各种方式,我明确建议设置一个测试环境。
所以,我的问题是,让内部链接“丑陋”可以吗
我不确定从SEO的角度来看,让URL变得丑陋是否重要。这会很乏味,但如果你ssh
访问,您可以使用wp-cli 要搜索和替换数据库中的URL,请执行以下操作:
wp search-replace \'example.com?p=123\' \'example.com/post-slug\'
您还可以为每个url创建一个bash脚本。
在Wordpress中,将链接到。。。com/?p=500自动重定向到其新的漂亮url,还是会是一个断开的链接?
链接不会断开。从技术角度来看,WordPress执行302
redirect.
因此,是的,该网站仍将“工作”,但你表示,这是与搜索引擎优化倡议相结合的。
SEO与搜索引擎(Google、Bing等)对站点的各种索引有更多的关系。请注意302
重定向意味着链接已“临时移动”。由于您想将所有现有的SEO“果汁”从旧url移动到新url,您需要告诉搜索引擎“此内容存在,并且已永久移动”。为此,你想使用301
redirect.
有几种方法可以做到这一点。
WordPress插件有一些我喜欢的重定向插件:
但您可以自由搜索和探索。主要缺点是要输入的url太多,对每个url进行输入可能会很繁琐。
在服务器级别重定向,您还可以创建301
在服务器级别重定向。
如果您正在运行apache,那么可以使用mod_rewrite 发动机内部.htaccess
文件
Nginx有自己的rewrite module. 我想这个blog post 比文档更容易理解。
获取URL列表在任何情况下,挑战之一通常是获取帖子、帖子ID和相关slug的完整列表。
由于当前的permalink结构包含post ID,而新的permalink结构包含post slug,因此获取“before和after”列表非常容易使用wp-cli
. 我以前用过这个来生成帖子列表:
wp post list --fields=ID,post_name --format=csv > posts.csv
这将为我们提供一个名为
posts.csv
填写所有帖子的帖子id和slug:
488,a-new-post-slug
495,another-new-post-slug
504,so-many-post-slugs
# ...
从那里,您可以使用Vim、Sed甚至电子表格程序进行批处理转换,因为它是csv。
希望这对你的计划和执行有帮助!