中立但有态度
不炒作不忽悠

为什么很多网站域名不加WWW

细心的网友应该会发现,越来越多的网站域名不加www了,如twitter、微博等等(包括一些非社交网络)。这个问题我琢磨过很久,从三个方面分享一下我的心得。

1、不加www的裸域名好处主要是域名更加简短、容易记忆。

裸域名只能绑定DNS的A记录,不能绑定CNAME记录。也就是说你不能把裸域设定为另外域名的别名。很多时候这对管理不是很方便,特别是使用第三方托管服务的时候。如果第三方迁移服务器导致IP地址变更,你必须自己去更改DNS的A记录。

比如你的个人博客采用Tumblr的服务,如果使用裸域,你需要手动将你域名的A地址指向Tumblr指定的IP地址。Tumblr如果迁移了机房,所有通过这种方式设定个人域名的用户都必须更改自己的DNS才能继续使用,否则服务就会中断。使用子域名的CNAME记录就相对简单很多,只需要将www子域名的CNAME字段指向domains.tumblr.com这个域名,之后如果Tumblr更改IP地址,他们只需要重新设置domains.tumblr.com这个域名的A记录,而无需要求每个用户去更改DNS记录。

这个技术上的限制导致许多大型的第三方服务商不支持使用裸域。典型的如Google的服务,现在都不能使用裸域。Google的服务用户基数大,不得不采用DNS级别的分布式,使用到的IP地址太多,而且变动大。让用户绑定A记录的话不利于负载均衡,维护起来也是几乎不可能完成的任务。同理,大部分CDN也不支持裸域。

裸域的cookie的作用范围太大。假如知乎也采用裸域,那么知乎所有cookie的作用范围就包括zhihu.com下的所有子域名。也就是说访问foo.zhihu.com和bar.zhihu.com的时候都会带上zhihu.com裸域页面设置的cookie。从安全、隐私、可扩展性、以及管理的角度而言,这对很多大型网站来说是不可接受的。

URL的正则匹配,如果带www前缀的并且以.com/.net/.org结尾的,通常成功的机会要大很多。这个你会在许多文本编辑器里面遇到。如果URL不是www开头,并且也不是三大顶级域名结尾的,匹配成功的概率就要小很多。这是使用过程中有时候会让人很抓狂的点,重不重要全看你的用途和场合了。

另外一点非技术上的考量:用www子域名的好处体现在线下的环境,比如户外广告、报纸杂志、语音广播、语音电话等使用场合,www这个前缀(不管是视觉的还是听觉的)能够很明确的提醒受众,这个信息片段是一个网站。有人会说加上http://前缀也能解决这个问题,但现在随着以Chrome/Safari为首的浏览器都开始在地址栏里隐藏http://协议前缀了,普通用户对于http://这几个字符的理解会越来越模糊,所以如果是线下的话,保留www这个visual/vocalcue还是有一定意义的。

总的来说对于大访问量或多子域名的网站来说,不建议使用裸域。小流量或子域名少的网站的话就看个人爱好了。我挺喜欢裸域的。最近几年流行起来的「单页网页应用」(SinglePageWebApp)也是以采用裸域的居多,Twitter算是一例。

2、去掉www是否会影响网站的SEO(主要是排名和收录)?(前提是过去有加www)

早先裸域刚开始流行的时候确实有传闻说不利于SEO,但现在看来似乎并无任何问题。如果有的话也是搜索引擎的bug,给他们提一下他们应该会很乐意去改。Google的站长工具里面有工具可以帮助你做URL迁移的,可以有效的解决这个问题,再配合下一部分的跳转,不用担心对SEO有任何负面影响。

3、用什么方式去跳转最好?(如301)

不管你决定使用还是不使用裸域,最好不要在同时保留www和非www前缀的URL,这样既不方便用户的浏览器区分访问历史,也会对你做访问统计带来不少麻烦。最佳的方式是采用301跳转,并且跳转的时候保留URL里域名后的全部内容。比如,如果你决定使用裸域http://example.com,那么请务必将

http://www.example.com/foo/bar?spam=egg

301跳转到

http://example.com/foo/bar?spam=egg

去。或者反过来,如果你决定不使用裸域,那么请务必将

http://example.com/foo/bar?spam=egg

301跳转到

http://www.example.com/foo/bar?spam=egg

这样的跳转需要在web服务器里单独配置,很多DNS管理界面提供的简单的跳转到新域名的根目录无法实现这样的功能(仅仅跳到http://example.com/),对用户体验和搜索引擎SEO而言都是非常糟糕的。

下面给出如何在nginx里面实现上述的跳转:

  #redirecthttp://www.example.comtohttp://example.com
  server{
  server_namewww.example.com;
  rewrite^/(.*)http://example.com/$1permanent;
  }
  #redirecthttp://example.comtohttp://www.example.com
  server{
  server_nameexample.com;
  rewrite^/(.*)http://www.example.com/$1permanent;
  }

赞(0) 打赏
转载请注明来源:米米地域名 » 为什么很多网站域名不加WWW

评论 2

  1. #1

    还是用上吧,不带上感觉不像个网址,呵呵

    老妖互联网博客11年前 (2012-12-15)回复
    • 是的,绝大部分的url都是加上www的,除非有特殊用途或原因,要不然,遵循习惯是最好的选择。

      小米11年前 (2012-12-16)回复

中立但有态度 不炒作 不忽悠

联系我们爆料投稿

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册