当您重新设计网站或更新旧内容时,可能会更改您的URL结构。如果您不遵循WordPress重定向最佳实践,您可能会对用户体验 (UX) 和搜索引擎优化 (SEO)产生负面影响。
核心平台内置的WordPress重定向功能旨在捕获不正确的URL。也就是说:当请求错误的URL时,WordPress会尝试找到正确的URL,如果找到,则会重定向访问者。
在这篇文章中,我们将解释WordPress重定向的重要性以及它们如何影响页面速度,当然还有SEO。我们还将讨论如何最大限度地减少WordPress中的重定向,并指导您完成可用于设置它们的各种解决方案。
- WordPress重定向简介
- WordPress重定向如何影响页面加载速度
- WordPress重定向如何影响您网站的SEO
- 重定向还是不重定向?
- 如何在WordPress中最小化重定向
- 在服务器级别设置重定向
- 使用插件创建WordPress重定向
- 其他WordPress重定向插件
WordPress重定向简介
WordPress核心带有重定向功能,旨在帮助捕获和纠正不正确的URL。如果有人请求错误的URL,WordPress会尝试找到正确的URL,如果成功则重定向访问者。
假设您有一个位于“http://www.example.com/parent/page”的页面。如果您在浏览器中键入“http://example.com/page”,通常情况下,WordPress足够智能,可以自动定位正确的页面以将您重定向到。
不幸的是,事情并不总是那么简单。如果您将网站设置为使用HTTPS解析(以强制所有流量从HTTP重定向到HTTPS前缀URL),则重定向过程会变得更加复杂。
例如,假设访问者试图通过在地址栏中键入“http://example.com/page”来访问网页“https://www.example.com/parent/page”。该过程将如下展开:
- 首先,访问者从HTTP重定向到HTTPS。
- 其次,当“www”添加到URL时,访问者会被重定向。
- 第三,访问者被重定向到在路径中包含父页面的URL公式。
- 最后,服务器开始将网站的文件和资源发送到访问者的浏览器。
你可能会想:“太好了!我可以删除一个链接,访问者仍然会到达他们应该在的地方。” 从某种意义上说,你这样想是对的。WordPress非常擅长确定URL应该在哪里解析,这意味着错误输入的URL通常会正确解析。
然而,所有这些自动重定向也有一个缺点。
WordPress重定向如何影响页面加载速度
一旦您意识到WordPress的弹性,很容易被欺骗而忽略URL公式。如果您手动输入内联链接和自定义菜单中的 URL,这尤其危险。
这没什么大不了的,对吧?访问者仍然会访问正确的 URL!虽然这在理论上是正确的,但您忽略的是重定向对页面加载速度的影响。
让我们看一下WordPress网站的Pingdom页面速度结果。此测试基于使用格式正确的URL访问页面,以避免任何重定向:
具有正确格式URL的Pingdom测试结果
这一点也不坏。如果我们查看文件请求,我们会看到请求站点时没有发生重定向:
来自Pingdom的文件请求
那么如果我们弄乱了那个URL并再次运行测试会发生什么呢?
带有错误URL的Pingdom测试结果
这使页面加载时间增加了近100毫秒。虽然这看起来没什么大不了的,因为这个站点已经足够快了,让我们看看文件请求,看看发生了什么:
错误的URL文件请求
现在在URL的前面添加了一个重定向。重定向后,页面正常加载。因此,我们可以将较慢的页面速度归因于在将不正确的URL输入测试时发生的重定向。
底线是重定向会损害网页加载速度。差异可能是显着且可衡量的。
WordPress重定向如何影响您网站的SEO
如果您对SEO有基本的了解,您可能知道链接在其中扮演的重要角色。如果一个URL链接到一个不再存在的页面,或者被转移到另一个被移动的链接,您的访问者可能会遇到404页面错误:
Chrome中的404错误页面
除了糟糕的用户体验之外,从SEO的角度来看,404“找不到页面”错误也会对您造成伤害。这些404错误是链接断开的结果,这会影响搜索引擎抓取您的网站并定位其页面的能力。
这向搜索引擎发出信号,表明用户不仅能够找到他们正在寻找的内容,而且您的网站架构也很差且过时。
因此,必须为URL已更改的页面设置重定向。如果您要将站点移动到新域,配置WordPress重定向可以使搜索引擎爬虫仍然能够索引新站点URL,同时从索引中删除旧站点。
重定向还可以帮助确保链接汁将从您的旧域传递到您的新域以及您自己的页面中。但是,请务必注意,只有某些HTTP重定向代码会传递您在搜索引擎中的排名。
各种类型的URL重定向
作为WordPress用户,您将要处理的最常见的重定向类型(并且最适合SEO目的)是301重定向。这用于已永久移动的内容。
301重定向告诉搜索引擎您希望将访问者发送到的页面已更改或移动,并在90-99%的链接权重之间传递。在大多数情况下,这种类型的重定向将导致搜索引擎将大部分链接权重(或页面权限)传递到新页面或更新页面。
其他类型的服务器端重定向包括:
- 302. 这个临时重定向通知搜索引擎页面正在移动,但不是永久的。它不会像301重定向那样传递链接汁。
- 303. 这种类型的临时重定向用于防止正在存储数据的页面被刷新或添加书签(支付表单、登录页面等)。这样,用户在浏览器中点击“返回”按钮后就无法重新提交表单。这些重定向不会影响SEO。
- 307. 307重定向类似于303重定向,因为它应该只用于临时移动的页面。但是,302重定向通常是首选方法。
- 308. 308重定向是永久重定向,因此它将传递链接汁和页面权限。然而,与之前的重定向一样,它对SEO的影响并不为人所知。在大多数情况下,最好使用301。
正如我们所说,以上所有内容都被视为服务器端重定向。
还有客户端重定向,当用户的浏览器处理转发或重定向时会触发这些重定向。但是,这些都不可靠,应该避免。
服务器端重定向是确保搜索引擎能够快速理解重定向并适当转移您的SEO权重的最佳方式。
重定向还是不重定向?
存在重定向是有原因的。它们允许您将访问者从过时的内容和不存在的 URL 发送到更新的内容。我们已经在一定程度上涵盖了不存在的URL角度。WordPress自己完成了其中的一些工作。
但是,WordPress不会捕获所有内容,并且有时需要手动重定向规则。
例如,假设您在WordPress 3.0发布时写了一篇题为“WordPress中的全新功能”的文章。这是2010年的一篇很棒的帖子,但在2022年寻找“WordPress中的新功能”的搜索者想要更新的信息。您想让这些读者满意,因此您写了一篇关于即将发布的WordPress版本中包含的功能的新文章。
在这种情况下,从旧帖子重定向到新帖子是完全可以接受和适当的。此外,在这种情况下,重定向是良好的SEO做法。归因于旧文章的链接权重将被传递给您的新文章,从而在搜索引擎中立即获得权重。
有几种适合重定向的场景,包括:
- 您发布了更新的内容,并希望引导访问者远离旧版本。
- 您已经彻底检查了网站的永久链接结构,需要将旧URL重定向到新结构。
- 您正在更新已发布的页面或文章,并希望在进行更新时临时将流量重定向到不同的文章或页面。
何时不重定向
在上述所有场景中,重定向都是必要的,以便将访问者从过时的内容和损坏的URL引导到更新的内容。在更新特定内容时,它们也很方便作为临时措施。
那么,什么时候不适合使用WordPress重定向?例如,如果您使用不包含“www”的URL构建了一个自定义菜单,但您的站点URL确实使用URL前面的“www”子域解析,那么您就犯了一个错误。
在这种情况下使用重定向是不合适的,并且会损害您网站的速度和SEO。
如何在WordPress中最小化重定向
如果您对在WordPress中最小化重定向的想法感到满意,那么您需要做两件重要的事情。
1.永远不要创建不必要的重定向
首先要记住的是永远不要故意创建不必要的重定向。例如,您不应该在构建内部链接和菜单时创建重定向。
如果您养成了懒惰输入URL的习惯,最好重新考虑您的工作方式。相反,当您创建URL时,请确保您:
- 使用正确的协议前缀(HTTP 或 HTTPS)。
- 酌情包括或排除“www”子域。
- 不要在链接中使用文章和页面ID。
- 包括页面或帖子的整个路径。
WordPress内置的重定向功能应该是一种备用功能,以防您不小心创建了错误的URL。一般来说,对于懒惰的URL编写来说,这不是一个非常可靠的修复方法。
2. 确保您的顶级域 (TLD) 仅通过一次重定向即可解析
为尽量减少WordPress重定向的发生,您可以做的第二件事是确保您的顶级域 (TLD) 解析时不超过一个重定向。您的目标是确保通过一次或更少的重定向到达正确的URL,无论访问者在TLD前抛出何种协议前缀和子域组合。
让我们看一个例子。以下所有URL应解析到TLD且不超过一个重定向,其中一个URL应解析为不重定向:
- http://example.com
- http://www.example.com
- https://example.com
- https://www.example.com
如果您不确定使用协议前缀和子域的不同组合来解析站点URL需要多少次重定向,您可以使用Patrick Sexton的重定向映射器进行检查:
重定向映射器工具
下面是一个示例,说明如何使用此重定向映射器轻松发现未正确设置的重定向:
重定向设置不正确
您可以看到在“www”版本的域中发生了重复的重定向。相反,这是正确设置重定向的示例:
重定向设置正确
如您所见,“www”和“no www”都只发生了一次重定向。
如果您确实发现其中一些组合无法解析(返回404服务器状态代码)或需要多个重定向来解析,那么该开始工作了。
在服务器级别设置重定向
设置WordPress重定向的一种方法是向服务器添加一个或多个重定向规则。这将确保访问者尽快以正确的方式登陆您网站的URL。
您尝试完成的基本目标是创建重定向规则,以针对需要多个重定向的任何URL公式。您希望强制这些URL直接解析为格式正确的URL。
例如,如果URL“http://example.com”需要两次重定向才能到达“https://www.example.com”,您可以创建一个手动重定向,一步完成(而不是两个)。
Apache中的重定向规则
如果您的站点托管在标准LAMP堆栈上,则需要将URL重写规则添加到站点的.htaccess 文件中。通过Web服务器配置文件设置WordPress重定向是一个技术过程,并且可能很复杂。
因此,仅当您对编辑 .htaccess文件感到满意时才使用此方法。即使您是,首先创建文件的备份仍然是一个好主意。
然后,第一步是使用FTP客户端或通过托管cPanel 的文件管理器连接到您的WordPress安装。您可以在WordPress站点的根目录中找到 .htaccess 文件。
要设置301重定向,您需要使用如下所示的语法结构指定新旧URL位置:
Redirect 301 "old-page" "new-page"
如果要将站点的所有流量从HTTP重定向到HTTPS,可以使用以下命令:
RewriteEngine On RewriteCond !{HTTPS} off RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] RewriteCond %{HTTP_HOST} !^www. RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
请记住,在执行此操作之前,请务必确保您 在新的WordPress网站上正确配置了SSL证书。
Nginx中的重定向规则
如果您使用的是更高级的托管配置,那么它很有可能由Nginx而不是Apache提供支持。在那种情况下,事情就没有那么简单了。
重定向配置因一台主机而异,您需要联系主机支持以解决重定向问题。
但是,如果您对自己的能力有信心,您可以使用以下代码在Nginx中通过为要重定向的内容创建服务器块来创建重定向:
server { listen 80; server_name domain1.com; return 301 $scheme://domain2.com$request_uri; }
在上述指令中,“return”用于URL替换。它返回重定向URL中指定的状态代码。“$scheme”变量使用原始http/https请求中的方案并返回带有新URL的301重定向代码。
另一种选择是使用:
rewrite ^/$ http://www.domain2.com permanent; rewrite ^/(.*)$ http://www.domain2.com/$1 permanent;
这可用于创建永久重定向。有关更多详细信息,您可以查看F5 Network关于创建Nginx重写规则的指南。
但是,也有WordPress插件,您可以通过它们为WordPress网站实现重定向。
在仔细研究重定向插件之前,重要的是要注意使用它们有时会导致性能问题。他们中的大多数使用wp_redirect函数,这需要额外的代码执行和资源。
使用插件创建WordPress重定向
如果您的主机没有重定向规则功能,您可能必须使用WordPress插件。有许多可用的重定向插件,Redirection是您可以使用的最受欢迎的插件之一:
WordPress插件-Redirection
这个插件非常易于使用,可以设置为使用WordPress代码、 Apache服务器上的.htaccess或Nginx服务器重定向来创建重定向。另外,它是免费的。
以下是如何开始使用重定向插件。
从插件目录下载后,您可以通过工具 > Redirection找到它:
WordPress插件Redirection欢迎页面
这将带您进入欢迎页面。单击“Start Setup” 按钮,然后按照一系列提示进行操作。完成后,您就可以开始使用它了。
如何手动添加新的重定向
您可以通过单击“Add New ”按钮手动添加新的重定向,然后将源URL和目标URL输入到相应的表单字段中,然后单击“Add Redirect ”按钮:
Redirection插件中的添加新重定向界面
仅当您只有几个URL需要重定向时,才建议使用此方法。如果您要处理整个网站的价值,我们鼓励您使用插件的URL导入功能来节省时间。
导入/导出重定向
您可以使用此插件的另一种有用方法是导入和导出重定向。例如,您可以从您的网站导出旧URL,然后在新站点上使用插件来导入列表。
为此,请在旧网站上安装并激活重定向插件。接下来,从您的WordPress管理仪表盘转到工具 > Redirection > Import/Export。
在屏幕底部的Export下,您可以将所有内容导出到CSV、Apache .htaccess、Nginx重写规则或重定向JSON文件:
WordPress插件Redirection的“导出”部分
然后,在您的新站点上安装插件后,您可以转到同一屏幕导入文件:
Redirection插件中的导入/导出界面
单击Add File按钮并选择文件。上传后,您可以在“Redirects” 选项卡下找到列出的新URL。
其他WordPress重定向插件
这不是您可以使用的唯一WordPress重定向插件。 301 Redirects是另一个流行的插件,用户在寻找配置选项的购物清单时会首选它。拥有超过80,000次活跃安装,它肯定已经过良好测试。它易于学习,具有精心设计的界面,可用于手动创建301和302重定向。
一个特别好的功能是用于选择页面、文章、媒体页面和存档页面作为重定向目标的下拉菜单。这可确保手动创建的重定向规则可以毫无问题地解决。您还可以跨重定向保留查询字符串。
小结
简单明了:如果实施不当,WordPress重定向可能会降低您的网站速度。这就是为什么值得花时间尽量减少重定向次数的原因。
您可以通过避免创建不必要的重定向并确保您的TLD解析不超过一个重定向来做到这一点。
但是,有时故意创建和使用重定向是合适的。在这种情况下,有两种方法可以解决:
- 您可以在服务器级别设置重定向。
- 使用WordPress插件(例如 Redirection)手动添加一些重定向或导入URL重定向列表。
通过将重定向的使用限制在必要的实例上并使用WordPress重定向最佳实践,您可以帮助确保访问者获得尽可能快的体验,并且您的转化率不会下降。
另外,您不必担心会损害您的SEO并失去排名!