当您重新设计网站或更新旧内容时,可能会更改URL结构。而且,如果您不遵循WordPress重定向最佳做法,则可能会对用户体验(UX)和搜索引擎优化(SEO)产生负面影响。
核心平台中内置的WordPress重定向功能旨在捕获错误的URL。就是说:当请求了错误的URL时,WordPress会尝试找到正确的URL,并会重定向访问者。
在这篇文章中,我们将解释WordPress重定向的重要性以及它们如何影响页面速度,当然还有SEO。我们还将讨论如何最大程度地减少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通常可以正确解析。
但是,所有这些自动重定向也都有缺点。
更改网址结构时,您需要遵循以下重定向最佳做法…否则可能会影响SEO和UX的风险❌?
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编制索引,同时从索引中删除旧的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年,这是一篇不错的文章,但在2020年寻求“ WordPress的新功能”的搜索者需要更新的信息。您想让那些读者感到高兴,所以您撰写了一篇有关即将发布的WordPress版本中包含的功能的新文章。
在这种情况下,从旧帖子到新帖子的重定向是完全可以接受和适当的。此外,在这种情况下,重定向是一种很好的SEO做法。归因于旧帖子的链接链接将被传递到您的新帖子,从而使其在搜索引擎中立即具有分量。
有几种适合进行重定向的方案,包括:
- 您已经发布了更新的内容,并希望引导访问者远离旧版本。
- 您已经彻底改革了网站的永久链接结构,并且需要将旧的URL重定向到其新结构。
- 您正在更新已发布的页面或帖子,并希望在进行更新时将流量暂时重定向到其他帖子或页面。
何时不重定向
在上述所有情况下,都必须 进行重定向,才能将访问者从过时的内容和损坏的URL发送到更新的内容。当更新特定内容时,它们也可以作为临时措施使用。
因此,什么时候不适合使用WordPress重定向?例如,如果您使用不包含“ www”的URL 构建了自定义菜单,但是您的站点URL确实使用URL前面的“ www”子域进行了解析,那么您就错了。
在这种情况下使用重定向是不合适的,并且会损害网站的速度 和SEO。
如何在WordPress中最小化重定向
如果您对最小化WordPress中的重定向的想法很满意,则需要做两件事。
1.切勿创建不必要的重定向
要记住的第一件事是永远不要故意创建不必要的重定向。例如,构建内部链接和菜单时不应创建重定向。
如果您习惯于懒惰地键入URL的习惯,那么最好重新考虑您的工作方式。相反,在创建URL时,请确保您:
- 使用正确的协议前缀(HTTP或HTTPS)。
- 根据需要包括或排除“ www”子域。
- 不要在链接中使用帖子和页面ID。
- 包括页面或帖子的完整路径。
如果您不小心创建了错误的URL,则WordPress内置的重定向功能应该是一种备用。通常,对于惰性URL编写来说,这不是一个非常可靠的解决方案。
2.确保您的顶级域(TLD)只需不超过一个重定向即可解析
要最大程度地减少WordPress重定向的发生,您可以做的第二件事是确保您的顶级域(TLD) 可以通过不超过一个的重定向来解析。您的目标是确保访问者在TLD之前抛出的协议前缀和子域的任何组合,都可以通过一个或更少的重定向来访问正确的URL。
让我们来看一个例子。以下所有URL都应使用不超过一个重定向的方式解析到TLD,并且其中之一应不进行重定向而解析:
- http://example.com
- http://www.example.com
- https://example.com
- https://www.example.com
如果不确定使用协议前缀和子域的那些不同组合来解析站点的URL需要多少重定向,则可以使用Patrick Sexton的Redirect映射器进行检查:
重定向映射器工具
以下是使用此重定向映射器可以轻松发现未正确设置的重定向的示例:
重定向设置不正确
您会看到在域的“ www”版本中发生重复的重定向。相反,这是正确设置重定向的示例:
重定向设置正确
如您所见,“ www”和“ no www”都只发生一次重定向。
如果您确实发现其中一些组合无法解决(返回404服务器状态代码)或需要多个重定向来解决,那么是时候开始工作了。
在服务器级别设置重定向
设置WordPress重定向的一种方法是向服务器添加一个或多个重定向规则。这样可以确保访问者尽快以正确的网站网址格式着陆。
您要实现的基本目标是创建重定向规则,该规则针对需要多个重定向的所有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,可以使用以下命令:
<IfModule mod_rewrite.c>
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]
</IfModule>
请记住,在执行此操作之前,重要的是要确保 在新的WordPress网站上正确配置了SSL证书。
Nginx中的重定向规则
如果您使用的是更高级的托管配置,则很有可能由Nginx 而非Apache驱动。在那种情况下,事情就不那么简单了。
如果您是Kinsta用户,请随时跳到下一部分。
重定向配置因主机而异,因此您需要与主机支持联系以解决重定向问题。
但是,如果您对自己的能力充满信心,则可以使用以下代码通过为要重定向的内容创建服务器块来在Nginx中创建重定向:
server {
listen 80;
server_name domain1.com;
return 301 $scheme://domain2.com$request_uri;
}
在上述指令中,“ return”用于URL替换。它返回在重定向URL中指定的状态代码。“ $ scheme”变量使用原始http / https请求中的方案,并返回带有新URL的301重定向代码。
另一种选择是使用:
遇到停机和WordPress问题吗?Kinsta是旨在节省您时间的托管解决方案!查看我们的功能