WordPress静态站点生成器入门

2020-07-05 07:36:53

第一个代表了单片式CMS的老卫士;第二个代表了新的前端浪潮。

尽管它们明显不同,但我们听到越来越多关于WordPress静态网站、WordPress静态站点生成器等的信息。

这听起来可能有悖常理,但当你仔细想想,为什么你不想两全其美呢?

这正是我今天要探讨的问题。更确切地说,我会看看:

将可湿性粉剂和静态网站配对并不会剥夺网站编辑器的权力。WordPress用户仍然可以使用流行的CMS来创建和编辑内容。

那么,这一过程的不同之处在哪里呢?在编辑器点击“发布”之后,站点内容被导出到HTML,这是一种预编译的静态文件,可以随时提供服务,而不是通常由PHP生成的视图。

有许多可用的工具和插件可以实现这一点。我稍后会把它们列出来。

但是,如果您对Jamstack、静态网站或无头CMS等术语不熟悉,那么在进一步讨论之前,我们需要澄清一些事情。

本节将介绍标准的WordPress设置和受Jamtack启发的设置的不同之处。然后,我将重点介绍后者的优点和局限性。

这是一个很好的起点。我的意思是,WordPress已经生成了完全动态的、功能齐全的网站。你为什么要走静态路线呢?

根据定义,“静态网站包含具有固定内容的网页。每个页面都是用HTML编码的,并向每个访问者显示相同的信息。与动态网站不同,它们不需要任何服务器端操作或数据库设计。“。

这是一个和网络本身一样古老的概念。但是,现代静态网站所做的远比它们的名字所激发的要多得多。前端开发的发展使得更强大的操作可以直接在我们的浏览器中进行。同时,内容分发网络(CDNS)的出现使得静态内容的分发变得非常高效。

主要区别在于站点的HTML已经编译好,可以随时提供给客户端,而不需要向任何服务器发出请求。我们为早期帖子创建的图表解释了这两个设置中的过程:

在内容密集型站点的每个页面点击上从数据库动态拉取信息所增加的时间可能会导致延迟、受挫和反弹。

静态站点向浏览器提供预编译的文件,大大缩短了加载时间。向表现更好的网站和可观的SEO收益问好。

WordPress以其受到恶意黑客攻击的高风险而闻名。只要简单地提到你的网站就是用它建造的,就足以吸引这些不受欢迎的访问者。

更大的服务器端基础设施通常会打开潜在的漏洞。使用静态设置,几乎没有服务器端功能。

WordPress网站的优化通常需要多个插件--用于缓存、防火墙、安全、备份等。这些工具的维护性很高,特别是对于非技术用户来说,这可能会变得不堪重负。

静态站点是可靠的,并且没有那么多依赖项,这使得它们更容易维护。

在这一点上,你可能会想:“如果静态网站这么棒,为什么要使用WordPress而不是常规的静态网站生成器呢?”

如果你已经有一个基于WordPress的网站,你想把它变成静态的,那么简单地用一个插件把它导出到静态HTML文件比把整个网站迁移到一个新的平台要高效得多。

如果你从零开始创建一个网站,像Gatsby、NeXT或Hugo这样的SSG是很棒的。我是说,我们喜欢这些工具。你至少应该考虑一下。但他们错过了WordPress的伟大之处。他们缺少一个用户友好的添加和编辑内容的系统,以及支持WP的庞大的、久经考验的生态系统。

如果您对静态站点生成器感兴趣,也有许多无头的内容管理器可以让内容管理体验更流畅。

正如我在开场白中所说:两全其美。有了这样的设置,你可以从性能和安全性更好的现代前端技术中获益,同时使用WordPress做它真正擅长的事情:管理内容。

在开始关注WordPress静态站点开发之前,您应该意识到一些限制。

默认情况下,将WP实例导出为HTML会取消所有服务器端功能。该列表可以很广泛:

对于其中的许多问题,都有解决办法。如果您需要这些功能中的任何一个,让它们工作所需的所有组件都是必不可少的。

下面列出的一些工具可以解决这些开箱即用的缺点。对于其他一些网站,您需要将第三方服务集成到您的网站,例如Snipcart,才能在您的静态网站_(ツ)_/上启用电子商务。

所有这些都会给你带来前面提到的静态网站的好处。让我们来看看这些解决方案是什么。

Strattic将基于WordPress的网站转换为无服务器架构,即时使网站更快、更安全,用户行为完全不会改变。

到2020年,它可能会成为这一领域的“大玩家”。他们在2月份筹集了650万美元的消息证实了WordPress对静态网站生成器的需求激增。

这家以色列公司没有浪费这笔钱,现在比竞争对手拥有了功能更齐全的产品。它还解决了将WP站点导出为静态HTML的一些常见缺点。

CDN(内容分发网络)。一种将静态资产分发给用户的快速方式。更简单的插件不会购买CDN来提供内容,从而迫使您配置其他解决方案。

与其他动态功能的WP插件集成。有用的插件,如重力表单,用于联系人表单,或Disqus,用于评论。

正确处理404页。通常,当出现错误时,简单的SSG插件将为您的服务器生成的默认页面提供服务。Strattic允许您拥有一个好看的、基于主题的404页面。

如果你只有一个WordPress网站可以转为静态,Strattic的起步价是35美元/月。多个网站的价格高达225美元/月。

WP2Static是一个完全开源的插件,用于生成WordPress静态站点。正如它的创建者里昂·斯塔福德告诉我们的那样:

“Strattic将会非常大,有了他们的资金和他们拥有的杀手团队。WP2Static仍将是完全开放源码的选择,它有一个市场,人们希望更多地控制他们的工作流程/不想把他们的WP托管给其他人。“。

在完全透明的情况下,我们目前在财务上支持Leon&;WP2Static。在Snipcart,这是我们喜欢鼓励的那种独立的、与Jamstack相关的项目。这仍然是对产品的公平和诚实的评价。

WP2Static查询WP数据库和您网站的文件系统,以找出哪些URL需要包含在您的静态站点中。然后,它爬行每个检测到的URL,将内容的副本另存为静态HTML文件。然后将其传输到您选择的托管平台。

用于添加功能的加载项。目前包括用于搜索的Algolia、用于静态站点托管的Cloudflare Workers,以及许多部署选项。

删除所有表明您的站点使用WordPress运行的迹象。这降低了它对恶意黑客的吸引力。

路线图包括提供WPAPI和GraphQL访问以控制WP2Static、多个部署配置和新的附加组件。其中一个新的附加组件可以让用户只需点击一下就可以将他们的WooCommerce商店迁移到Snipcart。(!)。

WP2Static最大的优势是它是完全开源的,而且不贵。你实际上可以免费下载核心插件。

要访问当前和未来的附加组件并享受优先支持,终身费为49美元。

Shift是一种类似于Strattic的商用替代产品。它可以直接从他们的仪表板创建一个新的WordPress站点。它还以一种非技术用户可以入门的方式构建。不需要编码。

他们提供“WordPress即服务”设置,这意味着,与WP2Static不同,你需要使用他们的托管平台。但是,您随后可以访问用于输出网站静态版本的工具,以便与它们一起托管或在外部部署。

Shift提供了足够的内置功能来适应不同类型的业务,如企业、非营利组织、市场营销、教育等。

除了他们的WordPress静态站点生成器,他们最近还开发了一种解决方案,可以将您的WP CMS转换为无头CMS。更多信息请点击此处。

Shift提供了一个免费的层来测试你无法获得自定义域的东西。一旦上线,就会有Tier 1、Tier 2和Tier 3,价格分别为16美元/月、24美元/月和144美元/月,具体取决于您需要的存储空间和功能。

重要的是要注意,这些计划只针对一个地点。如果你在多个可湿性粉剂项目上工作,最终会花更多的钱。

有了HardyPress,WordPress生活在一个虚拟化的环境中,只需轻轻一按开关就可以关闭。只有当用户登录并需要对网站内容进行更改时,它才会处于活动状态。服务器在一段时间不活动后自动关闭。

它不会影响面向公众的网站,因为它从一开始就不是WordPress提供的服务。和其他公司一样,HardyPress制作网站的静态副本,然后由CDN提供服务。

老实说,我对这一家的了解较少,乍一看,他们的报价似乎与上面提到的两家很相似。不过,我读到了一些关于它的好消息。值得考虑将其作为他们的功能集,并且定价可以更符合您的需求。

后备一年。如果需要,保存的WordPress站点快照长达一年的时间可以及时回溯。

HardyPress的“标准”套餐的无限制网站费用约为22美元/月。对于一个单独的个人项目,你可以使用“个人网站”计划,每月只需5美元。

在我上面介绍的四个解决方案中,WP2Static的突出之处在于它是一个更加独立、完全开放源码的项目。我想对更多这样的解决方案大声疾呼。

Simply Static曾经是使用WP生成静态站点的流行插件。它为这项任务提供了一个简单而可靠的替代方案。遗憾的是,它现在已经有一段时间没有维护了。也许这篇文章可以激励一些人修补这个插件,以便与最新的WordPress版本一起工作。

Sitesauce是一个新项目,它不仅可以创建WordPress站点的静态版本,还可以创建任何站点的静态版本。因此,它也适用于Ghost、Static、CraftCMS、Joomla!、Laravel等CMSS。这是一个很酷的想法,也是一个值得关注的有前途的工具!

如果您没有找到在本文中寻找的解决方案,请不要担心。还有其他方法可以在Jamstack中使用WordPress。

在过去,我们已经探索了WP rest API,它使WordPress能够被用作无头CMS。这样做可以让您使用您喜欢的工具构建站点的前端。以下是我们为Reaction和Vue.js撰写的帖子:

另外,我希望这本针对WordPress静态站点的指南能对您有所帮助。当然,这是一个非常年轻的概念。毫无疑问,我提到的现有工具将随着时间的推移而变得更好-而且许多类似的工具将会诞生。

建立网站的“传统”方式现在与现代技术交织在一起,这一事实对那里的每一位开发人员都有好处。这些范例不一定是对立的,也不一定总是相互对立。

如果你喜欢这篇文章,请花点时间把它分享到推特上。有什么意见和问题吗?点击下面的部分!