将根域重定向到子域的影响

Posted

技术标签:

【中文标题】将根域重定向到子域的影响【英文标题】:Repercussions of redirecting root domain to subdomains 【发布时间】:2019-08-01 10:04:40 【问题描述】:

假设我们有一个域

www.example.com

我们有一些针对不同国家的子域

au.example.com
us.example.com
uk.example.com
eu.example.com

这样做有什么缺点。我是从 SEO Google 的角度说的,还有其他您可能想到的吗?

问题 我们有一个客户端 JS 重定向,它根据用户的国家代码重定向用户。目前这是不可避免的,因为我们无法控制我们的后端。

如果我们将根域用于重定向(例如通过 HTACCESS)到子域的唯一目的(我会在其他地方托管并更改 A 记录以反映这一点),那么 SEO 等可能存在的缺点是什么?

【问题讨论】:

【参考方案1】:

因此,在重定向位置方面,使用子域而不是子目录需要权衡取舍。

搜索引擎优化

首先,Google 的官方 documentation 声称它会在几天后以相同的方式对待子域和子文件夹(它需要几天时间才能学会如何抓取您的子域)。但是,设置子域而不是子文件夹可能需要更多设置。最终,最大的赢家将是您最容易维护和更新的那个,因为这将允许您以其他方式优化 SEO。

安全

子域和子文件夹之间的另一个考虑因素是安全性。浏览器将子域视为独立的来源,这意味着same origin policy 将为我们带来一些额外的安全优势。具体来说,这意味着默认情况下,一个来源上的内容无法读取另一个来源上的内容,必须明确授予该批准。因此,如果您托管跨不同来源的多个服务,并且其中一个存在 Web 漏洞,那么攻击者从该域跳转到另一个域将变得更加困难。因此,您可以优先处理包含最敏感数据的域的安全工作。

使用子文件夹,如果一个页面存在 Web 漏洞,攻击者也可以轻松转向攻击其他页面。在此模型中,您网站的安全性与您最薄弱的页面一样好,而不是每个页面(子域)都有自己独立的安全模型。

子域与子文件夹的结论

根据您的示例,这些网站看起来可能具有相似的内容,但在本地化方面略有不同。如果是这种情况,并且您的网站很简单(提供静态内容或没有任何特别敏感的组件),我建议您使用子文件夹,因为它可能更容易设置。

如果您有复杂的组件(或者您将来可能会)或者每个站点都完全不同,我建议您使用子域以提高安全性。如果您不确定将来是否会拥有复杂/敏感的组件,我还建议您使用子域,因为它会谨慎行事。

一般重定向的结论

重定向通常不会对 SEO 产生影响,因为搜索引擎可以使用它来索引您的子域。但是,我会在页面上包含一个执行重定向的链接,只是为了使其对重定向要到达的搜索引擎更加明确,并帮助他们建立索引。

【讨论】:

我刚刚回到这个话题。由于您提供了最详细的信息,因此我会将其标记为答案。谢谢!【参考方案2】:

几个月前我读到了 Neil Patel 写的一篇关于这个主题的文章。据我了解,在大多数情况下,子目录比子域更适合 SEO。如果这是一个可行的选择,我会推荐它。

但是 Neil 的文章介绍了要使用的 SEO 优化技术。总体而言,它不应该对 SEO 产生太大影响,尤其是在子目录是一个选项的情况下。

搜索引擎结果偏爱子目录而不是子域

Neil Patel 文章: https://neilpatel.com/blog/international-seo

【讨论】:

【参考方案3】:

查看本指南: https://edit.co.uk/blog/seo-javascript-redirects-evidence-pass-pagerank/

在 JavaScript 中进行重定向绝对是一个“总比没有好”的解决方案,而不是任何应该推荐的方法。这意味着你要相信应该会起作用的东西,而不是肯定会起作用的东西。

在退回到最后的解决方案之前,我会确保确实没有办法先正确执行重定向。

这是一年前的一项测试,显示排名权威正在通过 JS 重定向,但请注意其中包含的所有警告(尤其是 Bing 当时根本没有处理此问题)。 https://www.branded3.com/blog/seo-javascript-redirects-evidence-pass-pagerank/

【讨论】:

以上是关于将根域重定向到子域的影响的主要内容,如果未能解决你的问题,请参考以下文章

域重定向到www时如何将www子域重定向到非www

如何使用谷歌域为 https 设置根域重定向

PHP:将主域重定向到https:// www,子域重定向到https://(不带www)

将所有子域重定向到新的根域

Cloudflare DNS - 如何将所有子域重定向到根域?

.htaccess:将主域重定向到https:// www,子域重定向到https://(不带www)