对难看链接的引用会自动重定向到它们漂亮的url固定链接吗?

时间:2017-02-24 作者:user658182

我们有一个网站,目前有1000个网页,其中10个网页有1000个URL链接到其他网页。所有当前链接都使用其url的“丑陋”形式-。。。。com/?p=ID编号。

在SEO计划中,我们正在重新创建url结构。所以,我的问题是,让内部链接“丑陋”可以吗

在Wordpress中,将链接到。。。com/?p=500自动重定向到其新的漂亮url,还是会是一个断开的链接?

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

改变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。

希望这对你的计划和执行有帮助!

SO网友:Mark Kaplun

简单的答案是“是”。Wordpress对每个可能的页面都有一个“规范url”,如果从任何其他url访问,它将重定向到该页面。如果关于页面ID为“1”,而slug为“关于”,example.com/?p=1 将生成一个请求,wordpress将其标识为对about页面的请求,但它不会为该页面提供服务,而是重定向到example.com/about 第一

什么是规范URL本身会根据permalink结构进行更改。

也就是说,我仍然会在某个时候分配一些时间来更改内容中的URL,即使只是为了美观上的改进,但也因为依靠一些内部的“魔法”数字来识别内容通常不是一个好主意,如果出于某种原因,你需要重组DB(使用wordpress exporter导出),那么链接最多也不会有任何结果。

相关推荐

Redirection problems

请帮助我克服重定向问题。我需要在子域上工作,而不是在主域上工作,但这里两个域是不同的。我所做的是-将所有(website.com)文件复制到另一个子域(demo.websiteA.com),并根据wp配置更改数据库名称。php文件。但每当我尝试打开演示时。网站a。com它重定向到网站。com公司请帮帮我提前感谢