解决方案:WordPress速度优化最后一招,用Opcache实现前后端全站加速
优采云 发布时间: 2022-11-30 17:40解决方案:WordPress速度优化最后一招,用Opcache实现前后端全站加速
WordPress的访问速度绝对是新手WordPress站长最头疼的问题之一。如果你用过其他的建站系统,比如ThinkPHP、智盟等国内的CMS,你会发现,即使安装最纯净的WP,也没有插件,没有发表过文章,访问速度也不行和这些国产系统一样好。
加快 wordpress
这个问题困扰了我们团队很久。随着我们对WordPress越来越熟悉,我们会发现一些蛛丝马迹,比如它的钩子加载机制、插件挂载机制、数据库表结构等,设计的过于灵活,非常适合低端代码网站建设者,但它也失去了很多性能。
关于WordPress访问速度的优化教程太多了,但大多都是围绕去除谷歌字体、安装缓存插件、优化数据库、压缩图片和静态脚本文件等常用方法展开的。
最有效的其实就是安装缓存插件。设置好之后,前台的访问速度会大大提高,但是这个方案也有很大的局限性——只适合静态页面缓存,非常适合企业展示网站;而对于一些需要动态渲染的网站,比如无忧快建在线课堂等带有会员制的网站,页面需要根据用户是否登录显示不同的内容,所以不能简单的通过缓存插件来加速插件;再比如WordPress后台的动态渲染形式,其实是不可能通过缓存插件来实现加速的。
关于动态渲染页面的加速,我们之前也总结过一些干货:10年经验终极盘点,彻底解决WordPress后台访问慢的问题;
以上教程可以解决一些问题。但是,我们在开发无忧在线课堂系统时,引入了可视化自助建站的概念,并增加了课程收费、付费会员等功能。一切都是按照WP标准开发的,虽然应该做了优化,但是可能因为功能多,访问速度一直不尽人意。
于是我们探索了一种新的优化方法,利用PHP的Opcache扩展,操作非常简单,提速效果明显。
OPC缓存
看看没有Opcache优化的访问速度测试:
访问速度测试
我用的是Edge浏览器的网速测试工具。
这是一系列常规优化后的速度。服务器配置为阿里云2核CPU/4G内存/5M带宽C5实例。网站完全打开需要 2.52 秒。你可以感觉到明显的滞后。如果追求极致的访问速度,这肯定是不够的;
从截图中的数据可以看出发送请求用了0.1毫秒,很快,内容下载用了39.02毫秒,也很快;最耗时的部分是“Waiting (TTFB)”,耗时2.47秒,部分发生在服务器收到请求之后,内容开始下载之前,也就是服务器所花费的时间处理用户发送的请求并生成返回内容,应该包括代码逻辑的执行、数据库查询、文件读取等步骤。其实我们优化了数据库部分,文件读取依赖于磁盘IO性能,网站访问量小的时候应该不会成为瓶颈,所以唯一的可能是代码执行阶段出了问题.
再来看看今天的主角,Opcache。
Opcache是PHP官方出品的性能优化扩展。该扩展从PHP5.5开始绑定,但默认不启用。
Opcache 是如何工作的
关于它的工作原理,这里简单介绍一下。有兴趣的朋友可以看看,不感兴趣的可以直接跳过,看如何配置和使用。
要说清楚Opcache的原理,首先要从PHP语言是如何处理http请求说起。总共有四个步骤:
收到请求后,启动Zend引擎,加载注册的扩展模块;初始化后读取脚本文件,Zend引擎对脚本文件进行词法分析,解析语法,生成语法树;Zend引擎编译语法树并生成操作码;Zend引擎执行操作码,返回执行结果;
Zend 可以看作是一台运行 PHP 语言的机器。机器收到用户请求后,首先要启动,然后将用PHP语言编写的代码进行处理,生成计算机可以理解的代码,最后执行代码得到结果。
用户每次发送请求,都要经过上述流程(php-fpm form不再重复步骤1)。服务器每天要处理的请求数量是非常庞大的,所以上面的过程对性能的消耗很大。其实对于一个已经上线的网站来说,源代码是很少改动的,所以没有必要每次都进行1、2、3步。Opcache 用于缓存步骤 1/2/3。
如何使用 Opcache
以宝塔面板为例:
进入软件商店,找到你使用的PHP版本,我们使用的是PHP7.4,点击设置,如下图:
PHP 设置
找到 Opcache 并点击安装
PHP扩展安装
安装成功后Opcache会自动生效,但是宝塔面板默认设置可能有问题,需要检查配置:
进入PHP的配置修改,查看以下部分代码:
缓存设置
关注这些行:
opcache.内存消耗
指的是Opcache的可用内存大小,单位是MB。这取决于您的服务器内存。一般设置为内存的1/4。我们有4G内存,所以我们设置为512;
opcache.max_accelerated_files
指的是最大可以缓存的PHP文件个数,根据你的代码量而定,一般为10万-20万;
" />
opcache.validate_timestamps
指的是缓存过期时间,这里必须设置为0,表示禁用,否则会出现很多缓存重复生成的问题;
下面贴出完整的配置:
opcache.enable = 1
opcache.memory_consumption=512
opcache.interned_strings_buffer=32
opcache.max_accelerated_files=80000
opcache.revalidate_freq=3
opcache.fast_shutdown=1
opcache.enable_cli=1
opcache.validate_timestamps=0
看看加速效果:
需要注意的是,第一次访问速度不会快,因为生成了缓存,所以测试第二次访问速度。
还是以无忧在线课堂系统为例:
优化速度测试
可以看到TTFB时间下降到了668毫秒,整体访问速度也在1秒以下,基本达到了秒开的效果。
使用Opcache注意事项
Opcache 看起来很漂亮,但它也有一些缺点:
Opcache 生成的缓存常驻在内存中。如果网站代码量大,会占用大量内存,服务器内存过低不建议使用;每次更新代码,都需要手动重新生成缓存,否则新代码不会生效。在宝塔中重启PHP即可生效;在线正式环境必须关闭opcache.validate_timestamps选项,否则Opcache会不断检查代码是否更新并生成新的缓存,也会消耗额外的服务器性能等不可理解的问题;
其实这种方法适用于任何用PHP语言开发的网站。如果您的网站通过各种方法进行了优化,但速度仍然不理想,不妨试试这个方案。
事实:如何进行SEO竞争对手分析及其重要性
许多企业认为竞争对手分析是理所当然的,认为他们在 SEO 工作中已经尽力而为。但事实并非如此。总有一些地方可以改进以获得更好的结果并保持竞争优势。数据驱动的营销策略(如 SEO 关键字竞争分析)可以帮助您了解哪些策略对您的竞争对手有效,并将这些知识用于您自己的 SEO 活动。
在本文中,您将了解:
• 什么是数据驱动营销?
• 什么是SEO 竞争对手分析?
• 如何做竞争对手分析SEO
• 什么是SEO 竞争对手分析工具?
开始吧。
什么是数据驱动营销?
数据驱动的营销意味着数字营销活动中的每个决定都基于从研究中采集
的数据。这些数据大部分与目标受众或企业的现有客户有关。
搜索引擎优化是一种数据驱动的营销工具。更具体的 SEO 实践,如 SEO 关键词竞争分析和竞争对手分析 SEO 也是数据驱动营销的例子。
数据驱动营销的主要目标是确保任何营销活动都能满足客户的需求或行为。采集
在线评论、网站流量和转化率等信息,以了解人们对您的业务的需求或期望。
什么是 SEO 竞争对手分析?
SEO 竞争对手分析或 SEO 竞争分析涉及研究内容和内容的其他元素,例如竞争对手使用的链接和关键字。简单来说,这是两个同类行业或行业内的竞争网站之间的SEO比较。
SEO 的竞争对手分析可以包括:
• SEO关键词竞争分析
• 竞争对手反向链接分析
• 关键词差距分析
• 热门内容分析
SEO 竞争分析是有效和高效的,因为您不必从头开始研究。您可以看看其他竞争对手在做什么,并将其应用到您自己的 SEO 工作中。
" />
为了提高效率,大多数营销人员使用 SEO 竞争对手分析工具来简化流程并采集
大量数据,而无需太多工作。这些工具在生成竞争对手分析 SEO 报告时也很有用。SEO 竞争对手分析工具的一些示例包括 Ahrefs、SEMrush 和 Moz。
营销人员学习如何进行竞争对手分析 SEO 以保持排名并确保他们在行业中保持竞争力。
如何进行竞争对手分析
现在我们已经回答了什么是 SEO 竞争对手分析?现在是时候看看如何通过几个基本步骤进行竞争分析了。请注意,这些是最常见的步骤,您可以立即实施。
有关如何进行竞争对手分析的更详细和深入的方法,您可以查看 Ahrefs 的 SEO 竞争对手分析模板。
第 1 步:确定您的真正竞争对手
学习如何为 SEO 进行竞争对手分析的第一步是了解竞争对手。
Moz建议您了解与您的关键字相关的真实竞争对手,因为并非所有排名高于您的关键字的网站都是您的竞争对手。
在搜索引擎优化分析中发现真正的搜索引擎优化竞争的过程中,你需要彻底和准确。这涉及对多个关键字进行 SEO 比较和研究,并记录所有关键字一致出现的前 10 或 20 个网站。
一种方法是使用免费的 SEO 分析工具,例如 Ubersuggest,然后输入关键字。在“内容创意”部分,您将获得该关键字的链接和域排名列表。在此示例中,我们使用“宠物美容”作为关键字。
如您所见,该关键字的顶级域之一是它不一定属于宠物美容行业,而是属于新闻机构。
由于 Ubersuggest 是一款免费工具,因此用于竞争对手 SEO 分析的关键字和排名靠前的域名可能会受到限制。可能值得使用像 Ahrefs 这样的付费 SEO 工具来深入挖掘 SEO 比较数据并获得准确的结果。Ahrefs Competitor Analysis Tool 是一款更高级的工具,具有无数功能,可让您更轻松、更快速地进行竞争对手分析的任何部分。
第二步:进行网页分析
如何进行竞争分析的下一步是查看竞争站点及其表现最好的页面。这些页面使用什么关键字?它们在内容中是如何使用的?
这称为关键字差异分析。这是竞争对手 SEO 分析阶段,您可以在竞争对手的网站上找到 关键词,但在您的网站上找不到。Ahrefs 竞争对手分析工具具有称为“内容差距”的特定功能,可识别针对您指定的特定域排名的关键字。它看起来像这样:
当您发现也适用于您的业务的相关关键字时,您可以创建一个页面来仅针对这些关键字进行排名。发生这种情况时,您就有机会引导客户访问您的网站,而不是竞争对手。
步骤 2a:进行竞争对手反向链接分析
如何进行竞争对手分析的另一个方面是检查网站的反向链接统计数据。竞争对手反向链接分析涉及查看哪些站点链接回其内容,以及这如何影响其域评级和权限。您可以使用这种数据驱动的技术来获得有价值的见解,并执行类似的链接构建策略来复制其结果。
您可以从竞争对手的反向链接中检查这些品质:
• 反向链接数量
" />
• 链接站点的域权限
• 链接内容的相关性
一旦您了解您的竞争对手正在做什么来获取反向链接,您将更容易制定类似的策略并为您自己的网站实施它们。
第三步:关注高投资回报率的关键词
热门企业可以为数十个顶级竞争关键字排名。这是否意味着您也需要竞争?不必要。此外,大公司有预算来确保他们始终在关键字中排名靠前。
SEO 专家 Neil Patel 建议您将竞争对手的 SEO 分析工作集中在能够带来更多利润或收入的关键字上。就宠物店业务而言,当“最好的狗钥匙链”每个仅售 2 美元时,尝试对它们进行排名毫无意义。
想想您引人注目的产品或服务,然后专注于为该特定产品或产品系列带来更多潜在客户的关键字排名。或者,创建与您的客户群特别相关的特别独特的内容,这是您的竞争对手没有想到的。
在可靠的竞争对手分析 SEO 活动中,成功主要取决于找到竞争对手与受众之间的差距或脱节并填补这一差距。它可以是低竞争关键字或具有高搜索量但尚未引起竞争的简单有用的文章。
第 4 步:创建和执行内容计划
现在您已经采集
了数据,下一步是使用这些数据创建 SEO 竞争对手分析报告。根据报告,您可以构建 SEO 内容策略。要开始制定内容计划,请创建关键字列表或内容创意列表并将它们保存在简单的电子表格中,或使用 Ahrefs 等工具。
Ahrefs 竞争对手分析工具还具有内置功能,可将选定的关键字或内容创意添加到特定列表,因此您可以将它们导出到电子表格并创建快速的 SEO 竞争对手分析报告。
第 5 步:跟踪进度
在发布新内容或重新优化旧内容后,您需要跟踪其性能。应定期进行关键字审核并生成竞争对手分析 SEO 报告,以检查您的竞争分析策略是否有效。
您可以为此使用任何免费的 SEO 工具,但在 Ahrefs 中,您需要转到关键字浏览器并输入您的目标关键字。然后,在左侧,单击按页面共享流量。这应该显示您的主页及其位置。在下面的示例中,Ahrefs 在第一页上针对关键字“dog groomer”的排名最高。
第 6 步:使用 SEO 竞争对手分析模板涵盖所有基础
实施有效的竞争对手分析 SEO 的方法不止一种。您可以使用免费的 SEO 竞争对手分析模板来指导您。准备好文档可以帮助您节省时间并使您的 SEO 竞争分析项目井井有条。模板还使 SEO 竞争对手分析报告更准确,生成速度更快。
当然,进行彻底的竞争对手分析是一项需要时间和资源的工作,但结果是值得的。如果您愿意将您的工作外包,您可以聘请专门从事特定 SEO 服务的数字营销机构,例如 SEO 竞争对手分析、特许 SEO 和本地 SEO。Thrive 是一家信誉良好的机构,在 SEO 竞争对手分析方面拥有多年经验。
综上所述
什么是数据驱动营销而不考虑竞争对手的数据?并非所有*敏*感*词*都可以承诺学习如何进行 SEO 竞争分析,因为他们不熟悉不熟悉的概念,并且感觉像是一个艰巨而复杂的过程。
其他人可能没有时间了解使用软件生成竞争对手分析 SEO 报告的来龙去脉。然而,它可以像查看您的竞争对手正在做的事情并做得更好一样简单。