在一个基本的层面上,这是一种在使用数据库驱动的内容管理系统(如WordPress)还是自己编写所有的HTML/CSS并可能使用一个框架之间的一般性辩论。
为了帮助你做出决定,我们将解释这些术语的含义,然后跳到每种方法的一些优点和缺点。
最后,一切都以HTML的形式出现在前台。也就是说,无论你使用的是WordPress还是静态HTML网站,你的网站的代码都将是这样的:
无论你选择哪种方法,你的代码仍然会是这样的
重要的区别在于这些HTML是如何产生的。
例如,你不需要像静态HTML网站那样通过用HTML格式化来手动添加你的内容,你只需要用WordPress编辑器输入你的内容,WordPress将处理在你的网站上显示它:
WordPress编辑器的界面
同样,如果你以后想编辑这些内容,你可以直接进入并使用同一个编辑器进行编辑,而不是需要直接编辑你服务器上的静态HTML文件。
WordPress最大的好处是它几乎可以完全消除你的网站的日常管理中的代码。相反,你想采取的大多数行动都可以用一个图形界面来执行。
通过这个图形界面,你可以:
除非你以HTML/CSS为生(即使你以HTML/CSS为生),否则这种方法将使你更容易管理你网站的各个方面。
你如何添加一个新的WordPress主题
此外,你需要担心使你所有的CSS响应(又称在手机上看起来不错),而现在几乎每一个WordPress主题都是默认响应的。
你如何添加一个新的WordPress插件
困难的差距随着更大的功能而变得更大。想在你的网站上添加一个论坛?祝你自己做这件事好运。但是对于WordPress,你只需要安装一个论坛插件。
你甚至可以快速添加电子商务或社交网络功能。
主题和插件的组合,加上WordPress作为内容管理系统的一般功能,意味着你可以快速地建立起甚至是复杂的网站。
你应该问自己,拥有一个稍快的静态网站是否值得放弃WordPress所提供的优势?另外,在过去的五年里,PHP的性能有了很大的提高。在我们最近的PHP基准测试中,我们得出结论,PHP7.3每秒可以处理的请求(事务)数量是PHP5.6的3倍。
WordPress5.0PHP基准测试
还有一些方法,你可以通过使用缓存来提供静态HTML版本的页面,从而轻松否定PHP和数据库的延迟。这意味着每个页面的加载基本上都可以快如闪电,就像静态HTML网站一样。
缓存对一个WordPress网站的影响有多大?下面是对一个WordPress博客在缓存之前和之后的快速测试。
无缓存
我们首先在WordPress博客上进行了禁用缓存的测试。
没有缓存的WordPress网站(Pingdom测试)
正如你所看到的,第一个HTMLDOC的加载有明显的延迟。这是由于它没有从服务器上的缓存提供服务。
无缓存延迟
有缓存
然后我们在WordPress博客上进行了一次启用缓存的测试。其他方面都没有改变。
带有缓存的WordPress网站(Pingdom测试)
有缓存延迟
不过,也有一些小的缺点,首先是维护。虽然选择高质量的WordPress托管可以消除许多最糟糕的维护,但你仍然要负责确保WordPress的核心软件、插件和主题的更新和兼容。这在今天是相当容易的,但这是你不需要做一个静态HTML网站的事情。
我们一秒钟前就谈到了这一点,但让我们在这里快速重述一下,因为这是静态HTML的主要好处之一。
当你使用WordPress和主题/插件时,你要负责更新所有的底层代码并确保没有任何兼容性问题。虽然这很简单(你通常只需要点击一个按钮),但这是你需要做的,以保持你的网站安全和运作。
另一方面,如果你写的是干净的静态HTML,你应该可以不用管它,也不用担心更新问题。
虽然WordPress允许你访问你的网站的所有底层代码,但静态HTML网站将使输入某些类型的标记变得更简单。与其需要处理主题模板文件和WordPress循环,一切都在你面前。
虽然静态HTML网站对于一个基本的网站来说肯定是好的,但当你试图扩大规模时,主要的问题就来了,无论是在内容的数量还是功能上。
这些缺点中的大多数只是与WordPress的优点相反。也就是说:
此外,除非你自己真正懂得HTML/CSS,否则所有这些事情也需要支付给开发人员,而WordPress会让你自己做这些事情,在大多数情况下。
静态网站生成器与上述两种选择略有不同,它们采用内容管理系统的内容,如WordPress,与主题相结合,生成静态HTML页面。Jekyll是最流行的一种,你可以用它在GitHubPages上托管你的整个网站或博客,用一个命令推送你的新内容。缺点是什么?设置它并不容易(至少可以这么说),即使对开发者来说,也可能很费时。
如果你精通技术,甚至有可能得到两个世界的最好结果,把WordPress作为一个静态HTML网站生成器。然而,你只需要记住,如果你以这种方式使用WordPress,你将不得不做出牺牲。
基本上,所有服务器端(PHP)生成的东西都将成为静态的,并手动更新。静态网站生成器将根据你的内容创建一个完整的HTML页面,一旦完成,无论有多少人访问你的网站,它都不会被重新生成;除非你在电脑上输入一个特定的命令。
我们在为电子商务解决方案和博客制定了服务器级别的规则,以确保什么应该被缓存,什么不应该被缓存。
一些例子包括某些WooCommerce和EDD的页面,如cart、my-account和checkout,被排除在缓存之外。当检测到woocommerce_items_in_cart或edd_items_in_cart时,用户会自动绕过缓存,以确保结账过程的顺利和同步。
这为你提供了一个快速加载的WordPress网站,但不必担心东西会坏。