我正在为一位客户开发一个Wordpress博客,他相信每月的浏览量将超过100万次。
不幸的是,他的服务器资源非常有限,所以我想把博客作为一个静态网站放在CDN上。
我的客户打算在上午、下午和晚上分批发布帖子,因此我考虑做以下工作:
我将博客安装在客户端的服务器上,客户端可以在服务器上管理帖子、页面等。每当发布新帖子时,我都会创建一个静态。html版本的文章,并将其上载到CDN。我可以使用W3 Total Cache或WP Super Cache来创建。html。然后,我将使用CDN的API上载文件在批处理之间,当他的服务器空闲时,我将重新创建。所有旧帖子的html,如“最新博客帖子”等。我更新了。此博客中CDN上的旧帖子的html已关闭。
当然,当用户在http://www.mydomain.com, 这必须从CDN(我认为这将是推式CDN)加载,而不是从客户端服务器加载。
由于CPU和内存不足,我不想以任何方式访问我的客户机服务器(我认为这是拉式CDN);它将仅由客户端自己用于管理内容。
这是我能做到的吗?我主要关心的是permalinks,CDN能否复制我博客的相同permalink结构?
SO网友:Rarst
是的,制作WP博客的静态版本是完全可能的。
我建议不要为此使用缓存插件——这不是它们的目的,它们的许多功能往往依赖于复杂的重写规则,而您无法在CDN上复制这些规则。
有专门的WP解决方案(我没有尝试过),但使用通用工具制作静态副本可能会更好(这种软件有很长的历史,可能比特定于WP的软件要简单得多)。
permalinks会起作用,但只是到目前为止。本机WP通过重写过程将链接中的“假”目录结构转换为数据来工作。静态站点中没有这样的步骤-创建并使用实际的目录结构(与.html
中的文件)。不要忘记任何动态链接都不会起作用。
我个人的观点是(取决于您的发布要求),最好考虑针对静态站点的解决方案,而不是WordPress。这种引擎现在实际上正在经历另一次流行热潮(每隔几年,静态引擎就会周期性地进入和退出webdev时尚)。
SO网友:Mark Kaplun
CDN是针对静态内容的,如果您的客户打算每天更新其站点3次,那么该站点的内容远远不是静态的。
这可能是可以做到的,我认为有一些插件可以从wordpress生成静态站点,你不需要使用为其他任务设计的插件,在生成静态站点后,你可以将文件推送到CDN,但你需要决定推送应该多小心,因为推送期间站点可能不稳定(指向尚未推送的帖子的链接)。随着内容的增加,该过程将花费更长的时间,您需要小心将此过程的执行时间保持在小于更新间隔的范围内。
仅仅创建一个HTML版本的帖子是不够的,因为您很可能还需要更新主页和RSS。
另一件需要考虑的事情是,您将如何处理表单提交,以及您的客户将如何预览他创建的帖子。
因此,这是可能的,但正如评论中暗示的那样,升级托管可能更具成本效益。通过适当的缓存(这就是CDN计划),即使在成本相对较低的VP上,您也应该能够提供大量页面