
〈延伸阅读: 企业B2B网站SEO要怎么执行?〉
〈延伸阅读: SEO入门知识,简单说让你听得懂〉
CDN 是什么?
CDN 的英语是 Content Delivery Network,简称 CDN,中文翻译是「内容传递网路」。假设网站在台湾主机,那么全世界要连线这个网站,必须经过海底电缆连线到台湾,因为距离很远所以连线速度会很慢,CDN 就是将在台湾的源头伺服器(Origin Server)档案,利用缓存技术放到全世界节点上,美国使用者要连网站就会到美国节点读取网站资料,法国使用者就到法国节点读取,透过CDN可以到离使用者最近 CDN 节点(CDN POP),不需要到处建置主机,只要用CDN就可以让全世界读取网站都很快。
Google CDN 全世界节点

【图片来源:https://cloud.google.com 】
CDN 是怎么运作的?
CDN 运作方式主要是以「网站快取」、「动态加速」、「边缘运算」这三种运作模式,将网站内容快速传递到全世界的 CDN 节点(CDN POP)。
网站快取
这是 CDN 最基本的内容传递方式,是把源头网站的静态资料复制并缓存到全世界的 CDN 节点上(CDN POP),CDN会把第一次连线网站的静态档案复制一份缓存到节点主机上,下一次有人要连线网站,就会从CDN节点去快取网站的静态资料,包括HTML 、CSS、Javascript、图片、视讯。
CDN 缓存资料的模式

动态加速
CDN 网站快取是抓原始网站的静态资料,CDN 缓存到的静态资料是无法处理动态请求的,像「读取资料库」就是一个动态请求,每个使用者的动态请求都不一样,所以必须去连线源头主机(Origin Server),因为连线源头网站速度较慢所以必须进行「动态加速」,动态加速的优化方法有「智慧路由最佳化」、「TCP最佳化」、「物件预先撷取」。
边缘运算
边缘伺服器(Edge Server)进行的运算就叫做「边缘运算(Edge Computing)」,源头伺服器(Origin Server) 通常只有一台,如果所有 CDN 后端请求都是连回源头伺服器进行运算,当有大量运算或是被攻击的时候,主机就会被塞爆,如果使用CDN大量边缘伺服器帮忙运算后传给使用者,就能缓解源头主机的负载,减少传输延迟和网路频宽使用,加速用户服务的反应速度,边缘运算和云端运算(源主机)属于互补彼此不冲突。
使用 CDN 有哪些优点?
改善网站速度
改善全世界的使用者连网站的速度是 CDN 最重要的好处,大多数网站速度慢都是因为图档、影片、档案的传输慢,CDN 会自动判断使用者位置发配到速度最快的边缘伺服器,让使用者载入网站时间变短,网站快就可以增加停留网站时间,避免因无法等待而离开网站。
提升网站安全性
CDN 使用大量边缘伺服器的内容传递技术,可以隐藏源头伺服器(Origin Server)的真实位置(IP),可避免骇客入侵或是被分散式阻断服务(DDoS)攻击,有些 CDN 提供应用程式防火墙 (WAF)、免费 SSL/TLS,都可以让 CDN 提升网站安全性。节省网站成本
CDN 是由大量分散的边缘伺服器组成,所以使用频宽会分散在各地,源主机本身的频宽跟负载并不会太多,可以有效省下主机的频宽与硬体配置费用,当然大部分CDN是以快取使用频宽计费,CDN整体来说还是比自架主机延伸的费用低上不少。
网站更可靠
单一主机故障,无论是硬体还是网路故障,网站就是连不上了,如果使用CDN就没有这个问题,因为CDN有一大堆的主机跟网路分布,有故障的主机硬体或是网路断线都可以马上接替,所以不会有中断服务得问题,CDN 对于风险的承载能力是比单一主机好的。
CDN 可以取代网站吗?
CDN 只是帮助将主机上的内容传递出去,是无法取代原始主机功用的,因为传统主机无法让全世界连网站速度都很快、无法避开 DDOS 攻击、无法节省频宽使用、无法达到服务不中断,以上都是种种缺点所以使用CDN服务,但是CDN必须去源头伺服器(Origin Server)抓取资料缓存到边缘伺服器(Edge Server),所以原始主机的网站必须要存在才能使用CDN。
CDN 对 SEO 有什么帮助?
如果你希望透过SEO做全世界的生意,那你一定要使用 CDN,因为在同样的网站条件之下,Google会优先让当地网站的关键字排在前头,所以必须要用CDN让网站具备「当地讯号」,因为IP是附近边缘伺服器的IP,可以具备当地讯号,当然 SEO 还有语系、架构、内容、连结的优化要做,但 CDN 对国际 SEO 来说还是很重要的。〈延伸阅读: SEO是什么? 简单说让你听得懂〉
常见的 CDN 服务
有几家常用的 CDN,像是Akamai、Google Cloud CDN、Amazon CloudFront、Cloudflare,台湾的HiCloud、台湾固网、远传都有CDN,大陆阿里云、腾讯云、网速科技、ChinaCache,每家的计费方式都不太一样,大部分都是依照资料快取的流量去计费,Cloudflare 则是依照通功能按月收费,并且提供免费的 CDN 版本,Cloudflare速度要快还是付费版本会比较好。
CDN 节点是不是越多越好?
CDN 并不是越多越好要看网站的需求,例如网站只想在台湾营运,那么网站根本就不需要采用CDN,使用了CDN反而还会让网站变慢、影响SEO成效,如果网站只需要在亚洲运行,采用了全世界CDN节点反而会因为节点过多而降低「缓存命中率」,让第一次的缓存次数变多,而无法得到快取的速度。
3 家 CDN 速度比较
价格因素,舍去较贵的 Akamai,我们用一模一样的网站设定到三家CDN,CDN 包含:Google Cloud CDN、Amazon CloudFront、Cloudflare,然后用 dotcom-tools 在全世界的节点测试速度,不是绝对正确但可以参考看看,以下是我们的测试结果,以 Amazon CloudFront 最快(平均1.68秒),付费 Cloudflare 次之(平均3.15秒),然后是 Google Cloud CDN (平均3.8秒),最后是免费的 Cloudflare 速度最慢 (平均 5.53秒),Cloudflare 付钱跟没付钱还是有差的,付费 Cloudflare 跟 Google CDN 差不多,CDN整体速度由快到慢是 Amazon CloudFront < Cloudflare < Google Cloud CDN < Cloudflare(免费) 。
CDN 速度比较结果

Amazon CloudFront 测试结果(平均 2.26秒)

Google Cloud CDN 测试结果 (平均3.8秒)

付费 Cloudflare 测试结果 (平均3.15秒)

免费 Cloudflare 测试结果 (平均5.53秒)

CDN 的计费方式
Amazon CloudFront 跟 Google Cloud CDN 是以流量计费,Cloudflare 则是固定费用, Amazon CloudFront 前 1T 是免费传输,CDN 整体费用由便宜到贵 Cloudflare < Amazon CloudFront < Google Cloud CDN < Akamai ,最后还是要以各原网站费用为准,仅供参考。
Amazon CloudFront 计费方式
Amazon 计费网址:https://aws.amazon.com/tw/cloudfront/pricing/
网站如果放在Amazon的主机,无论是S3、EC2、Elastic Load Balacer ...,撷取网站资料到 CDN 节点都是免费的,从CDN节点出去的费用以流量计价,各地区CDN费用不同,前10T是比较贵的,用越多单G的费用越低,而且每月的1T是免费的,HTTP 或 HTTPS 请求前1000万也是免费的。
从CDN节点出去的流量费
从CDN向原始网站传资料或是HTTP请求的费用

从CDN传出去的前1T、1000万HTTP请求是免费的

Google Cloud CDN 计费方式
Cloud CDN 订价网址:https://cloud.google.com/cdn/pricing?hl=zh-tw
费用线上计算工具:CDN 费用试算工具
Google的计费方式跟Amazon差不多,一样是三个费用,一个是CDN节点出去的流量,一个是CDN跟原始网站拿资料来更新(填补)资料的流量,第三个费用就是HTTP要求数的费用,跟Amazon一样是 每10,000次计费, 没有看到有跟Amazon一样的免费额度条件,Google的流量计价费用低于Amazon。
Google CDN 出去到客户端的流量费
Google CDN 向原始网站要求更新网站的流量
Google CDN 的 HTTP 请求计费
Cloudflare 计费方式
Cloudflare 订价网址:https://www.cloudflare.com/zh-tw/plans/
Cloudflare有CDN的免费方案,费用可以月计费或年计费,年计费比较划算,免费的速度经过测试是比较慢的,真的需要CDN还是建议付费,Cloudflare 跟Amazon、Google用多少付多少不一样,是一个固定收费,如果CDN用量大,还是可以考虑使用 Cloudflare,如果需要更多的功能可以参考 Cloudflare 网站。
Cloudflare 分成四种计费方案
Amazon CDN、Google CDN、Cloudflare 费用比较
比对各地区的CDN 流入费、流出费、HTTP请求费,Google 比 Amazon 便宜,但如果加上 Amazon 免费额度(1T),那 Amazon 初期低流量(10T)时是稍微比Google便宜,Cloudflare是固定费用肯定最便宜。
CDN三个费用的比较,每GB以美金计价
项目 | Amazon CDN | Google CDN | Amazon 10T | Google 10T | Cloudflare |
---|---|---|---|---|---|
CDN流出(每GB) | 美洲 0.085 欧洲 0.085 大洋洲 0.114 |
美洲 0.08 欧洲 0.08 大洋洲 0.11 |
美洲 765 US | 美洲 800 US | 240 US |
填补CDN(每GB) | 美洲 0.02 欧洲 0.02 大洋洲 0.08 |
美洲 0.01 欧洲 0.01 大洋洲 0.02 |
20 US | 10 US | -- |
HTTP请求 | HTTP 0.0075 HTTPS 0.01 |
HTTP 0.0075 HTTPS 0.0075 |
免费 | 750 US (10万次) |
-- |
(制表: 达文西数位科技)
结论
网站要走向全世界使用CDN是最佳方案,大型国际公司也是采用CDN技术让速度最佳化,像是Youtube、Netfilex、Facebook、Wix…都是靠着CDN让全世界连线都很顺,如果网站要做全世界的SEO,就要把网站放到国际节点上,也就是要采用CDN服务,再搭配网站的多国语系,就能参加全世界地区的关键字排名,SEO顾问、CDN、多语系网站就是达到国际SEO的三个基本要件。以费用来说Cloudflare最便宜,但是速度还是Amazon比较快,高流量Google费用低于Amazon,低流量因为 Amazon CDN 每月有免费额度所以低于Google CDN,Google CDN 速度未来也许会迎头赶上,以现在的条件来看,流量不大的网站,便宜可以选Cloudflare,速度要快选 Amazon CDN。〈延伸阅读: 网页设计公司不会告诉你的5个真相〉
(本文为达文西数位科技所有,转载文图请注明出处)