获取报价

529501683@qq.com 微信扣扣同号

联系我帮您解决你的网站安全问题,请点击最左侧获取报价!!!

WordPress网站性能优化:WP-Rocket插件(下)

预加载

  • 预加载(Preload)
    • 激活预加载(Activate preloading)
    • 预加载缓存(Preload cache)
  • 预加载链接(Preload links)
    • 开启预加载链接(Enable link preloading)
  • 预解析DNS请求(Prefetch DNS Requests)
    • 预加载字体(Preload fonts)

预加载缓存

Preload Cache 功能通过模拟访问您的网站页面来生成缓存文件。由于该功能在插件安装时默认启用,因此无需等到真实访问者访问页面才开始提供缓存文件,从而使您的页面从第一次访问开始就非常快速。

功能概述:

  • 默认情况下,WP Rocket 会在插件激活和保存更改后自动预加载首页和移动版首页。
  • Preload 是一个持续的过程,与缓存清除相关联,每次清除缓存时都会预加载页面。
  • 预加载会在多种情况下触发,包括保存设置、手动清除缓存等。

基本要求:

  • 需要能够运行 WP Cron 或真实的服务器端 cron 作业。
  • 网站和站点地图必须公开访问。
  • 预加载不适用于已登录用户或被“维护模式”插件阻止的网站。

检查预加载是否工作:

  • 通过 (S)FTP 或文件管理器访问 WordPress 安装路径。
  • 进入 /wp-content/cache/wp-rocket/yourdomain.com/ 文件夹。
  • 点击清除缓存并预加载,刷新文件夹查看缓存文件是否生成。

预加载速度:

  • 每 60 秒最多预加载 45 个 URL。
  • 速度受服务器 cron、基本要求和其他任务影响。

当页面缓存被禁用时:

  • 启用预加载仍然有用,可以触发其他优化,如 CSS 文件压缩、延迟 JavaScript 执行等。

预加载和用户缓存、Cookie:

  • 默认情况下,预加载不适用于用户缓存或特定 Cookie 的缓存文件。

预加载基于 SEO 插件的站点地图:

  • WP Rocket 的预加载自动兼容大多数常见的 SEO 插件。

自定义预加载站点地图和优先级:

  • 可以使用过滤器自定义预加载行为。

预加载和移动缓存:

  • 启用移动缓存功能后,预加载会生成移动特定和桌面特定的缓存文件。

预加载和 WebP 兼容性插件:

  • 启用 WebP 兼容性插件后,WP Rocket 会预加载 WebP 缓存文件。

排除 URL 预加载:

  • 可以使用排除 URL 框或过滤器排除特定页面或页面组。

自动排除的 URL:

  • 分页页面(包含 /page/ 的 URL)不会被预加载。
  • 某些特定 URL 模式和带有查询字符串的页面也不会被预加载。

停止预加载过程:

  • 如果需要停止预加载,可以禁用预加载选项。

技术信息:

  • 预加载使用后台进程,最多使用 90% 的可用 PHP 内存。
  • 依赖 WP Cron 或服务器端 cron 和 Action Scheduler。
  • 使用特定钩子和事件来处理预加载状态和 URL。

预加载链接

预加载链接功能将改善用户在浏览您的网站时页面加载时间的感知。如果用户将鼠标悬停或触摸某个链接超过100毫秒,该页面的HTML将在后台被获取,这样当他们实际点击链接时,页面将几乎瞬间加载!

这个选项仅改善用户体验和感知的加载时间——您不会在PageSpeed分数或由Pingdom、GTmetrix等测量的加载时间上注意到任何差异。

此优化应用于所有页面,无论是缓存还是未缓存的,适用于所有未登录的访问者。

自动排除:

  • 任何来自wp-admin、登录/注销的URL
  • 由WP Rocket配置排除缓存的URL
  • 图片
  • 带有查询字符串或锚点的链接
  • 外部URL
  • 带有PDF、DOC、DOCX和XLS扩展名的文件
  • ThirstyAffiliates插件的Cloaked URL字段中设置的链接slug
  • 带有/refer/、/go/、/recommend/和/recommends/的链接

手动排除:

可以使用以下过滤器手动排除URL:

add_filter( 'rocket_preload_links_exclusions', function ($links) {
  $links[] = '/projects';
    return  $links;
} );

可以在$links[]中添加任意数量的URL,以添加更多排除项,可以添加任意多行,每行一个URL。

插件兼容性:

此功能取代了以下插件的需求,如果检测到这些插件,您将被提示停用它们:

  • instant.page
  • Flying Pages
  • Quicklink
  • MemberPress开发者工具 – 此插件禁用预加载链接选项。

预解析DNS请求

如果您网站上有第三方内容(例如从 Google 加载的字体或来自 YouTube 的视频),您可能希望将其源域添加到预解析 DNS 请求选项中。

如何使用 DNS 预解析:

添加源主机,即文件托管的域名,如下所示:

  • 移除 http 或 https
  • 保留双斜杠 例如,如果有一个请求如下:
  • https://fonts.googleapis.com/css?family=Roboto:00111222 您应输入为:
  • //fonts.googleapis.com

DNS 预解析的作用:

当您的网站加载任何托管在您域名之外的内容时,访问者的浏览器必须从该其他域名检索文件。该过程的一部分是浏览器连接到该域名,这称为 DNS 解析。DNS 预解析告诉浏览器在需要文件之前执行此连接,以便在请求文件时连接已经完成。

这可以轻微提升加载时间,因为当请求外部资源时,DNS 解析已经处理完毕。

减少 DNS 查找:

当您在网站上使用大量第三方内容时,您会看到 GTMetrix 建议减少 DNS 查找。

预解析 DNS 请求选项不会移除此建议。唯一的方法是实际移除第三方内容。没有任何方法可以在不进行每个域名的 DNS 查找的情况下使用第三方内容。预解析选项不会移除查找的需要,它只是提前处理它。

预加载字体

预加载字体有助于解决 PageSpeed 建议中的预加载关键请求问题。该功能位于 Preload 标签页:

预加载字体

如何使用预加载字体:

预加载字体选项允许您告诉浏览器开始下载要到很晚才会发现的字体。这是因为字体是在 CSS 文件中引用的。

预加载字体会改善加载时间和感知性能。

不要预加载所有内容:

预加载应谨慎使用,以避免创建瓶颈。仅预加载那些会延迟页面渲染或感知性能的字体。如果您预加载了太多不需要立即使用的字体,将会降低网站的性能。

不要为同一种字体预加载多种格式。在预加载框中添加 .woff2、.woff、.ttf、.eot、.svg 格式只会强制浏览器预加载多个字体文件,而它只需要一个(大多数情况下是 .woff2)。

使用预加载字体与移除未使用的 CSS:

当启用移除未使用的 CSS 功能时,预加载字体将不起作用。

相反,结果中使用的 CSS 中找到的所有字体都会被预加载并在 CSS 块之前插入页面。这仅适用于使用的 CSS 中的字体,不适用于预加载字体框中的字体。

因此,使用移除未使用的 CSS 时,您不需要手动预加载字体。此外,您可以防止某些字体在使用移除未使用的 CSS 时被预加载,或如这里所示停用字体预加载(与移除未使用的 CSS 相关)。

高级规则

  • 高级规则(Advanced Rules)
    • 永不缓存 URL(Never Cache Urls)
    • 永不缓存 Cookies(Never Cache Cookies)
    • 永不缓存 User Agents(Never Cache User Agents)
    • 始终清除 Urls(Always Purge Urls)
    • 缓存查询字符串(Cache Query Strings)

永不缓存 URL

请注意,WP Rocket 会自动排除某些电子商务插件的购物车和结账页面。

使用从不缓存 URL 选项:

  1. 转到 WP Rocket 高级规则标签页。
  2. 找到“从不缓存 URL”框。
  3. 输入您希望排除的页面的 URL。您可以输入完整的 URL,例如 http://www.example.com/page/,或者只输入域名后的部分,例如 /page/。两种方式都可以。
  4. 对于多个页面,每行输入一个:
http://www.example.com/page1/
http://www.example.com/page2/

如何一次性排除一组页面:

可以使用简单的正则表达式来排除特定的一组页面。

例如,您的网站上有一个活动部分,您希望排除所有活动页面。假设它们设置为子页面,因此它们的 URL 结构如下:

/testpage/your-event-here/
/testpage/another-event-here/

可以使用以下正则表达式:

/testpage/(.*)

这不会排除父页面 /testpage/ 本身,而只会排除 URL 中包含 /testpage/ 的所有子页面,例如 /testpage/your-event-here/、/testpage/your-other-event-here/ 等。

因此,如果您需要排除父页面 /testpage/ 及其所有子页面,您需要使用以下排除项:

/testpage/
/testpage/(.*)

注意!

如果您在“永不缓存 URL”框中添加 /(.*),您将排除网站上每个 URL 的缓存和优化。

是否应使用尾部斜杠?

WP Rocket 会根据您在设置 → 固定链接中的配置,自动添加或移除排除项中的尾部斜杠。

在 WP Rocket 不管理缓存的托管服务上: 如果您使用以下托管服务之一,您需要联系他们的支持团队并要求他们排除上述路径模式,以使排除生效:

  • DreamPress
  • Flywheel
  • Kinsta
  • Pressable
  • SpinupWP
  • WordPress.com
  • WP Engine

永不缓存 Cookies

常见用途:

Cookie 通常用于为网站用户自定义内容。理想情况下,内容会通过使用 AJAX 方法动态更新。然而,某些小部件/插件使用 PHP 代码代替。PHP 不会在缓存页面上运行,因此内容会被缓存。

作为一种解决方案,可以在浏览器中设置特定 Cookie 后,防止提供缓存页面。

WP Rocket 中的“永不缓存 Cookie”选项通常在购物车中的商品通过 PHP 代码更新时使用。为了防止商品数量/价格的错误显示,可以在添加商品到购物车时(即电子商务插件/小部件设置 Cookie 时)排除页面缓存。

如何找到要排除的正确 Cookie:

可以通过使用插件/小部件开发者查看使用了哪些 Cookie,也可以使用浏览器中的开发者工具找到设置了哪些 Cookie:

永不缓存 Cookies
  1. 在浏览器中打开开发者工具并导航到“应用程序”标签;
  2. 在“存储”部分检查 Cookie;
  3. 找到显示的 Cookie 名称。

永不缓存 User Agents

此选项用于防止在某些设备和浏览器上提供缓存和优化的页面。

用户代理请求头是一个字符串,让服务器识别访问页面的操作系统的浏览器供应商或版本。

可以通过在高级规则标签页的“永不缓存用户代理”文本区域中添加字符串值来排除某些用户代理的缓存: 示例:

  • 包含 Mobile/15E148 Safari/604.1 字符串的用户代理可以添加为:
Mobile(.*)Safari(.*)
  • 排除特定浏览器,例如:
(.*)Firefox(.*)
  • 添加设备名称,例如:
iPad
NexusTablet

具体关于User Agents可参考:

始终清除 Urls

当帖子或页面更新时,缓存将部分清除,即仅清除该帖子或页面及其相关内容(例如分类存档)的缓存。如果您发现某些其他页面(例如列出博客帖子的页面)上的相关内容未更新,可以使用“始终清除 URL”功能。

使用“始终清除 URL”文本区域指定您希望始终清除的 URL,例如:

https://fenotion.com/blog/

添加多个页面时使用通配符:

/testpage/(.*)

请注意,在此字段中输入的任何 URL 在清除后都会被预加载(假设已启用该功能)。

是否应使用尾部斜杠?是否在 URL 末尾包含尾部斜杠取决于您网站的设置。您可以转到设置 → 固定链接并查看您使用的结构。如果它以斜杠结尾(例如 /%postname%/,这是最典型的),则在将 URL 添加到此框时必须包含它。

缓存查询字符串

WP Rocket 默认情况下不会缓存带有查询字符串的页面,除非一些特殊情况。

查询字符串是指 URL 中包含问号后跟参数和值的部分,例如:

fenotion.com/page/?country=italy

在这个例子中,country 是参数,italy 是值。

如果您希望这些类型的页面被缓存,请转到高级规则设置标签页,并在“缓存查询字符串”文本字段中添加每个参数(每行一个):

country

这样做时,将为 URL 中参数 country 接收的每个值生成一个专用的缓存文件。

如果 URL 中有多个参数,只要其中一个参数是您指定的参数,页面就会被缓存。例如,如果 country 是一个缓存参数,以下 URL 将被缓存:

fenotion.com/page/?country=italy&wine=red

此外,包含在参数中的所有特殊字符将从框中剥离,但仍将起作用。例如,如果您有一个 country[] 参数,“缓存查询字符串”框将仅显示 country。尽管有此设置行为,缓存仍将适用于如下 URL:

fenotion.com/page/?country[]=italy

其他特殊情况参考官方解释:

数据库(Database)

文章清理

  • 修订版本 (Revisions)
  • 自动草稿 (Auto Drafts)
  • 已删除文章 (Trashed Posts)

评论清理

  • 垃圾评论 (Spam comments)
  • 已删除评论 (Trashed Comments)

Transients清理

  • 所有 transients (All transients)

数据库清理

  • 优化表 (Optimize tables)

自动清理

  • 计划自动清理 (Schedule automatic cleanup)

wp-cron.php 文件是 WordPress 程序用于执行某些操作的虚拟计划任务(Cron Job),例如检查插件或主题更新、发送电子邮件通知等。

默认情况下,每当有人访问网站时,WordPress 都会运行 wp-cron.php,如果网站访问量较大,wp-cron.php 的执行频率就非常频繁了。这会造成网站占用过高的系统资源,使网站访问速度变慢。

关于上述自动清理功能,就是按照计划任务来执行操作的,如果执行过程有问题,可以参考WP Rocket官方的文档和对应的插件:

其他优化选项

下面是关于WP Rocket插件中的其他优化选项,这些选项配置简单,而且部分功能是官方推荐的收费功能,大家可以根据实际需求进行调整。

内容分发网络(CDN)

官方专门提供CDN收费服务功能,可参考:https://wp-rocket.me/rocketcdn/

心跳(Heartbeat)

控制心跳(Control Heartbeat)

  • 减少或禁用心跳活动(Reduce or disable Heartbeat activity)

后台行为(Behavior in backend)

  • 减少或禁用心跳活动可以降低后台的网络请求频率,从而减轻服务器的负担。

文章编辑器行为(Behavior in post editor)

  • 在文章编辑器中,减少或禁用心跳活动可能会影响自动保存和实时协作功能。

前端行为(Behavior in frontend)

  • 在前端,减少或禁用心跳活动通常不会对用户界面产生直接影响,但可能会影响某些依赖心跳功能的插件或主题。

通过控制心跳活动,可以优化WordPress站点的性能和资源使用,但需要权衡其对功能的影响。

附加组件(ADD-ONS)

一键式 Rocket 插件(One-click Rocket Add-ons)

  • Varnish
    • Varnish 是一个高性能的反向代理缓存服务器,可以显著提高网站的加载速度。
  • WebP 兼容性(WebP Compatibility)
    • WebP 是一种现代图像格式,提供更小的文件大小和更好的图像质量。WebP 兼容性插件可以自动将图像转换为 WebP 格式,从而加快页面加载速度。

Rocket 插件(Rocket Add-ons)

  • Cloudflare
    • Cloudflare 是一个全球内容分发网络(CDN)和安全服务提供商。通过集成 Cloudflare,可以进一步加速网站并提高安全性。
  • Sucuri
    • Sucuri 是一个知名的网站安全服务提供商,提供防火墙、恶意软件扫描和清除等服务。集成 Sucuri 可以增强网站的安全性。

这些插件和附加组件可以与 WP Rocket 无缝集成,提供更强大的性能优化和安全功能,帮助您更好地管理和优化您的 WordPress 网站。

图像优化(Image optimization)

WP Rocket 插件自带Imagify,可以通过WP Rocket一键安装Imagify插件。

压缩图像以加快网站速度,同时保持图像质量。

  • Imagify 插件页面(Imagify Plugin Page)
    • 访问 Imagify 插件页面,了解更多关于如何使用 Imagify 插件优化图像的详细信息。
  • Imagify 网站(Imagify Website)
    • 访问 Imagify 官方网站,了解更多关于 Imagify 的服务、定价和功能。
  • 图像压缩插件评测(Review of Image Compression Plugins)
    • 阅读图像压缩插件的评测,了解 Imagify 与其他图像优化工具的比较,帮助您选择最适合您需求的插件。

更多关于 Imagify 的信息可参考文档:

通过使用 Imagify,您可以有效地压缩图像,从而加快网站加载速度,同时确保图像质量不受影响。这是优化 WordPress 网站性能的重要步骤之一。

工具(Tools)

  • 导出设置(Export settings)
    • 导出设置功能允许用户将其当前的 WP Rocket 配置保存为一个文件,以便在其他 WordPress 安装中导入这些设置,或者作为备份保存。
  • 导入设置(Import settings)
    • 允许用户从其他 WP Rocket 安装中导入配置设置,以便快速复制优化配置。
  • 回滚(Rollback)
    • 提供回滚功能,允许用户在更新后遇到问题时恢复到之前的版本。
  • 启用 Google 字体优化(Enable Google Font Optimization)
    • 优化 Google 字体的加载方式,减少请求数量并加快字体加载速度。
  • 更新包含和排除列表(Update Inclusion and Exclusion Lists)
    • 管理和更新包含和排除列表,以精确控制缓存和优化行为,确保特定内容不被缓存或优化。

通过这些功能,用户可以更灵活地管理和优化他们的 WP Rocket 设置,确保网站性能达到最佳状态。

Photo of author

Fenotion Woo

从专业的角度,为你提供最优的安全解决方案,我的安全解决方案充分充分考虑服务器网站的性能问题,做到以最小的操作方式解决安全问题。

Leave a comment