WordPress与静态HTML:你应该选择哪种方案搭建网站?

WordPress与静态HTML:你应该选择哪种方案搭建网站?

在过去,我们已经谈到了WordPress与其他流行的内容管理系统,如与DrupalJoomla,甚至Squarespace的对比。但是,如果你试图在WordPress和静态HTML之间决定你的网站该怎么办?

在一个基本的层面上,这是一种在使用数据库驱动的内容管理系统(如WordPress)还是自己编写所有的HTML/CSS并可能使用一个框架之间的一般性辩论。

为了帮助你做出决定,我们将解释这些术语的含义,然后跳到每种方法的一些优点和缺点。

WordPress和静态HTML的区别

最后,一切都以HTML的形式出现在前台。也就是说,无论你使用的是WordPress还是静态HTML网站,你的网站的代码都将是这样的:

WordPress和静态HTML前端代码无区别

无论你选择哪种方法,你的代码仍然会是这样的

重要的区别在于这些HTML是如何产生的。

对于静态HTML,这个故事很简单。你,或者你的开发者,写了代码(包括你的内容)。然后,一旦它出现在服务器上,它就一直是这样的。没有后台处理 – 你的网站总是以其完成的形式存在。

另一方面,WordPress是一个使用PHP和数据库的内容管理系统。简单地说,这意味着,当有人访问你的WordPress网站时,你的服务器通过以下方式 “组装” 你的网站:

  • 执行PHP代码,把你的网站的HTML版本组合起来
  • 查询你的数据库以获得插入到HTML中的内容

那么什么是内容管理系统?

上面,我们告诉你,WordPress是一个内容管理系统,但我们没有真正解释这意味着什么。一个内容管理系统,通常缩写为CMS,是帮助你创建、管理和修改网站内容的软件,而不需要直接与代码互动

例如,你不需要像静态HTML网站那样通过用HTML格式化来手动添加你的内容,你只需要用WordPress编辑器输入你的内容,WordPress将处理在你的网站上显示它:

WordPress编辑器的界面

WordPress编辑器的界面

同样,如果你以后想编辑这些内容,你可以直接进入并使用同一个编辑器进行编辑,而不是需要直接编辑你服务器上的静态HTML文件。

WordPress的优点和缺点

我们稍后会讨论静态HTML网站的一些优点和缺点,但让我们从整个互联网超过43.3%的人现在使用WordPress的一些原因开始。

无代码的内容管理

WordPress最大的好处是它几乎可以完全消除你的网站的日常管理中的代码。相反,你想采取的大多数行动都可以用一个图形界面来执行。

通过这个图形界面,你可以:

  • 创建新的内容
  • 改变你的网站的外观
  • 改变你的网站功能
  • 配置重要的SEO设置
  • 执行大量其他重要的操作

除非你以HTML/CSS为生(即使你以HTML/CSS为生),否则这种方法将使你更容易管理你网站的各个方面。

轻松改变你的网站外观

每个WordPress网站都需要一个叫做theme的东西。你的主题决定了你的网站在前台的样子。要安装一个新的WordPress主题,你基本上点击一个按钮或上传一个文件,你的网站就会立即采用这种风格:

添加一个新的WordPress主题

你如何添加一个新的WordPress主题

另一方面,在静态HTML网站中,你用你自己的CSS来控制你的网站的外观。这不仅在一开始就很耗费时间,而且如果你将来想彻底改变你的静态HTML网站的外观,也同样耗费时间。是的,有一些CSS框架,你可以用来加快这个过程,但它仍然需要更多的工作和专业知识,以便能够管理。

此外,你需要担心使你所有的CSS响应(又称在手机上看起来不错),而现在几乎每一个WordPress主题都是默认响应的。

易于增加新的功能

WordPress还提供了一种叫做plugins的东西,使你能够轻松地扩展你的网站的功能。想在你的网站上添加一个联系表单吗?在静态HTML中,你需要处理验证问题,以及处理用户提交的数据的问题。使用WordPress,你只需安装一个插件…

添加一个新的WordPress插件

你如何添加一个新的WordPress插件

困难的差距随着更大的功能而变得更大。想在你的网站上添加一个论坛?祝你自己做这件事好运。但是对于WordPress,你只需要安装一个论坛插件。

你甚至可以快速添加电子商务或社交网络功能。

快速发展和变化

主题和插件的组合,加上WordPress作为内容管理系统的一般功能,意味着你可以快速地建立起甚至是复杂的网站。

对于一个只有几个页面的非常基本的网站来说,静态HTML可以很快……但是如果你需要任何非标准的功能,WordPress几乎肯定会让你更快地建立一个网站。

想要更多的优势吗?请看这10个你应该使用WordPress的好理由

你可能也会对《2023年将使用的60种超棒的网络开发工具》感兴趣。

使用WordPress有什么缺点吗?

你会发现有些人说 “静态HTML网站加载更快 “或 “静态HTML网站在谷歌排名更好 “之类的话。但是,这其中的一些说法应该是有根据的。虽然PHP和数据库确实引入了额外的加载时间和延迟,但让WordPress的加载时间低于一秒钟并不难–这已经足够快了。

你应该问自己,拥有一个稍快的静态网站是否值得放弃WordPress所提供的优势?另外,在过去的五年里,PHP的性能有了很大的提高。在我们最近的PHP基准测试中,我们得出结论,PHP 7.3每秒可以处理的请求(事务)数量是PHP 5.6的3倍。

WordPress 5.0 PHP基准测试

WordPress 5.0 PHP基准测试

还有一些方法,你可以通过使用缓存来提供静态HTML版本的页面,从而轻松否定PHP和数据库的延迟。这意味着每个页面的加载基本上都可以快如闪电,就像静态HTML网站一样。

缓存对一个WordPress网站的影响有多大?下面是对一个WordPress博客在缓存之前和之后的快速测试。

无缓存

我们首先在WordPress博客上进行了禁用缓存的测试。

没有缓存的WordPress网站

没有缓存的WordPress网站(Pingdom测试)

正如你所看到的,第一个HTML DOC的加载有明显的延迟。这是由于它没有从服务器上的缓存提供服务。

无缓存延迟

无缓存延迟

有缓存

然后我们在WordPress博客上进行了一次启用缓存的测试。其他方面都没有改变。

带有缓存的WordPress网站

带有缓存的WordPress网站(Pingdom测试)

正如你所看到的,有一个巨大的改进。事实上,仅仅从服务器上的缓存中提供初始页面,就减少了32.2%的加载时间

有缓存延迟

有缓存延迟

说到你可能听到的排名谣言,有很好的WordPress SEO插件,让你通过控制网站的技术和页面SEO的各个方面来优化你的WordPress SEO。如果WordPress网站在搜索排名中的表现真的比静态HTML网站差,你就不会看到它被The WirecutterTechCrunch这样的大规模平台使用。

不过,也有一些小的缺点,首先是维护。虽然选择高质量的WordPress托管可以消除许多最糟糕的维护,但你仍然要负责确保WordPress的核心软件、插件和主题的更新和兼容。这在今天是相当容易的,但这是你不需要做一个静态HTML网站的事情。

第二个缺点可能是质量。由于WordPress的极度流行,有很多不好的插件和主题在那里。而免费的解决方案有时会完全从地图上掉下来。在坏的东西中寻找好的东西可能很费时间。

静态HTML网站的优点和缺点

你听说过WordPress–但现在让我们挖掘一下静态HTML网站的一些优点和缺点。

没有底层软件需要维护

我们一秒钟前就谈到了这一点,但让我们在这里快速重述一下,因为这是静态HTML的主要好处之一。

当你使用WordPress和主题/插件时,你要负责更新所有的底层代码并确保没有任何兼容性问题。虽然这很简单(你通常只需要点击一个按钮),但这是你需要做的,以保持你的网站安全和运作。

另一方面,如果你写的是干净的静态HTML,你应该可以不用管它,也不用担心更新问题。

更容易访问底层代码

虽然WordPress允许你访问你的网站的所有底层代码,但静态HTML网站将使输入某些类型的标记变得更简单。与其需要处理主题模板文件和WordPress循环,一切都在你面前。

例如,虽然有WordPress的结构化数据标记插件,但你可以在静态HTML网站上更容易控制模式标记。

创建静态HTML网站的缺点是什么?

虽然静态HTML网站对于一个基本的网站来说肯定是好的,但当你试图扩大规模时,主要的问题就来了,无论是在内容的数量还是功能上。

这些缺点中的大多数只是与WordPress的优点相反。也就是说:

  • 添加或编辑内容对用户来说并不友好,因为你需要钻研代码。
  • 增加新的功能需要你自己编码。
  • 改变你的网站的外观需要重写你的CSS。

此外,除非你自己真正懂得HTML/CSS,否则所有这些事情也需要支付给开发人员,而WordPress会让你自己做这些事情,在大多数情况下。

使用WordPress作为静态网站生成器

静态网站生成器与上述两种选择略有不同,它们采用内容管理系统的内容,如WordPress,与主题相结合,生成静态HTML页面。Jekyll是最流行的一种,你可以用它在GitHub Pages上托管你的整个网站或博客,用一个命令推送你的新内容。缺点是什么?设置它并不容易(至少可以这么说),即使对开发者来说,也可能很费时。

如果你有一个空闲的下午想了解更多关于Jekyll的信息,那么请看看Mike Neumegen的这篇文章。另外,像Grav这样的平面文件CMS可以让你更容易管理内容,同时还可以避免对数据库的需求。

如果你精通技术,甚至有可能得到两个世界的最好结果,把WordPress作为一个静态HTML网站生成器。然而,你只需要记住,如果你以这种方式使用WordPress,你将不得不做出牺牲。

  • 你的网站上不会有任何 “实时 “的动态内容,根本没有。
  • 没有为你推荐的文章或为每个访问者改变的小工具
  • 你不能使用WordPress的内置评论系统。

基本上,所有服务器端(PHP)生成的东西都将成为静态的,并手动更新。静态网站生成器将根据你的内容创建一个完整的HTML页面,一旦完成,无论有多少人访问你的网站,它都不会被重新生成;除非你在电脑上输入一个特定的命令。

开发人员解决评论 “问题” 的方法是,要么根本不使用它,要么改用基于JavaScript的解决方案,最流行的是Discuz或Facebook评论。

有几个WordPress的缓存插件,你可以用来创建你的文章和页面的静态HTML文件,但如果你使用Nginx作为你的网络服务器(如果你没有,你真的应该这样做,但这是另一篇文章的主题),你可以直接打开全页面缓存的开关,并设置它在一天或一个星期后失效。你能 “承受 “的时间越长越好。

接下来会发生的是,第一个访问者会让服务器生成完整的、缓存的HTML文件,任何在预定的过期时间内的连续访问者都会得到这些文件。部分服务器使用 nginx fastcgi cache module 进行页面缓存。你问如何设置它?如果你自己管理服务器,这里有一份由DigitalOcean提供的非常详细的指南,你可以遵循。

Cloudflare Full Page Cache

你也可以用WordPress的Cloudflare页面规则,通过缓存提供整个网站。我们在这里为您提供了如何为您的WordPress文章和页面设置Cloudflare缓存的所有细节。

这对那些正在开展活动或预期有巨大流量的网站来说是非常有益的。但请记住,如果你完全从缓存中提供服务,你很可能会遇到WooCommerce结账、WordPress管理工具栏和其他各种问题,你需要修复或找到解决方法。

推荐阅读: 如何为WordPress设置Cloudflare APO

提供两种最佳方案

我们一般不建议从缓存中提供整个网站,除非您有时间对所有内容进行适当的测试。例如,当涉及到WooCommerce时:您可以缓存 “静态” 首页、分类、产品页面(如果您不经常改变它们的话),然后是的,它几乎可以立即加载!但是,一旦有人点击 “添加购物车”,您就必须切换到非缓存版本,否则他们就无法使用。但是一旦有人点击 “添加到购物车”,你就必须切换到非缓存版本,否则他们会看到购物车总是空的。

我们在为电子商务解决方案和博客制定了服务器级别的规则,以确保什么应该被缓存,什么不应该被缓存。

一些例子包括某些WooCommerce和EDD的页面,如cart、my-account和checkout,被排除在缓存之外。当检测到 woocommerce_items_in_cart 或 edd_items_in_cart 时,用户会自动绕过缓存,以确保结账过程的顺利和同步。

这为你提供了一个快速加载的WordPress网站,但不必担心东西会坏。

缓存组件栈

缓存组件栈

如果服务器提供商没有缓存服务支持,您有希望利用WordPress博客的动态功能?你可能想看看通过反向代理加载你的网站。

小结

现在是一百万美元的问题……如果你只是建立一个不太可能改变或需要新内容的小型网站,静态HTML是一个很好的方法。但对于其他任何事情,WordPress几乎肯定会是一个更好的选择。如果你没有机会接触到开发人员,这一点尤其正确。

它的易用性,再加上它的可扩展性,是它现在为互联网上所有网站的43.3%提供动力的主要原因。现在交给你了–你会用静态HTML而不是WordPress建立一个网站吗?或者你已经走了静态网站生成器的路线?

评论留言