如何配置 StackPath CDN 以获得最大的 SEO 优势

已发表: 2019-06-02

每个网站所有者都知道网站速度对于在线成功的重要性。 它不仅是一个重要的排名因素,而且它还被证明对转化率有巨大的影响,无论你想卖什么。 因此,使用 CDN 应该是轻而易举的事。

内容交付网络通过缩短站点的静态资产(图像、JS、CSS 等)与用户浏览器之间的物理距离,显着缩短了页面加载时间。 然而,许多网站所有者对采取这一举措犹豫不决,因为设置可能很困难,而且配置不当的 CDN 弊大于利。 尽管如此,重要的是您不要仅仅因为可能存在一些潜在的缺点而放弃所有好处。 如果您不习惯自己进行配置,您可以随时聘请自由开发人员为您完成配置。

在今天的文章中,我们将引导您完成 StackPath (MaxCDN) 设置,但此处解释的概念可以应用于任何 CDN。 让我们开始吧。

注意:建议您首先为一个小型测试站点进行此设置 - 最好是一个与您的实际站点具有单独域的站点 - 因此当您真正进行此设置时不会有任何意外。

创建您的帐户

如果您还没有,请在 StackPath 上创建一个帐户。 完成此操作后,将新站点添加到您的帐户。

记下您帐户中提供的“站点边缘地址”(右上角)。 我们稍后会需要它。

StackPath CDN 上的站点边缘地址

域名准备

出于 SEO 的目的,我们希望从我们自己的子域而不是 StackPath URL 提供所有静态资源。 毕竟,我们不希望 CDN 因我们的任何内容而获得荣誉。

这需要在域级别进行一些更改。 登录到您的域管理帐户并确保您能够添加ACNAME DNS 记录。 您的域提供商应该能够为您提供有关如何执行此操作的更准确信息。 您还可以检查此 StackPath 帮助文章中是否包含针对您的提供商的说明。

需要 A 记录将您的域名指向您服务器的 IP 地址。 您可能已经拥有此记录,在这种情况下,请跳至 CNAME 记录。

CNAME 记录将用于将您的子域 cdn.yourdomain.com 指向我们在第一步中获得的站点边缘地址。 添加此记录并等待足够长的时间让 DNS 传播后,您应该能够在浏览器中打开 cdn.your.com 并查看您网站的完整副本。 整洁的!

为您的子域申请 SSL 证书

StackPath 为您的子域提供免费的 SSL 证书,这是一个很好的选择,即使您的主站点还没有使用 HTTPs 协议(为什么不呢?)。 但是,如果您对此不感兴趣,则可以直接跳过此部分。

申请免费 SSL 证书:

  • 在您的 StackPath 帐户中打开该站点
  • 打开 EdgeSSL 选项卡
  • 在“请求免费 SSL 证书”部分中,单击“生成免费 SSL”按钮
  • 系统将要求您向您的域添加另一条 CNAME 记录以证明所有权。 在您的域管理帐户中添加记录
  • 一旦 DNS 更改传播,您的 SSL 证书将被安装。 对我来说,这花了几个小时。

由于 StackPath 提供了有关此过程的分步指南,因此我没有详细介绍,您可以在此处进行操作。

如果您在添加新的 CNAME 记录时遇到任何问题,您可以按照 Comodo(将颁发您的 SSL 证书的公司)的指南进行操作。

好的,现在您应该可以在 https://cdn.yourdomain.com 上访问您的站点副本。 惊奇球!

为 SEO 调整 CDN

如果你和我一样,在不同的子域上拥有整个网站的副本听起来就像一场噩梦! 幸运的是,我们可以通过以下几个简单的步骤轻松避免任何负面的 SEO 后果:

确保您的所有页面都有规范标签

您网站上的每个页面都应该有一个规范标签,以便 Google 可以判断您的内容的哪个版本是来源,哪个只是副本。 规范标签如下所示:

 <link rel="canonical" href="http://yourdomain.com" />

在 WordPress 中,您可以使用 SmartCrawl 或 Yoast SEO 等插件将规范标签添加到所有页面。

确保所有静态资源都具有 HTTP 规范标头

将规范标签添加到页面的 HTML 中很容易,但是像图像这样的静态资源呢? 您如何告诉 Google 使用特定图像的哪个版本? HTTP 规范标头就是答案。 Google 正是针对这种情况引入了这个 HTTP 标头。 在您的回复中包含它会向 Google 表明您的主站点上的版本是来源,而 CDN 上的版本只是一个副本,并且您的主站点应该获得功劳。

那么我们如何将此标头添加到 CDN 服务的所有资源中呢? 您可以通过在主站点上添加标题来做到这一点。 由于来自源站点的所有标头都由 CDN 复制,因此规范标头也将被复制过来。 要在您的源站点上添加标头,请将其添加到您的 .htaccess 文件中:

 <FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf|webp|html)(\.gz)?(\?.*)?$"> <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTPS} !=on RewriteRule .* - [E=CANONICAL:http://%{HTTP_HOST}%{REQUEST_URI},NE] RewriteCond %{HTTPS} =on RewriteRule .* - [E=CANONICAL:https://%{HTTP_HOST}%{REQUEST_URI},NE] </IfModule> <IfModule mod_headers.c> Header set Link "<%{CANONICAL}e>; rel=\"canonical\"" </IfModule> </FilesMatch>

确保 CDN 中的任何内容均未编入索引

将 CDN 上的所有内容规范化是避免重复内容处罚的好方法,但 Google 仍可能选择索引 CDN URL,这并不好。 幸运的是,StackPath 通过 EdgeRules 可以轻松避免这个问题。

在您的 StackPath 帐户中,转到 EdgeRules 选项卡,然后在屏幕底部单击“添加交付规则”按钮。

StackPath CDN 交付规则按钮

在打开的表单中,添加以下值并点击保存:

StackPath CDN noindex-follow 边缘规则

这些值基本上转换为:当打开任何 CDN URL 时,将“x-robots-tag: noindex, follow”添加到 HTTP 标头。 这将告诉 Google 您不希望将任何 CDN URL 编入索引。 您可以在这篇 MOZ 文章中找到有关 x-robots-tag 标头的更多信息。

就这样! 您的静态资源现在可以在 CDN 上使用,Google 知道每个资源的真实版本在哪里,并且不应该编制任何索引。 您仍然需要配置您的网站以使用所有 CSS、JS 和图像文件的 CDN 版本。 在 WordPress 中,这可以通过 W3 Total Cache 之类的插件来完成。