301重定向最佳实践 - 将多个网站重定向到单个网站

12

我有大约15个站点,我们想要放弃这些站点并将它们合并为一个站点(在新站点中为每个站点创建页面)。

这15个站点的域名应该如下重定向到一个站点:

a.com -> z.com/a
b.com -> z.com/b
c.com -> z.com/c
.. 

此外,我们希望从旧域名逐页地将页面重定向(301)到新域名,以保持页面的排名:

 a.com/about-us     -> z.com/a/about-us
 b.com/about/abouus -> z.com/b/about-s
 c.com/contactus    -> z.com/c/contact-us

15个站点中的每一个都在不同的平台上运行,而新服务器是IIS。

目前,我正在考虑两种方法:

  1. 将旧的DNS记录指向z.com的新服务器,并在服务器上处理所有重定向。

  2. 保留旧站点,并在每个服务器上配置重定向规则,将每个页面重定向到新站点上相应的页面。

哪种方式更好?还有其他选择吗?到目前为止,我认为第一种方法更好,因为我们可以在一个地方控制所有重定向,但从性能的角度来看,它是否会给服务器增加更多的负担呢?

5个回答

7

情境

您创建了一个新站点,希望将所有旧站点(15+)重定向到新站点(每个页面都对应一个新页面)。

所有旧站点在不同平台的自己的服务器上运行,而新站点是IIS。

您的选择

  1. 将旧DNS记录指向z.com的新服务器,并在服务器上处理所有重定向。

优点


  • 成本较低-您可以删除所有旧站点并节省服务器成本。
  • 内部重定向。所以时间会更少。

缺点


  • 执行复杂
  • 注意类似页面的冲突(双重检查重定向路径)

  1. 保留旧站点,并在每个服务器上配置重定向规则,将每个页面重定向到新站点上匹配的页面

如果您能承担在15个服务器上运行15个不同站点的成本以进行重定向,则只需使用此方法。

这只是浪费金钱,重定向时间会更长。


6

我认为最终你将不得不关闭所有其他网站,因为从长远来看,保持15个网站的运行仅用于重定向是没有意义的。

所以我的理解是问题实际上是关于如何更好地组织短期内向新系统迁移的。以下是我的想法:

你的系统有多大

  • 你的QPS是多少?
  • 你在你的站点群中有多少页面?
  • 你需要重新映射相当数量的页面的URL吗?
  • 迁移过程是什么?你会逐个切换你的网站还是它在技术上不可行,需要同时切换所有网站?

如果我们谈论处理10 QPS和1K页面或处理50K QPS且具有10亿个页面的系统,我们需要动态重新映射系统负载可能是一个问题,而第二个方案可能更好。

回滚

请注意,DNS记录可以被中间服务器缓存,如果出现问题需要快速回滚到以前的版本,这可能会成为一个问题。

你有哪些系统

是否真的能够轻松地从15个不同的系统中提取URL并将它们放到一个单一的点上而不会丢失有价值的内容?

易维护性

乍一看,第一个方案从维护的角度来看更容易,但我不知道你使用的是什么系统以及重定向规则需要多复杂。如果它们是像a.com/product.php?id=1 => z.com/a/iPhone6S 这样的复杂动态规则,将数百万个这样的URL移动到单一点可能会很棘手。

SEO

我没有密切关注该行业,但几年前两者都可以正常工作。我认为值得咨询那些与这个行业保持最新的人 - 它变化非常迅速。


5

你的第一种方法绝对是最好的选择。

  1. 它易于维护。
  2. 你不需要保留旧的基础架构(尽管在第二种情况下,你只需要保留像Apache、Nginx或Lighthttpd这样的重定向前端)。
  3. 没有性能风险,因为从一个访问者请求到旧位置,重定向响应,然后请求新位置将依次进行,而不是同时进行。

一个10行的NodeJS脚本足以重定向xD,无需完整的Web服务器。 - Kulvar
谢谢您的建议。问题是,如果我使用DNS重定向,我能否将a.com/重定向到z.com/a/?这将是一个DNS转发,而不是更改DNS记录的IP地址,对吧?此外,重定向将在z.com服务器上具有复杂的逻辑。 - Ahmad Harb
@AhmadHarb DNS只能影响服务器名称解析,无法重定向到子文件夹,例如z.com/a。因此,您需要拥有一个Web服务,该服务可以回答a.com请求,并将其301重定向到z.com/a。 因此,这是一个HTTP重定向。 - Alexander Ushakov

2
DNS记录无法进行HTTP重定向,而这对于SEO至关重要。为确保您的重定向是301 HTTP重定向,您可以使用sniffer
答案就是确保您的重定向是301 HTTP重定向,这样您就可以正确地进行SEO。除此之外,这只是品味/架构/资金而不是标准的问题。
更新:
阅读更多:
  • wikipedia

    必应和谷歌都推荐使用301重定向来修改页面的URL,以便在搜索引擎结果中显示。

  • ehow.com

    301重定向是一种搜索引擎友好的方式来移动域名。301重定向的域名不会在搜索引擎中产生重复内容,因此不会损害您的搜索引擎排名。要使用新的DNS设置获得新的域名,但它不会重定向浏览器或搜索引擎。这两种方法都用于移动到新域。

  • webmasters.stackexchange.com

    重复内容是指相同的内容在两个不同的URL上可用。为了防止在www与非www上出现重复内容,可以使用301重定向将其中一个重定向到另一个。要实现重定向,需要正确配置Web服务器。只要DNS指向Web服务器(无论是CNAME还是A记录),就可以正确配置Web服务器。


0

几个月前,我遇到了这个问题。我想将整个网站重定向到一个新网站的结构中。旧网站是 .php 格式的,而我对此一无所知。

我想到了将旧网站的 DNS 指向我的服务器,并编写一些 MVC 代码来捕获每个请求,然后使用一组规则,利用 vb.net 的 Like 运算符将入站 Url 与我的规则集进行比较。

它非常有效。我使用大约 10 条规则将 300 多个页面重定向到我的新网站。这些规则包括更改文件夹结构、论坛(主要是垃圾,但也有一些好问题),以及我实现了一个“万能”规则,指向新的主页,以防我漏掉了什么。

它运行得非常好,我将其打包成了一个商业产品,并公开发布。在目标站点上添加链接即可免费使用(在您的情况下只需添加单个目标站点的链接)。

https://301redirect.website/

主页上有几个演示视频,可以在几分钟内解释设置过程。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接