如果要将WordPress网站从一个虚拟主机迁移到另一个虚拟主机,并且当前正在使用具有内容传送网络(CDN)的缓存插件,请小心,因为移动过程可能不会像您想象的那样顺利
本文适用于那些对WordPress足够熟悉以安装和自定义插件的WordPress用户,但可能不是PHP编码专家。在本文中,您将了解什么是CDN。但最重要的是,您将了解如果更改了Web主机并且不记得更新特定的CDN设置会对您的网站造成什么影响。
您还将了解如何解决该问题。
WordPress缓存的工作原理
要了解CDN缓存为什么会扰乱您的网站迁移,首先重要的是了解 WordPress缓存的工作原理以及CDN的作用方式。
The most popular caching plugins for WordPress—like W3 Total Cache, WP Rocket, and WP Super Cache—allow you to configure image caching using your favorite CDN service.
如果不进行优化,则每次访问者访问您的网站时,他们都需要下载整个页面以及所有脚本,图像,页眉,页脚和导航菜单。但是安装了适当的缓存插件,您可以让访问者的浏览器缓存很多显示在每个页面上的静态文件。
这样,重复访问者仅必须下载页面上实际更改的部分。一旦您的网站每天吸引成千上万的访问者,减少的带宽便可以节省大量资金。
要在您的网站上缓存的最重要的项目之一是图片,因为大多数时候它们都需要要上传的最大带宽。这就是CDN服务发挥作用的地方。
CDN服务如何使您的网站高效
内容交付网络中有很多先进的技术。简而言之, CDN是一项服务,可在地理位置上更靠近您的网站访问者托管您的部分或全部网站内容。
如果您的网站托管服务器位于以下位置,则无需CDN在加拿大,来自澳大利亚的某人试图访问您的网站,这将使他们花更长的时间下载您的网页。
但是,如果您设置CDN来提供至少所有图像(通常是下载时间最长的网页部分)从位于澳大利亚的服务器上下载,因此页面加载速度将大大提高。
为您的CDN设置CDN WordPress网站在WordPress方面很简单。您只需要启用它并选择您正在使用的CDN服务即可。然后使用授权按钮将其连接到您的CDN服务。
为您的站点完全设置CDN不在本文范围之内。但是默认情况下,您通常会发现已经设置了CDN插件来处理CDN服务托管并在您的网站上提供所有图像。
通常,网站所有者将注册CDN服务,设置插件,然后完全忘记它。
直到几年后,当他们决定更改为新的虚拟主机时,CDN才出现返回来困扰他们。
更改Web主机如何破坏CDN服务
在您了解更改Web主机时CDN为何中断之前,了解 CDN服务有效。
请记住,CDN需要获取文件的副本,然后将其缓存在站点访问者所在的本地服务器上。
在“拉式CDN"配置中(最常见的WordPress设置),当用户首次访问您网站上具有CDN尚未缓存的图像的页面时,它将进入您的网络服务器以获取该副本文件。然后,它将缓存文件,并使用该本地文件供以后访问该页面。
让我们更仔细地了解一下。
一切正常时,访问者可以直接从您的Web主机获得动态内容。但是静态内容(例如图像)来自其国家/地区本地的CDN服务器。如果您将新图像上传到您的网站,则用户第一次访问该页面时, CDN将从您的网络托管服务商处获得新副本。
它工作得很好。用户可以看到您的网站,并且所有图像都能快速加载。
但是,当您移至新的虚拟主机时,会更新域的名称服务器以指向新的主机。
因此,现在,当用户在Web浏览器中键入MyWebsite.com时,他们正在从完全不同的Web服务器获取内容。,但是您的CDN服务仍在获取新的图像文件。来自您的旧网络服务器。
这是下面的样子。
这真是一团糟,对吗?当您更改为新主机时,对于用户而言,一切看起来都很好。当您加载网站以确保一切正常时,您会认为该网站也不错。
所有新的动态内容都来自预期的新Web服务器。该站点上的所有图像都将正确加载。但是它们实际上来自存储在您所在位置附近的CDN服务器上的缓存文件。如果此时要清除CDN缓存,则网站上的所有图片都不会加载。
CDN损坏的症状
第一个迹象是,您会看到一些东西当您尝试创建新的WordPress帖子时出错了。
当您在帖子中上传新图像并将其插入时,它在媒体上传向导和编辑器中都可以正常显示。
但是,预览或发布此帖子时,这就是帖子中的精选图片和嵌入式图片的外观。
您会看到损坏的图片链接或应该在其中加载图像的空白区域。行为似乎是超现实的。
What’s happening is the CDN is looking for new images in the location you originally configured. This was the old web host IP.
要正确地将所有内容传输到新主机,您需要更新CDN设置。
主机更改后的CDN更新
每次更改为新的虚拟主机时,都应进行以下设置以确保已设置它们
CDN服务在其系统上具有安全性,因此只有托管在特定IP(Web主机服务器)上的网站才能将文件传递到CDN帐户。
无这种安全性,黑客可能会使用您的CDN帐户来存储和提供自己的内容。
这种严格的安全性意味着,如果您不更新帐户中列入白名单的IP列表,则您的CDN服务不会能够访问您网站上的任何文件。
在MaxCDN中,该文件位于 API 子菜单下的帐户菜单下。在您自己的CDN帐户中搜索“列入白名单的IP"以查找列表,或与客户服务部门核对。
如果您不知道要使用的IP地址,大多数托管服务提供商会提供该Web主机帐户详细信息下的服务器IP地址。
如果主机未提供帐户详细信息页面,通常可以在CPanel的“共享IP地址"或“服务器IP地址"下找到它。
在您的CDN帐户的白名单IP部分中使用此IP地址。
每次我迁移到新主机时,通常都会离开旧的Web主机IP暂时列入白名单。在世界上的某些地区,您为域所做的DNS更改可能尚未复制。这可能需要一两天。
将两个IP都保留在您的CDN帐户中,可以确保每个人在整个过渡过程中都能看到您的站点正常。
记下此IP,因为您将需要它来进行其他CDN设置。
下一个重要设置是原始IP。基本上,这是您告诉CDN服务还没有缓存的位置的方式。
通常,您会在CDN服务的管理区域中找到此设置。您最初为网站设置的“区域"。找到“原始IP"部分,并用新的Web主机的IP地址对其进行更新。
更新此设置后,就已经准备就绪。您的CDN帐户现在知道您的新虚拟主机。它将与正确的服务器联系,以获取您上传的任何新图像。
现在是时候清除所有缓存并再次测试您的网站了。
清除缓存并创建新帖子
测试CDN是否正常工作的最佳方法是清除其整个缓存。这迫使它不仅要检查Web服务器上的新内容,还要检查所有内容。
您的WordPress缓存插件应在CDN区域中具有仪表板或按钮,以< strong>清除CDN 完全。如果找不到一个,则可以从您的CDN帐户完成此操作。
For MaxCDN, this can be found on the dashboard page. Look under the configured zone for your site, and clicking on the Manage button.
完全清除了CDN缓存后,有两种方法可以测试CDN的运行状况。
当事情发生时感觉很好
了解CDN的目的
这个问题在很多人中发生的原因是因为CDN通常只是一个
CDN的缺点之一是它是另外一个失败点。当事情破裂时,并不总是很容易理解为什么。但是,如果您记得对其进行更新,那么CDN确实可以极大地提高站点性能。