如果你准备做一个网站,你的版面,栏目都考虑好了,那么你应该考虑到网站的性能问题,这不仅是给用户良好的体验感,在 seo 的范围内,更是必不可少的一部分。当然市面上性能不错的源码非常多,像 dedecms 、帝国 cms 、 WordPress 等等。今天专职讲下 WordPress 的优化及运行等相关问题。

WordPress 的好是有目可睹的,它给用户提供出色的用户体验,并给优化人员确保网站的性能及网站的优化可再扩展化的功能。让我们来看看如何优化 WordPress 网站,让网站能提高更优秀的性能。

MySQL

查询缓存是你最好证明 MySQL 是一个可扩展的关系数据存储,没有任何理由 WordPress 为什么不能在未来几年内继续努力。

你会想,为您的网站以确保启用查询缓存和执行。这将确保 MySQL 正在做尽可能少的工作,更重要的事情比冗余查询腾出资源。

您还需要确保您使用工具像 mysqltuner 或相似的,以确保你的表性能 (缓冲等) 是最佳的。交换引擎 InnoDB 的,现在有支持全文搜索,推荐用于高流量的网站。你不会危及本地 WordPress 的搜索质量。我建议 Percona 的分布,尤其是如果 MySQL 的功能,如分片,读副本等,允许其规模随着需求的增长。

MySQL 的数据存储区是不是一个瓶颈,需要分析你的主题和插件生成的查询优化 (减少响应时间),减少其数量,通过重构代码或不同的缓存技术。

请记住,默认情况下,使用 WordPress 的瞬态问题缓存像一个耗时的 API 请求 (API 请求变得昂贵,因为它们阻止执行,同时等待处理响应从第三方) 移动,并把它放到数据库 (wp_options 表) 。这也许不是一件坏事,如果这个数据没有被序列化并存储在同一表中的其他各种设置在 WordPress 。

PHP

PHP 是缓慢的。这不是 WordPress 的故障,也不是任何人的过错,技术不断向前发展。我们该怎么办呢? 使用 NewRelic 的跟踪优化可以得到一个经验:

• 较大的内存使用情况,更大的执行时间。

• 利用 PHP 的自动加载,以减少内存使用。

使用记忆和尽可能避免环路,以减少执行时间和内存使用情况。

避免打开比必要更多的文件,磁盘和内存的使用,以减少呼叫。

使用需要,而不是 include_once 和 require_once 。

操作码缓存

APC 是一个自由,开放和强大的框架用于缓存和优化 PHP 中间代码。这意味着,当添加到您的 Web 服务器,可以实现显着的速度提升 (尤其是具有良好的代码) 。 APC 保持解释 (可执行文件) 版本的代码在内存中,因此,它的请求没有被重新解释。

APC 还提供对象存储,使存储在内存中创建的对象隔壁脚本需要他们。这个级别的缓存,唯一的缺点就是它的地方你有各自的应用服务器。这意味着每台服务器上重建对象缓存 (浪费 CPU 时间),而且更重要的是,清除的对象是棘手的。

数据库和架构优化后,可以进行微调你的 WordPress 安装。

这里有一些任务可以完成,以确保您以峰值性能运行:

插件

这可能会明显被发现的,但它是往往被忽视的东西。请确保您的 WordPress 插件是最新的。开发人员总是在寻找方法来提高他们的插件,这些方法之一是他们与每一个版本的代码以提高性能。这是一个非常简单的方式,以确保你的插件始终运行最新版本的。

应禁用未使用的插件,让出他们不使用宝贵的资源,加载了不必要的代码。这不仅节省空间。在服务器上,这些没有使用的插件会使你的网站速度很慢,有必要应该更新到最新版本、下载补丁或不再不再支持插件代码以保护漏洞不被利用。

使用 WordPress 的缓存

最有名的 WordPress 的缓存工具是 W3 的总缓存,但也有其他。这些缓存插件加快您的网站,让更多的用户重新访问您的网站从而保护到访问者用户利益。

浏览器缓存

浏览器高速缓存可以帮助减少服务器负载限制每页的请求数量。例如,通过设置正确的文件头不改变的文件 (静态文件,如图片,CSS,Java 等) 的浏览器然后将这些文件缓存在用户的计算机上。这种技术可以让浏览器进行检查,看文件是否已经改变,而不是简单地要求他们。其结果是,您的 Web 服务器可以更多的出现 304 回应,而不是 200 响应,要求要发送的文件。

看看到 HTTP 缓存控制和 Expires 头,以及实体标签获取更多信息。

CDN

使用 CDN,可以让你存储的图像和文字,让访问者访问过后的内容从页保存在第三方群集服务器上,从而加快网页下载时间。

小工具

可疑的所有部件 (或侧边栏内容),将强制用户轮流查询 DNS 服务器。例如用第三方工具将连结到各种各样的网站,这可能会延迟加载,直到信息传递给用户,这明显让你的信息在网络转了好几手,让用户直接感受到你网站的速度真的慢了。

此外,如果你的主题是使用自定义部件绘制最近的评论文章。如果这是不正确处理,它会查询数据库,每加一次查询将大大增加服务器的负担。

如果您使用的是大量的 Widgets,是一个好主意,将使用 WP 的 Widget 缓存插件 (除了标准缓存),以减少其输出的处理时间。

通过将尽可能多的这些变化,并尽可能微调的东西可以大大增加你的 WordPress 加载时间,让您的访客将在网站上有更好的体验。