* { 图片通过}
使用内容分发网络(CDN)可以提供更快的页面和资源加载以及更少的停机时间,从而提供更好的用户体验。它还可以为在线业务节省大量资金,并最大程度地减少来自 DoS攻击.
但是,可以理解的是,许多SEO在发现自己所负责的网站将开始在其他域上托管其图像和其他类型的内容时会感到担忧。我想分享四个使用CDN的SEO最佳做法,这些最佳做法应该可以使您从CDN中受益,而又不会失去来自Google Image Search和其他地方的所有流量。
提示1 –使用您自己的子域
设置 CNAME 因此CDN位于您自己网站(例如cdn.yoursite.com)的子域中。这比使用CDN(例如yourdomain.CDNCompany.com)托管更好。如果这听起来让您感到困惑,只需确保询问CDN公司,您是否可以在自己的子域(而不是其中一个子域)中提供该服务。我认为大多数服务都可以通过这种方式设置。一些服务,例如 CloudFlare,表现得更像 反向代理 对于您的整个域,因此无论如何都不会真正更改URL。
提示2 –保留文件名和路径
保持与CDN之前相同的文件命名约定。例如,如果图片位于 www.yoursite.com/images/image1.jpg 然后您转到一个将其重命名的CDN asset.yourdomain.com/images/000123.jpg 或更改文件夹结构(例如 asset.yourdomain.com/assets/image1.jpg),如果未重定向旧网址,则可能会遇到一些问题。 那就是那个家伙发生的事情。如果文件的CDN之前路径位于 www.yoursite.com/images/image1.jpg 您希望文件位于此处: cdn.yoursite.com/images/image1.jpg.
提示3 –在GWT中设置CDN
您应该在以下位置设置并验证您的CDN子域 Google网站管理员工具 和 Bing网站管理员工具。这使您可以做几件事。首先,如果您担心CDN的IP地址不在目标国家/地区,则可以在GWT中设置地理目标。它还可以让您在需要时使用URL删除工具。
提示4 –在CDN托管页面上使用Rel Canonical
通常,站点只在内容交付网络上托管或缓存“资源”,如CSS,图像,JavaScript和视频文件。但是,如果您要在CDN上托管完整的网页,那么如果您不使用 rel规范标签。请确保使用绝对路径(而不是“相对”路径),以免产生相同的结果 麻烦Moz.com 去年有一段时间。这些天,他们对问题的处理方式有所不同。这是如何做 凯西·亨利(Casey Henry) (然后是Moz.com的入站工程总监)在一封电子邮件中对此进行了解释:
好吧,当亚马逊为存在重复内容问题的页面引入CDN时,我们发现了困难的方法。因此,我们采取了以下步骤来阻止这种情况的发生:
Moz.com的每个页面视图都通过我们的CMS运行,因此我们寻找Cloudfront用户代理并抛出404。由于Amazon不会缓存404,因此Cloudfront中仅我们的图像没有重复的页面。图片不会通过CMS,因此不会被阻止,并且无法通过CDN正常运行。
将其放置到位后,我们必须使所有缓存的页面无效,然后请求将其从Google中删除。
亚马逊的Cloudfront用户代理为“ Amazon CloudFront”。
如您所见,针对在CDN子域上建立索引的重复内容问题的解决方案,范围从相对简单的rel规范标签到一些非常聪明的开发人员所采用的复杂过程。总体而言, 使用CDN对于SEO应该是安全的 甚至可以提高您的页面加载速度,这可能会对排名产生积极影响。 只要遵循最佳做法,就可以了。 这里还有一些其他资源可供查看...
热门内容交付网络
赤舞
亚马逊CloudFront
边缘广播
CloudFlare
3级
其他有用的文章
什么是CDN信息图表 在 WPBeginner.com
Google on 内容交付网络& Search Rankings 作者:巴里·史瓦兹(Barry Schwartz)在SEL
Google提供的有关CDN内容的更多提示 作者:巴里·史瓦兹(Barry Schwartz)在SEL
如何Does Google Treat Sites Behind a CDN 在Google产品论坛上
CDN的实际性能比较 by Dirk Paessler
使用没有SEO问题的Amazon S3 由Barry Schwartz在RustyBrick.com上
在WordPress中设置CDN 由Martin Brinkman在Ghacks.net上
组播与单播流 (以上图片的信用)
Great post, Everett!
我为CDN(CDNetworks)工作,我们经常会遇到您列出的问题。如您所指出的,其中大多数并不是真正的问题,因为大多数CDN确实提供了各种配置来解决常见的路由和CName问题。
我如何知道我是否在CDN上托管完整的网页?