如果您要将WordPress网站从一个web主机移动到另一个主机,并且当前正在使用带有内容交付网络(CDN)的缓存插件,请小心,因为移动过程可能不会像您认为的那样顺利。
本文针对WordPress用户,他们可以很舒服地安装和定制插件,但可能不是PHP编码专家。在本文中,您将了解CDN是什么。但是最重要的是,如果你改变了你的网站主机,并且不记得更新特定的CDN设置,你会了解到网站会发生什么。
您还将学习如何自己解决问题。
要了解CDN缓存会扰乱您的网站移动的原因,首先,了解WordPress缓存是如何工作的,以及CDN如何发挥作用是很重要的。
WordPress最流行的缓存插件——如W3 Total Cache、WP Rocket和WP Super Cache——允许您使用最喜爱的CDN服务配置图像缓存。
在没有优化的情况下,每次访问者访问你的网站时,他们都需要下载整个页面以及与之配套的所有脚本、图像、页眉、页脚和导航菜单。但是如果安装了一个合适的缓存插件,就可以让访问者的浏览器缓存显示在每个页面上的大量静态文件。
这样重复访问者只需下载实际更改的页面的部分。一旦你的网站每天吸引成千上万的访问者,这种减少的带宽会增加大量的节省。
其中最重要的项目缓存在您的网站是图像,因为大多数时候,他们需要最多的带宽上传。这就是CDN服务发挥作用的地方。
有很多先进的技术进入了内容交付网络。简言之,CDN是一种服务,它在地理位置上承载您网站的部分或全部内容,使其更接近您的网站访问者。
如果没有CDN,如果您的web主机的服务器位于加拿大,并且有来自澳大利亚的人试图访问您的网站,那么他们下载您的网页所需的时间会更长。
然而,如果你设置了一个CDN来从位于澳大利亚的服务器上交付至少所有的图像(通常需要最长时间下载的网页部分),你的页面加载速度会快得多。
为您的WordPress站点设置CDN在WordPress端很简单。您只需启用它并选择您正在使用的CDN服务。然后使用“授权”按钮将其连接到CDN服务。
为站点完全设置CDN超出了本文的范围。但是默认情况下,您通常会发现CDN插件已经设置为处理拥有CDN服务主机并在您的网站上服务所有图像。
通常,网站所有者会注册CDN服务,设置插件,然后完全忘记它。
直到几年后,当他们决定换一个新的网络主机时,CDN才再次困扰他们。
在您了解更改web主机时CDN为何会中断之前,了解CDN服务的工作原理很重要。
请记住,CDN需要获取文件的副本,然后将其缓存在站点访问者所在的本地服务器上。
在最常见的WordPress设置“pull-CDN”配置中,当用户第一次访问你网站上有CDN尚未缓存的图像的页面时,它将转到你的web服务器获取该文件的副本。然后,它将缓存该文件,并在以后访问该页面时使用该本地文件。
让我们更仔细地看一下。
当一切正常运行时,访问者可以直接从您的web主机获得动态内容。但是静态内容(比如图像)来自于他们国家本地的CDN服务器。如果你上传一个新的图片到你的网站,当用户第一次访问一个页面时,CDN会从你的主机上得到一个新的拷贝。
当这起作用时,效果非常好。用户看到你的网站和所有图像加载闪电般快。
但是,当您移动到新的web主机时,会更新域的名称服务器以指向新主机。
所以现在,当用户输入我的网站在他们的网络浏览器中,他们从一个完全不同的网络服务器获取内容。但您的CDN服务仍在从旧的web服务器获取新的图像文件。
这就是它的样子。
太乱了,对吧?当你换到一个新主机,到用户那里,一切都很好。当你加载你的网站以确保一切正常时,你会认为网站也很好。
所有新的动态内容都是从新的web服务器中获得的。站点上的所有图像都将正确加载。但实际上它们来自存储在您所在位置附近CDN服务器上的缓存文件。
一切看起来都很好,其实很多东西都坏了。如果此时清除CDN缓存,则不会加载网站上的任何图像。
当你尝试创建一个新的WordPress帖子时,你会看到一些错误的迹象。
当你上传并**新的图片到你的文章中时,它在媒体上传向导和编辑器中都会很好的显示出来。
但当你预览或发布这篇文章时,你的文章中的特色图片和内联图片就是这样的。
您将看到断开的图像链接,或者应该加载图像的空白区域。这种行为似乎很离奇。
CDN正在您最初配置的位置查找新映像。这是旧的网络主机IP。
要将所有内容正确地传输到新主机,您需要更新CDN设置。我们现在就来看看。
任何时候更改为新的web主机时,都应该检查以下设置,以确保它们是为新主机设置的。
CDN服务在其系统上具有安全性,因此只有在特定IP(web主机服务器)上托管的网站才能将文件传递给CDN帐户。
如果没有这种安全性,黑客可能会使用您的CDN帐户来存储和服务他们自己的内容。
这种严格的安全性意味着,如果您不更新帐户中的白名单IP,您的CDN服务将无法访问您网站上的任何文件。
在MaxCDN中,它位于Account菜单下的API子菜单下。在您自己的CDN帐户中搜索“白名单IP”以查找列表,或与****部门联系。
如果您不知道正确的IP地址使用,大多数托管提供商将提供您的托管帐户详细信息下的web服务器IP地址。
如果您的主机没有提供帐户详细信息页面,您通常可以在CPanel的“共享IP地址”或“服务器IP地址”下找到它。
在CDN帐户的白名单IP部分使用此IP地址。
每当我迁移到一个新主机时,我通常会暂时将我的旧web主机IP留在白名单中。在世界的某些地区,您对域所做的DNS更改可能尚未复制。这可能需要一两天的时间。
将这两个IP都留在CDN帐户中,可以确保每个人都能在整个转换过程中看到您的站点。
请记下此IP,因为您还需要它来设置一个CDN。
下一个重要设置是originip。这基本上是告诉CDN服务在哪里检索尚未缓存的新图像的方法。
通常,您会在最初为站点设置的“区域”的管理区域中找到此设置。找到originip部分,并用新web主机的IP地址更新它。
一旦你更新了这个设置,你就应该准备好了。您的CDN帐户现在知道您的新web主机。它将接触到正确的服务器,以获取您上传的任**图像。
现在是时候清除所有缓存并再次测试您的站点了。
测试CDN是否正常工作的最佳方法是清除其整个缓存。这迫使它不仅要检查您的web服务器上的新内容,还要检查所有内容。
你的WordPress缓存插件应该在CDN区域有一个仪表板或按钮来彻底清除CDN。如果你找不到,你可以通过你的CDN账户来完成。
对于MaxCDN,可以在仪表板页面上找到。在站点的配置区域下,单击管理按钮。
完全清除CDN缓存后,有两种方法可以测试CDN的运行状况。
当事情最终顺利的时候,是一种很好的感觉,不是吗?
这个问题之所以会发生在很多人身上,是因为CDN通常只是在设置WordPress缓存时的事后考虑。
CDN的一个缺点是它是一个额外的失败点。当事情破裂时,不总是很容易理解为什么。但是如果您记得更新它,CDN确实可以极大地提高站点性能。
... 每当您对站点文件进行更改时,DropPages都会更新自己的版本并立即提供服务。管理你的站点只需要编辑Dropbox文件夹中的本地文件并让它们同步。 ...
...插件(如果使用WordPress托管)或对站点的配置进行必要的更改,使其能够充分利用服务器的资源,而不会对站点(或者在共享托管的情况下,其他站点)造成性能问题。 ...
...的话,这似乎是显而易见的事情。由于许多不同的原因,更改DNS提供程序可以缩短加载时间。系统中有很多变量,但主要的区别在于,单独的DNS服务器可能比本地ISP缓存更多的站点。 ...
...以您可以期望夜间备份、自动恶意软件扫描和删除、测试更改的暂存环境以及自动DDoS保护。 ...
... 显然,这看起来不太好。稍后,我将解释如何将其更改为“pretty permalinks”形式yourdomain.com/deliciou**read-食谱。 ...
...,然后转到“设置”>“永久链接”,在不做任何更改的情况下,单击“保存”。这将自动生成文件的新工作版本。 ...
...颈以及可能使同一服务器上的其他网站脱机。托管WordPress主机是一个更好的主意。 ...
... 共享主机通常是造成这种情况的原因,但是您可以配置一些设置来提高服务器响应时间。 ...
...托管WordPress,您需要一个web托管提供商。我们建议在运动主机(使用此链接最多50%的折扣),它提供六个专门的WordPress计划,将适合所有大小的网站。 ...