www 子域是好的做法吗?

Posted

技术标签:

【中文标题】www 子域是好的做法吗?【英文标题】:Is the www subdomain good practice? 【发布时间】:2012-06-30 02:29:18 【问题描述】:

我知道将您的网站完全保留为“http://www”或 http:// 是一种很好的做法,而且我也知道 www 只是一个子域。

我的主要问题是其中哪一个是最佳选择?我现在正在为我的一台服务器配置 htaccess,并且无法决定将所有流量重定向到 www 子域。 (顺便说一句,我知道该怎么做。)

这只是一个最佳实践问题。我看到像谷歌和亚马逊这样的大公司都转发到 www 子域,但对我来说这听起来没有必要——我不想错过任何东西。

谢谢!

【问题讨论】:

关于为什么***.com 没有 www 的问题可能很有趣 - 它还链接到其他资源。 这个问题可能更适合网站管理员堆栈交换。 ...这个问题is a duplicate. 【参考方案1】:

我的投票显然是反对万维网。除了这四个字节(www.)随着每个请求/答案来回传递(每个字节都很重要,对吗?)这一事实。我的客户对此很满意!

当有人问到要在名片或信笺上打印时:“如果它不以 www 开头,人们会知道它是一个 Internet 地址吗?”我告诉他们继续打印 www,去掉第一个点!

在印刷纸上,我看到我的客户写下了所有这些。但是,现在大多数客户更喜欢第一种格式来模仿 CNN.COM:

    www example.com www:example.com 网站:example.com 互联网:example.com

然后,如果人们使用或不使用点,它会在正确的地址结束(没有所有那些额外的字节!)

显然,越来越多的人正在关注 CNN.COM,并且大多数网站都不再使用 www。

我从No WWW, Better SEO 使用的简单解决方案是使用以下内容启动每个 .htaccess:

RewriteEngine On
RewriteBase /

# FROM www. --TO-- NO www.
RewriteCond %HTTP_HOST ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

这只是一个简单的剪切和粘贴。这是我在数百个站点和域上拥有的每个 .htaccess 的第一件事。

编辑 2014/04/22

使用子域的原因:Cookies

使用子域(如 www,但不总是 www)有一个考虑因素,那就是 cookie。

如果您为一个域分配一个 cookie,它可能对所有子域都可用(至少在没有非常仔细的情况下!)。

例如:

example.com cookie 可用于 philippines.example.com

鉴于:

www.example.com cookie 或 earth.example.com 可用于 philippines.example.com

更好的计划是将所有内容都放在一个逻辑子域上,并将裸域指向其中一个...

例如:

earth.example.com canada.example.com philippines.example.com usa.example.com

您将删除所有 www。从 www.usa.example.com 等域并将 example.com 重定向到 earth.example.com(或 web.example.com、main.example.com 或 w.example.com!) .

这样每个子域都可以共享 example.com 的 cookies 并且也可以拥有自己的 cookie!

当然,大多数网站不使用多个子域,因此与 cookie 没有冲突,完全没有理由使用 www。

编辑 2017/12/12 - 静态内容

使用子域的原因:静态内容

我没有提到的一件事是无 Cookie 静态内容。像许多大型网站一样,我为此使用了一个单独的域。

Cookie 网站域

example-1.com

无 Cookie 静态内容。

static-example.com -

如果您有很多网站,您可以为静态内容设置一个。

Cookie 网站:

    plant-only.org vekind.org fyuel.org tait.asia

无 Cookie 静态内容的域。

my-static-content.info
    plant-only.my-static-content.info - 适用于 plant-only.org vekind.my-static-content.info - 用于 vekind.org fyuel.my-static-content.info - fyuel.org tait.my-static-content.info - 用于 tait.asia

使用子域的原因:绿色网站

不使用 www 的另一个原因。是“绿色”原因还是碳足迹。在一切平等的情况下... - www.example.com 的碳足迹大于 - w.example.com 仍然大于 -example.com

如果有人关心他们的碳足迹,或者如果一个网站声称是“绿色”的,那么他们不应该使用“www”。在他们的网站地址中,因为这四个字符会增加他们在传输域名时的碳足迹(尽管数量非常少!)。

摆脱“www”,让网站证明它们是真正的绿色环保网站。在他们的领域!

使用子域的原因:心理

使用“www”的另一个原因。是编写代码的“心理”方面。大多数程序员从裸网站的角度来思考。例如,我正在为一个名为 AngBarato.Com 的网站(它在菲律宾语中的意思是“廉价 .com”,是一个买卖网站)进行 SEO。大约一半的链接指向 www.angbarato.com 页面,一半指向 angbarato.com 页面。编码员的意图是使用“www.”,但有一半的时间他写的域没有“www.”。

我说服他这些错误很难发现和处理。例如,使用文本编辑器 Geany,我们搜索了 angbarato.com。当然,所有链接都出现了(有些带有“www.”,有些没有“www.”)。另一方面,做一个替换“www”。 for "" 立即修复所有链接(和 SEO)!

查找“www.”并将其删除,比在哪里查找“www.”更容易调试。 不存在,并快速添加“www”。到每一个缺失的环节!如果有像 www.usa.angbarato.com 这样的子域,那就更糟了。

【讨论】:

静态内容 - 我没有提到的一件事是无 Cookie 静态内容。像许多大网站一样,我为此使用了一个单独的域。 example-1.com - Cookie 网站域 static-example.com - 无 Cookie 静态内容。如果您有许多站点,则可以为静态内容设置一个。 Cookie 站点:plant-only.org vekind.org fyuel.org tait.asia my-static-content.info - 无 Cookie 静态内容。 plant-only.my-static-content.info vekind.my-static-content.info fyuel.my-static-content.info tait.my-static-content.info【参考方案2】:

底线;这并不重要,只要两者都仍然可以访问。

我倾向于删除 www。大多数时候,因为从技术上讲它不再需要。

但是,对于较短的域名,请添加 www。有时使它在视觉上看起来更好。有点像室内设计,你需要有奇数个项目。例如www.xyzjk.com 看起来很对称,有 3 对字符(奇数)。我想这就是为什么 google 使用 www.google.com 而不是 google.com

另一件事是,在某些 CMS 或论坛中,网址必须以 http://www. 开头才能转换为可点击的超链接。因此,为了可能获得一些额外的传入链接,您可能更喜欢 www。

【讨论】:

【参考方案3】:

除非您打算将您的网站置于证书后面,否则我建议您让两个主机都可以访问。

【讨论】:

我计划这样做,但一个人会简单地对另一个人做一个 301 - IE 你去 www.example.com/index 将 301 到example.com/index。对于 cookie 等,最好保持所有内容相同。 在这种情况下,您只要从两者中获取流量并重定向到其中一个,就可以了。我重定向到 www,但这纯粹是偏好,不应该有任何负面影响。【参考方案4】:

有趣的是,我去年花了太多时间为我的一个公司网站研究这个。我得出的结论是,只要您将一个重定向到另一个(用户可以在任一版本中找到您)都没有关系。在过去的 10 年里,我一直使用 www 子域。从去年开始,我所有的新项目都没有它,因为它是不必要的——也可以保存 4 个字符。

【讨论】:

应该注意:重要的是要保持一致,并将其称为规范版本。如果您不一致,它真的会搞砸 Google 如何索引您的网站。 旁注:如果您的网站非常大并且使用 cookie,则可能需要考虑一些因素,因为您可能希望为子域发送一些 cookie,而不是在 www 子域上发送,反之亦然 我认为这只是一个偏好问题。感谢您的确认!

以上是关于www 子域是好的做法吗?的主要内容,如果未能解决你的问题,请参考以下文章

Utils文件是好的做法吗? [关闭]

在同一个线程中多次锁定 CCriticalSection 是好的做法吗?

不使用约束是好的做法,或者至少不是坏做法

为啥从 main() 显式返回 0 被认为是好的做法? [复制]

Tailwind CSS 还是 Bootstrap?哪个被认为是好的做法? [关闭]

在抽象类中公开静态方法被认为是好还是坏的做法[关闭]