在过去,我们已经谈到了WordPress与其他流行的内容管理系统,如与Drupal、Joomla,甚至Squarespace的对比。但是,如果你试图在WordPress和静态HTML之间决定你的网站该怎么办?
在一个基本的层面上,这是一种在使用数据库驱动的内容管理系统(如WordPress)还是自己编写所有的HTML/CSS并可能使用一个框架之间的一般性辩论。
为了帮助你做出决定,我们将解释这些术语的含义,然后跳到每种方法的一些优点和缺点。
- WordPress和静态HTML的区别
- WordPress的优点和缺点
- 静态HTML网站的优点和缺点
- 使用WordPress作为静态网站生成器
最后,一切都以HTML的形式出现在前台。也就是说,无论你使用的是WordPress还是静态HTML网站,你的网站的代码都将是这样的:
无论你选择哪种方法,你的代码仍然会是这样的
重要的区别在于这些HTML是如何产生的。
对于静态HTML,这个故事很简单。你,或者你的开发者,写了代码(包括你的内容)。然后,一旦它出现在服务器上,它就一直是这样的。没有后台处理 – 你的网站总是以其完成的形式存在。
另一方面,WordPress是一个使用PHP和数据库的内容管理系统。简单地说,这意味着,当有人访问你的WordPress网站时,你的服务器通过以下方式 “组装” 你的网站:
- 执行PHP代码,把你的网站的HTML版本组合起来
- 查询你的数据库以获得插入到HTML中的内容
上面,我们告诉你,WordPress是一个内容管理系统,但我们没有真正解释这意味着什么。一个内容管理系统,通常缩写为CMS,是帮助你创建、管理和修改网站内容的软件,而不需要直接与代码互动。
例如,你不需要像静态HTML网站那样通过用HTML格式化来手动添加你的内容,你只需要用WordPress编辑器输入你的内容,WordPress将处理在你的网站上显示它:
WordPress编辑器的界面
同样,如果你以后想编辑这些内容,你可以直接进入并使用同一个编辑器进行编辑,而不是需要直接编辑你服务器上的静态HTML文件。
我们稍后会讨论静态HTML网站的一些优点和缺点,但让我们从整个互联网超过43.3%的人现在使用WordPress的一些原因开始。
WordPress最大的好处是它几乎可以完全消除你的网站的日常管理中的代码。相反,你想采取的大多数行动都可以用一个图形界面来执行。
通过这个图形界面,你可以:
- 创建新的内容
- 改变你的网站的外观
- 改变你的网站功能
- 配置重要的SEO设置
- 执行大量其他重要的操作
除非你以HTML/CSS为生(即使你以HTML/CSS为生),否则这种方法将使你更容易管理你网站的各个方面。
每个WordPress网站都需要一个叫做theme的东西。你的主题决定了你的网站在前台的样子。要安装一个新的WordPress主题,你基本上点击一个按钮或上传一个文件,你的网站就会立即采用这种风格:
你如何添加一个新的WordPress主题
另一方面,在静态HTML网站中,你用你自己的CSS来控制你的网站的外观。这不仅在一开始就很耗费时间,而且如果你将来想彻底改变你的静态HTML网站的外观,也同样耗费时间。是的,有一些CSS框架,你可以用来加快这个过程,但它仍然需要更多的工作和专业知识,以便能够管理。
此外,你需要担心使你所有的CSS响应(又称在手机上看起来不错),而现在几乎每一个WordPress主题都是默认响应的。
WordPress还提供了一种叫做plugins的东西,使你能够轻松地扩展你的网站的功能。想在你的网站上添加一个联系表单吗?在静态HTML中,你需要处理验证问题,以及处理用户提交的数据的问题。使用WordPress,你只需安装一个插件…
你如何添加一个新的WordPress插件
困难的差距随着更大的功能而变得更大。想在你的网站上添加一个论坛?祝你自己做这件事好运。但是对于WordPress,你只需要安装一个论坛插件。
你甚至可以快速添加电子商务或社交网络功能。
主题和插件的组合,加上WordPress作为内容管理系统的一般功能,意味着你可以快速地建立起甚至是复杂的网站。
对于一个只有几个页面的非常基本的网站来说,静态HTML可以很快……但是如果你需要任何非标准的功能,WordPress几乎肯定会让你更快地建立一个网站。
想要更多的优势吗?请看这10个你应该使用WordPress的好理由。
你可能也会对《2023年将使用的60种超棒的网络开发工具》感兴趣。
你会发现有些人说 “静态HTML网站加载更快 “或 “静态HTML网站在谷歌排名更好 “之类的话。但是,这其中的一些说法应该是有根据的。虽然PHP和数据库确实引入了额外的加载时间和延迟,但让WordPress的加载时间低于一秒钟并不难–这已经足够快了。
你应该问自己,拥有一个稍快的静态网站是否值得放弃WordPress所提供的优势?另外,在过去的五年里,PHP的性能有了很大的提高。在我们最近的PHP基准测试中,我们得出结论,PHP 7.3每秒可以处理的请求(事务)数量是PHP 5.6的3倍。
WordPress 5.0 PHP基准测试
还有一些方法,你可以通过使用缓存来提供静态HTML版本的页面,从而轻松否定PHP和数据库的延迟。这意味着每个页面的加载基本上都可以快如闪电,就像静态HTML网站一样。
缓存对一个WordPress网站的影响有多大?下面是对一个WordPress博客在缓存之前和之后的快速测试。
无缓存
我们首先在WordPress博客上进行了禁用缓存的测试。
没有缓存的WordPress网站(Pingdom测试)
正如你所看到的,第一个HTML DOC的加载有明显的延迟。这是由于它没有从服务器上的缓存提供服务。
无缓存延迟
有缓存
然后我们在WordPress博客上进行了一次启用缓存的测试。其他方面都没有改变。
带有缓存的WordPress网站(Pingdom测试)
正如你所看到的,有一个巨大的改进。事实上,仅仅从服务器上的缓存中提供初始页面,就减少了32.2%的加载时间。
有缓存延迟
说到你可能听到的排名谣言,有很好的WordPress SEO插件,让你通过控制网站的技术和页面SEO的各个方面来优化你的WordPress SEO。如果WordPress网站在搜索排名中的表现真的比静态HTML网站差,你就不会看到它被The Wirecutter或TechCrunch这样的大规模平台使用。
不过,也有一些小的缺点,首先是维护。虽然选择高质量的WordPress托管可以消除许多最糟糕的维护,但你仍然要负责确保WordPress的核心软件、插件和主题的更新和兼容。这在今天是相当容易的,但这是你不需要做一个静态HTML网站的事情。
第二个缺点可能是质量。由于WordPress的极度流行,有很多不好的插件和主题在那里。而免费的解决方案有时会完全从地图上掉下来。在坏的东西中寻找好的东西可能很费时间。
你听说过WordPress–但现在让我们挖掘一下静态HTML网站的一些优点和缺点。
我们一秒钟前就谈到了这一点,但让我们在这里快速重述一下,因为这是静态HTML的主要好处之一。
当你使用WordPress和主题/插件时,你要负责更新所有的底层代码并确保没有任何兼容性问题。虽然这很简单(你通常只需要点击一个按钮),但这是你需要做的,以保持你的网站安全和运作。
另一方面,如果你写的是干净的静态HTML,你应该可以不用管它,也不用担心更新问题。
虽然WordPress允许你访问你的网站的所有底层代码,但静态HTML网站将使输入某些类型的标记变得更简单。与其需要处理主题模板文件和WordPress循环,一切都在你面前。
例如,虽然有WordPress的结构化数据标记插件,但你可以在静态HTML网站上更容易控制模式标记。
虽然静态HTML网站对于一个基本的网站来说肯定是好的,但当你试图扩大规模时,主要的问题就来了,无论是在内容的数量还是功能上。
这些缺点中的大多数只是与WordPress的优点相反。也就是说:
- 添加或编辑内容对用户来说并不友好,因为你需要钻研代码。
- 增加新的功能需要你自己编码。
- 改变你的网站的外观需要重写你的CSS。
此外,除非你自己真正懂得HTML/CSS,否则所有这些事情也需要支付给开发人员,而WordPress会让你自己做这些事情,在大多数情况下。
静态网站生成器与上述两种选择略有不同,它们采用内容管理系统的内容,如WordPress,与主题相结合,生成静态HTML页面。Jekyll是最流行的一种,你可以用它在GitHub Pages上托管你的整个网站或博客,用一个命令推送你的新内容。缺点是什么?设置它并不容易(至少可以这么说),即使对开发者来说,也可能很费时。
如果你有一个空闲的下午想了解更多关于Jekyll的信息,那么请看看Mike Neumegen的这篇文章。另外,像Grav这样的平面文件CMS可以让你更容易管理内容,同时还可以避免对数据库的需求。
如果你精通技术,甚至有可能得到两个世界的最好结果,把WordPress作为一个静态HTML网站生成器。然而,你只需要记住,如果你以这种方式使用WordPress,你将不得不做出牺牲。
- 你的网站上不会有任何 “实时 “的动态内容,根本没有。
- 没有为你推荐的文章或为每个访问者改变的小工具。
- 你不能使用WordPress的内置评论系统。
基本上,所有服务器端(PHP)生成的东西都将成为静态的,并手动更新。静态网站生成器将根据你的内容创建一个完整的HTML页面,一旦完成,无论有多少人访问你的网站,它都不会被重新生成;除非你在电脑上输入一个特定的命令。
开发人员解决评论 “问题” 的方法是,要么根本不使用它,要么改用基于JavaScript的解决方案,最流行的是Discuz或Facebook评论。
有几个WordPress的缓存插件,你可以用来创建你的文章和页面的静态HTML文件,但如果你使用Nginx作为你的网络服务器(如果你没有,你真的应该这样做,但这是另一篇文章的主题),你可以直接打开全页面缓存的开关,并设置它在一天或一个星期后失效。你能 “承受 “的时间越长越好。
接下来会发生的是,第一个访问者会让服务器生成完整的、缓存的HTML文件,任何在预定的过期时间内的连续访问者都会得到这些文件。部分服务器使用 进行页面缓存。你问如何设置它?如果你自己管理服务器,这里有一份由DigitalOcean提供的非常详细的指南,你可以遵循。
你也可以用WordPress的Cloudflare页面规则,通过缓存提供整个网站。我们在这里为您提供了如何为您的WordPress文章和页面设置Cloudflare缓存的所有细节。
这对那些正在开展活动或预期有巨大流量的网站来说是非常有益的。但请记住,如果你完全从缓存中提供服务,你很可能会遇到WooCommerce结账、WordPress管理工具栏和其他各种问题,你需要修复或找到解决方法。
推荐阅读: 如何为WordPress设置Cloudflare APO
我们一般不建议从缓存中提供整个网站,除非您有时间对所有内容进行适当的测试。例如,当涉及到WooCommerce时:您可以缓存 “静态” 首页、分类、产品页面(如果您不经常改变它们的话),然后是的,它几乎可以立即加载!但是,一旦有人点击 “添加购物车”,您就必须切换到非缓存版本,否则他们就无法使用。但是一旦有人点击 “添加到购物车”,你就必须切换到非缓存版本,否则他们会看到购物车总是空的。
我们在为电子商务解决方案和博客制定了服务器级别的规则,以确保什么应该被缓存,什么不应该被缓存。
一些例子包括某些WooCommerce和EDD的页面,如cart、my-account和checkout,被排除在缓存之外。当检测到 或 时,用户会自动绕过缓存,以确保结账过程的顺利和同步。
这为你提供了一个快速加载的WordPress网站,但不必担心东西会坏。
缓存组件栈
如果服务器提供商没有缓存服务支持,您有希望利用WordPress博客的动态功能?你可能想看看通过反向代理加载你的网站。
现在是一百万美元的问题……如果你只是建立一个不太可能改变或需要新内容的小型网站,静态HTML是一个很好的方法。但对于其他任何事情,WordPress几乎肯定会是一个更好的选择。如果你没有机会接触到开发人员,这一点尤其正确。