设计出品
扫描关注网站建设微信号

扫一扫微信二维码

优化WORDPRESS网站的开发人员指南

新乡云优化2020-01-13经验之谈
优化WORDPRESS网站的开发人员指南
网站性能不仅对提供良好的用户体验至关重要,而且在SEO领域也很重要。SEO活动的各个方面都应考虑在内,网站性能是成功不可或缺的一部分。
WordPress有很多部分必须一起工作才能提供 出色的用户体验,并且优化这些内容将确保您网站的性能达到为访问者提供愉悦体验所需的位置。
让我们看一下各个部分,看看如何优化它们可以提高WordPress网站的性能。
磁碟
关于磁盘性能对应用程序的影响,可以说很多。如此之多,以至于对于基于内存的缓存作为灵丹妙药解决方案的价值存在许多错误的观念。假设您的硬件是现代硬件,那么以下是一些有关您的体系结构的经验法则:
非共享本地磁盘将始终提供最一致和最可靠的性能。
网络(共享)存储肯定会发挥作用,但不会扩展到您想要的程度或方式。始终将需要解决的问题分解为针对需求进行优化的部分。
即使使用基于云的解决方案,也绝不能牺牲数据冗余。
的MySQL
查询缓存是您最好的朋友。MySQL已被证明是可伸缩的关系数据存储,并且没有理由为什么它在未来几年无法继续用于WordPress。
您将要确保查询缓存已启用并在您的网站上表现良好。这样可以确保MySQL所做的工作尽可能少,从而(希望)释放比冗余查询更重要的资源。
您还需要确保使用mysqltuner之类的工具或类似工具,以确保表性能(缓冲区等)是最佳的。对于流量较高的网站,建议将引擎切换到现在支持全文搜索的InnoDB。通过进行切换,您将不会损害本地WordPress搜索质量。我建议使用Percona MySQL 发行版,尤其是在分片,只读副本等功能允许其随需求增长而扩展时。
一旦确定MySQL数据存储不是瓶颈,就需要分析由主题和插件生成的查询,以优化它们(减少响应时间),通过重构代码或各种缓存技术减少其数量。请记住,默认情况下,在WordPress中使用瞬态会“解决”缓存诸如耗时的API请求之类的问题(API请求变得昂贵,因为它们在等待和处理第三方响应时会阻止执行)并将其放入数据库中(wp_options表)。如果未对数据进行序列化并将其存储在与WordPress中的其他设置相同的表中,那可能不是一件坏事。
了解如何与我们合作!
幸运的是,有一些新的选项可以减少数据库负载,稍后将重点介绍。New Relic使传播环境中的事情变得轻而易举。
的PHP
PHP很慢。这不是WordPress的错,也不是其他人的错。技术只是不断前进。我们对此怎么办?使用New Relic的堆栈跟踪来获得关于可在何处进行优化的经验视图。需要考虑的一些经验法则:
内存使用量越大,执行时间越长。
利用PHP 5的自动加载功能来减少内存使用量。
使用记忆并尽可能避免循环,以减少执行时间和内存使用量。
避免打开过多的文件,以减少对磁盘和内存使用的调用。
使用include和require而不是include_once和require_once。
操作码缓存
APC是一个“免费,开放且强大的框架,用于缓存和优化PHP中间代码”。这意味着,将其添加到Web服务器后,您可以显着提高速度(尤其是编写良好的代码)。APC将代码的解释后的(可执行)版本保存在内存中,因此不必重新解释对它的请求。
APC还提供了一个对象存储库,使您创建的对象可以存储在紧邻需要它们的脚本的内存中。这种缓存级别的唯一缺点是它对于您拥有的每个应用程序服务器都是本地的。这意味着将在每个服务器上重建对象的缓存(浪费CPU时间),更重要的是,清除对象非常棘手。
到处都有对象的多个副本,可能具有各种“状态”,但是有一些清除问题的解决方案。
在优化数据库和体系结构之后,是时候对WordPress安装进行微调了。
您可以完成以下任务以确保以最佳性能运行:
外挂程式
这对于某些人来说可能是显而易见的,但是却经常被人们忽略。确保您的WordPress插件是最新的。开发人员一直在寻找改进插件的方法,其中一种方法是在每个发行版中提高其代码的性能。这是确保插件始终以其最高性能运行的非常简单的方法。
应该禁用未使用的插件,以便它们不使用宝贵的资源并加载不必要的代码。这不仅可以节省服务器上的空间,还可以确保保护漏洞免受那些发布补丁程序缓慢或不再支持其插件代码的开发人员的侵害。
使用WordPress缓存
最著名的WordPress缓存工具是W3 Total Cache,但WordPress社区还推荐了其他一些工具,例如BatCache和WPSuperCache。这些缓存插件可加快您的网站速度,并为重新访问您的网站的访问者和用户带来很多好处。
浏览器缓存
浏览器缓存可以通过限制每页的请求数来帮助减少服务器负载。例如,通过在不变的文件(静态文件,如图像,CSS,JavaScript等)上设置正确的文件头,浏览器随后会将这些文件缓存在用户的计算机上。这种技术使浏览器可以检查文件是否已更改,而不是简单地请求它们。结果是您的Web服务器可以回答更多304个响应,从而确认文件未更改,而不是200个响应(要求发送文件)。
查看HTTP Cache-Control(特别是max-age)和Expires标头,以及实体标签以获取更多信息。
CDN(内容交付网络)
使用CDN,您可以将图像和大文件存储在世界各地的第三方群集服务器上,其唯一任务是使内容在地理上更接近您的网站访问者,从而加快页面下载时间。
避免使用Google SiteMap Generator插件
这可能是出乎意料的建议,不是吗?每次您更改站点地图时,此著名的Google Sitemaps插件都会从头开始重建自身,而不是在发生新变化时逐步添加。相反,请从WordPress存储库中选择另一个可以克服此限制的领先插件。顺便说一句,您应该只从WordPress存储库下载插件,而不从第三方站点下载可能是网络钓鱼尝试或可能包含恶意软件的第三方站点。
缩小
当HTTP 2.0到来时,它的价值可能会有所降低,但是在此之前,尤其是对于移动设备而言,最小化对于改善最终用户体验至关重要。减少文件大小和文件数量(以及HTTP事务处理)对用户使用您的网站的体验产生重大影响。
不幸的是,并非所有的层叠样式表(CSS)或JavaScript(JS)都适用于流行的minify库中的各种技术。开发人员应采取步骤使用jQuery或WordPress Core提供其文件的完全优化版本,以减轻发布者的负担。
WordPress有多种支持缩小过程的工具。进行选择时,请确保选择一个将缩小的文件缓存到磁盘,尊重模板之间的差异,支持本地和远程文件,并且最重要的是与内容交付网络和移动插件兼容的选择。
小部件
对所有将迫使用户轮询其他DNS服务器的小部件(或侧边栏内容)保持怀疑。例如,Delicious将链接到各个站点,这可能会延迟加载,直到信息传递给用户为止。
另外,请检查您的主题是否正在使用自定义小部件来绘制帖子的最新评论。如果处理不正确,它将每次轮询数据库,从而大大增加了负载。
如果您使用大量的小部件,一个好主意是使用WP Widget Cache插件(除标准缓存外)以减少其输出的处理时间。
通过应用尽可能多的这些更改并进行尽可能的微调,您可以大大增加WordPress的加载时间,您的访问者将在网站上获得更好的体验。
照片:MB-one
6条留言
戴夫 
戴夫 在2019年3月11日下午12:19
很棒的文章。我喜欢wordpress,我将尝试您在本文中列出的一些东西。
回复
拉吉 
Raj 在2019年3月11日下午12:55
每当安装wordpress网站时,我们都会在源代码中编辑一些内容,例如锚文本,删除首页标题和其他较小的php编辑,以尝试针对seo优化wordpress网站。您对此有何看法,正在对链接进行php编辑(例如将Home Title链接更改为其他名称,将Blog帖子的标题从Permanent Link更改为..以仅更改帖子名称等)会有所不同,或者我们是在WordPress网站上更改无用的东西?
回复
路易丝 
路易丝 在2019年3月11日下午4:24
帖子好,马特!
回复
杰西 
杰西(Jessie) ,2019年3月11日,晚上7:09
很棒的文章……我会提到W3 Cache因破坏WP网站而臭名昭著。我建议使用超级缓存,因为它在我自己的站点上更好用。
回复
斯宾塞·贝尔科弗(Spencer Belkofer) 
斯宾塞·贝尔科弗 (Spencer Belkofer),2019年3月12日,晚上9:15
这是非常好的东西!(我已经通过电子邮件将其发送给我们的开发人员。)
这些东西会变得非常令人费解,非常快。这是我所见过的第一个“入门”指南,对开发人员和我们中那些不那么倾向于技术的人来说实际上是有意义的。
做得好!
回复
哥斯 
2019年3月28日晚上11:27, Coeus
您在这里发布了惊人的东西。它确实是开发人员指南。有关Opcode catch和MySql的重要信息。现在,我可以优化我的wordpress网站以提供更好的性能。
文章关键词