2023最佳缓存解决方案:为WordPress网站提高速度

peri

Updated on:

没有人喜欢加载速度慢的网站,尤其是在使用Google搜索引擎的时候。如果您想要提高用户体验并有更好的展示排名,那么现在就是优化WordPress网站的时候了。

尽管已经有很多优化并加速WordPress的方法,但似乎没有一篇文章涵盖了所需的全部方法。因此,在这篇文章中,我们将分享所有有关WordPress速度优化的知识和信息,而这就您需要知道的,从而让您能够开始优化并加速您的网站。

根据W3Techs的数据,WordPress目前在CMS的市场份额中占有34.5%的份额,使其成为目前全球最受欢迎的内容管理系统。但是,这样的受欢迎程度也意味着,用户们很容易陷入到插件的泥潭中。在WordPress插件存储库中,总共有55048个插件,因此很容易知道人们为什么会失去方向。

因此,无论您是WordPress的新手,还是多年来一直在开发和设计WordPress网站的经验丰富的,本指南都能帮助您提高WordPress加载速度。

请放心,因为我们已经决定通过一个完整的2023WordPress速度优化指南来解决这个问题。本指南将指导初学者、中级用户和高级用户完成整个优化过程,以使网站能够尽快加载。为什么要让网站加速加载呢?因为Google作为最大的搜索引擎之一,要求网站加载速度越快越好。

WordPress网站提高速度 – 基本版

首先是创建一个wordpress网站,进行各种测速,测速工具有许多,比如:Google PageSpeed Insights,Pingdom,GTmetrix等主流的工具。稍后我会更新一篇关于测速工具的集合页面。

选择一个足够快速的主机

选择一个足够快速的WordPress 主机需要考虑以下关键因素:

  1. 带宽:选择一个主机提供商,带宽越的服务器,越能保证您的网站快速响应客户端请求。
  2. 服务器地理:选择靠近您受或客户的服务器的主机能够缩响时间,降低延迟。
  3. SSL/TLS书:选择一个提供 SSL/TLS 证书的主机能够对您的网站加密传输,并提高您的 SEO 排名。
  4. 数据库类型:选择支 WordPress 优化的数据库类型,例如 MariaDB 或 MySQL,可以显著提高 WordPress 网站的速度和能。
    5.存技术:选择具缓存技术的主机,如 Varnish,能够提高您的网站的响应速度和性能。
  5. 技术支持:选择一个提供专业的技术支持的主机商,能够确保您的网站得到及时、有效的解决问题。

在选购主机时,上述因素应被权衡考虑,以确保选择一款足够快速的 WordPress 主机。

52Peri強力推荐siteground云服务商或者DigitalOcean

一个快速响应的WORDPRESS主题

选择一个快速响应的WordPress主题可以提高您网站的用户体验和排名,而以下是选取快速响应主题的一些技巧:

选择一个轻量级的主题:选择一个轻量级的主题可以确保您的网站在加载速度方面表现出色。您可以在WordPress的主题目录中搜索“轻量级主题”。这些主题通常会减少资源请求并最小化 HTML、CSS 和 JavaScript 代码。

确保主题具有快速响应功能: 在WordPress主题目录中搜索“响应式设计”主题,这主题会自动适应各种设备尺寸,以便用户可以在任何设备上方便地浏览您的网站。

选择过优化的主题:优化的主题通常会同时优化图像、JavaScript 和 CSS,以使网站加载速度更快、更流畅。您可以查阅主题的介绍页面或者用户评价中是否有提到主题的优化功能。

总之,选择一个快速响应的WordPress主题可以改善您的网站用户体验、提高反弹率和排名。通过采上技巧来选择合适的主题,您可以为您自己的网站带来无限可能性。

52Peri強力推荐Astra,Kendence或者GeneratePress。

及时更新 WORDPRESS、主题和插件

及时更新 WordPress、主题和插件是非常重要的,因为:

安全更新:WordPress 站点的漏洞和安全问题可以让黑客入侵您的网站,盗取信息和破坏您的内容。当漏洞和安全问题暴露出来时,WordPress 开发人员通常会尽快发布更新的版本,以修补安全漏洞和解决问题。因此,当有更新时,请及时更新您的 WordPress、主题和插件。

新功能:WordPress 的开发人员经常发布新版本,添加新的功能、改善现有功能,或修复现有功能的错误。更新 WordPress、主题和插件可以让您站的更能紧跟时代的最新趋势,并提高用户体验,确保站点的顺畅运行。

兼容性问题:WordPress 的插件和主题通常是由各种第三方开发者创建,而不是 WordPress 官方开发的。新的 WordPress 版本可能导致插件和主题不再兼容,或导致意想不到的错误。因此,及时更新,可以保证您的插件和主题始终与 WordPress 兼容。

在更新之前,您应该先备份您的站点内容,以防意外情况发生。同时也应该确保您信任的插件和主题已经得到充分测试,确保它们能够与最新版本的 WordPress 兼容。

主机要使用PHP 7及更高版本

WordPress 的运行需要 PHP 编语言的支持,而 PHP 7 和更高版本相较于旧版本,具有更好的性能和较低的内存消耗,这意味着更快的网站加载速度和更好的性能。因此,使用 PHP 7 或更高版本是高度建议的,可以更好地支持和优化 WordPress 网站的运行。同时,WordPress 也建议使用最新版本的 PHP 来确保最安全性和稳定性。

使用 SSL/HTTPS 和 HTTP/2

使用 SSL/HTTPS 和 HTTP/2 是现代网站建设中的一种最佳实践,也是保证 WordPress 网站安全和性能的关键因素。

首先是 SSL/HTTPS,它通过加密来保护网和用户之间数据的传输安全。使用 SSL/HTTPS 可以有效地减少潜在的数据泄漏、窃听和篡改风险此外,现在许多搜索引擎, Google 和 Bing,都将 SSL/HTTPS 视为排名因素来提高搜索结果的显示优先级。siteground或DigitalOcean全部免费提供SSL证书。

其次是 HTTP/2,这是一种新的网络协议,它可以更快、更高效地加载网站,通过多路复用技术可以同时多个请求和响应。这种技术可以显著提高网站的性能,减少加载时间,从提高用户体验和搜索引擎排名。因此,使用 SSL/HTTPS 和 HTTP/2 可以实现更加安全和高效的 WordPress 网站。

WORDPRESS要谨慎使用插件

插件是 WordPress 平台的一项强大功能,可以轻松扩展网站的功能,实现个性化设计和特定的需求。然而,插件的使用需要谨慎。

首先,插件在代码逻辑和安性方面不受 WordPress 官方审核,质量和安全性无法保证,某些插件可能会存在漏洞和安全隐患。当使用插件并不清楚其来历和质量时,存在着一定的风险。

其次,过多的插件会增加网站的复杂度和维护成本,减缓网站的加载速度,可能会导致网站的响应能力降低甚至推迟网站更新和升级。

因此,正确地使用插件非常重要。应该选择由可靠插件开发者提供的高质量插件,并且定期进行插件更新,并删除不再使用的插件。

為什么要使用缓存来加速WORDPRESS

WordPress 使用动态生成页面的方式来呈现内容,这意味着每次访问页面时,WordPress 都需要查询和执行PHP脚并生成页面,这会占用大量的服务器资源和时间。因此,使用缓存可以大减少服务器负载和页面加载,同时提高网站性能和用户体验。

WP Super Cache: https://wordpress.org/plugins/wp-super-cache,这是一个免费缓存插件,由 Automattic 开发,可以轻松地减少页面加载时间提高网站性能。

Total Cache: https://wordpress.org/plugins/w3-total-cache,这也是一个免费的缓存插件,能极大地提高网站加载速度,并提供缓存、CDN、gzip压缩等特性,同时它还具有一些高级功能和扩展选项。

WP Rocket: https://wp-rocket.me,这是一个功能丰富的高级缓存插件,拥有缓存预加载、GZIP缩、雪碧图等特性,也支持多设备检测,确保您的网站快速加载并在所有设备上正确呈现。有一些附加功能(CDN、压缩)需要付费进行锁。

為什么要使用图像优化插件来加速WORDPRESS

在一个用WordPress制作的网站中,图片素材通常会占中较大的比例。使用图像优化插件可以压缩图像,减小图片大小,从而缩短图片的加载时间,加速网站访问速度。

选择正确的图像格式可以帮助您优化WordPress网站的性能,因此确保您选择合适的格式非常重要。一般来说,JPEG和PNG是WordPress网站上最常用的图像格式。

对于照片和图像等具有色彩变化的复杂图像,JPEG格式通常是最佳选择,因为它可以在较小的文件大小下保持高质量的色彩。另一方面,PNG格式通常用于像徽标和图标等文本和图形较少的图像因为可以保持高品、透明度和无损压缩。

您还可以使用现代的WebP格式,它比JPEG和PNG格式更快且文件大小更小,但目前还不是所有浏览器和设备都支持。因此,在将图像格式更改为WebP格式之前,请确保您的受使用的设备浏览器支持该格式。

最后,请记住图像的大小和分辨率也会影响网站的速度,因此通过使用适当的分辨率和压缩图像的大小来优化图像,可以帮助减加载时间。

开通CLOUDFLARE的免费CDN

开通Cloudflare的免费CDN可以帮助优化WordPress网站的能和安全性。以下是在WordPress上启用CloudflareCDN的一些步骤:

  1. 注册Cloudflare账号并验证您的网站。
  2. 安装并激活Cloudflare插件。
  3. 在Cloudflare管理面板中的“域名”选项卡中添加或编辑您的网站,使其指向您选择的CDN(账户)。
  4. 在“优化”选项卡下,启用自动最小化CSS、JavaScript和HTML,并对自定义缓存时间的静态资源设置合适的缓存时间。

现在,您的WordPress站点已经启用了Cloudflare CDN。检查您的站点以保切顺利。请注意,CDN可能需要一些时间来缓存和传播数据,因此某些CDN设置可能需要等待几个小时或更长时间才能看到效果。

禁用GRAVATAR

禁用Gravatar可以帮助提高WordPress网站的性能并加强网站的隐私和安全性,主要有以下几点原因:

快网站加载速度。Gravatar需要与Gravatar服务器进行通信,以获取使用者的头像,这会增加网站是的响应时间。因此,禁用Gr可以帮助减少网站的加载时间,从而提高网站的性能和速度。

维护网站的隐私和安全性。Gravatar头像连通当使用者留言或评论时也会被显示,这意味着Gravatar可以被用来追踪使用者的在线活动,甚至是唯一标识。因此,禁用Gravatar可以帮助保护用户的隐私和安全。

减少垃圾评论。垃圾评论通常通过自动化工具发送。如此一来,自动化工具可以在评论区中的Gravatar中嵌入恶意代码。因此,禁用Gravatar可以帮助降低网站收到垃圾评论几率。

为了用Gravatar,您可以使用WP User Avatar或Similar Avatars等WordPress插件来使用本地上传的图像代替Gravatar。另外,如果不使用插件来代替,也可以通过修改代码或使用主题或页面生成器选项来禁用Gravatar。

限制或者停用帖子修订

在WordPress中,限制帖子修订数量是为了持数据库的清洁和能。每次您编辑帖子或页面时,WordPress都会自动保存当前版本的帖子到数据库中,这被称为修订。如果频繁进行编辑,您的数据库将很快充满修订版本,并且会占用数据库的空间,这可能会降低网站的性能。此外,修订版本多可能会增加备份和维护的难度。因此,限制帖子修订的数量可以帮助您保持数据库整洁,并提高WordPress网站的性能和可维护性。

将下面的代码粘贴到wp-config.php文件中,这会将修订的最大数量更改为3。您也可以在上面的代码中更改数字以调整修订的数量。

define ('WP_POST_REVISIONS', 3);

禁用修订

define ('WP_POST_REVISIONS', false);

使用AMP加速移动页面

是的,WordPress可以使用AMP技术来加速移动页面。AMP的称是Accelerated Mobile Pages,是一种由Google推出的技术,用于加速手机设访问网页的速度。AMP使用精简版HTML和特定的AMP JavaScript库来提高页面加载速度和性能它还包括基于预加载和预渲染的优化,这意味着在用户访问页面之前,网页内容已经被加载和渲染。

WordPress有很多支持AMP的插件和主题,可以帮助您为WordPress网站启用AMP。例如,AMP for WP和AMP插件 for WordPress都是常用的AMP插件,可以让您轻松地将WordPress网站转换为AMP版本。一旦启用AMP,您可以使用Google Search Console来验证配置,以确保安装和,并确保为访问您的网站的移动用户提供快速和响应的体验。

WordPress网站提高速度 – 进阶版

禁用表情符号

将下面的代码粘贴到functions.php文件中,以禁用表情符号。

/*** Disable the emoji's**/
function disable_emojis() {
remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
remove_action( 'wp_print_styles', 'print_emoji_styles' );
remove_action( 'admin_print_styles', 'print_emoji_styles' );
remove_filter( 'the_content_feed', 'wp_staticize_emoji' );
remove_filter( 'comment_text_rss', 'wp_staticize_emoji' );
remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' );
add_filter( 'tiny_mce_plugins', 'disable_emojis_tinymce' );}
add_action( 'init', 'disable_emojis' );
/*** Filter function used to remove the tinymce emoji plugin.* @param    
array  $plugins* @return   array  Difference between the two arrays*/

function disable_emojis_tinymce( $plugins ) {  
if ( is_array( $plugins ) ) {    
return 
array_diff( $plugins, array( 'wpemoji' ) ); 
 } else {    
return array(); 
 }
}

禁用WORDPRESS中的嵌入

将下面的代码粘贴到functions.php文件中,以禁用WordPress中的嵌入。

function disable_embeds_code_init() {  
// Remove the REST API endpoint.  
remove_action( 'rest_api_init', 'wp_oembed_register_route' );  // Turn off oEmbed auto discovery.  
add_filter( 'embed_oembed_discover', '__return_false' );  // Don't filter oEmbed results.  remove_filter( 'oembed_dataparse', 'wp_filter_oembed_result', 10 );  // Remove oEmbed discovery links.  remove_action( 'wp_head', 'wp_oembed_add_discovery_links' );  // Remove oEmbed-specific JavaScript from the front-end and back-end.  remove_action( 'wp_head', 'wp_oembed_add_host_js' );  add_filter( 'tiny_mce_plugins', 'disable_embeds_tiny_mce_plugin' );  // Remove all embeds rewrite rules.  add_filter( 'rewrite_rules_array', 'disable_embeds_rewrites' );  // Remove filter of the oEmbed result before any HTTP requests are made.  remove_filter( 'pre_oembed_result', 'wp_filter_pre_oembed_result', 10 );}add_action( 'init', 'disable_embeds_code_init', 9999 );function disable_embeds_tiny_mce_plugin($plugins) {  return array_diff( $plugins, array('wpembed') );}function disable_embeds_rewrites ($rules) {foreach($rules as $rule => $rewrite) {    if(false !== strpos($rewrite, 'embed=true')) {    unset($rules[$rule]);  }  }return $rules;}

删除查询字符串

将下面的代码粘贴到functions.php文件中,以删除查询字符串。在WordPress中,有许多包含类似于“scripts.js?ver=2.7.9”的查询字符串的CSS和JS文件。这个查询字符串表示加载特定版本的文件。不过,查询字符串会造成一些问题,因为大多数服务器不会缓存带查询字符串的文件。这就意味着对于每个请求,都需要从服务器重新下载所有带查询字符串的文件,从而增加了带宽和系统资源的浪费并导致加载时间延长。为缩短网站的加载时间,您可以考虑完全禁用查询字符串。这样一来,就可以使用文件缓存,从而减少加载时间。

function _remove_script_version ( $src ){  $parts = explode( '?', $src );  return $parts[0];}add_filter( 'script_loader_src', '_remove_script_version', 15, 1 );add_filter( 'style_loader_src', '_remove_script_version', 15, 1 );

禁用XML-RPC

在WordPress中,XML-RPC是一种接口,允许外部应用程序与WordPress进行通信。尽管这个功能某些情况下可能很有用,但也会成为潜在的安全隐患,因为它为击者提供了一种途径来暴力破解用户凭和执行有害代码。

因此,许多WordPress用户决定禁用XML-RPC。您可以采用以下方法禁用XML-RPC:

使用插件:WordPress有一些插件可以帮助您禁用XML-RPC,如“Disable XML-RPC”和“Jetpack”。

编辑WordPress的.htaccess文件:在WordPress站点的根目录中,找到.htaccess文件并在其中添加以下代码:

禁用XML-RPC deny,allow deny from all

  1. 编辑WordPress的函数文件:在主题的functions.php文件中添加以下代码:
add('xmlrpc_enabled', '__return_false');

请注意,在禁用XML-RPC之前,确保您了解可能会影响您的站点的任何影响。如果您需要使用XML-RPC,请避采用这种方法。

禁用PINGBACKS功能

当WordPress站点发布新文章或页面时,它会默认开Pingbacks功能,允许其他站点链接到你的文章并给你发送通知。但这也可能带来全问题,因为击者可以用Pingbacks恶意请求占用你的服务器资源甚至进行DD攻击。为了保护你的网站,你可以禁用Pingbacks功能。

在WordPress台设置中禁用:依次进入“设置”→“讨论”,找到“允许其他站点链接到这篇文章(Pingbacks和trackbacks)”选项,将其取消勾选即可禁用。

禁止访问XMLRPC.PHP

RSD(Really Simple Discovery)链接是XML-RPC接口的元素之一,允许第方用程序在调用WordPress API时定位XML-R及服务的位置。但是,当你禁用-RPC接口并且不需要使用第三方应程序时,SD链接不再有用,去掉它将减少页面下载和图片占用过的浏览器内存。

WordPress默认在网站头部添加RSD链接。如果你希望删除这个链接,你需要编辑你的主题的functions.php文件,添加以下代码:

remove_action( 'wp_head', 'rsd_link' );

也可以使用插件完成相同的功能,例如Remove WP RSD Links等插件。这些插件禁用XML-RPC接口的会自动移除RSD链接。

删除JQUERY MIGRATE

jQuery Migrate是一个jQuery插件,旨在优化和保护的旧版本,使它们能够在新版jQuery中正常运行。但是,随着WordPress的更新,它已经使用了最新版本的jQuery,不再需要jQuery Migrate,同时也发现了jQuery Migrate的一些潜在安全隐患。因此,为了提高站点安全性和性能,WordPress开始从版本5.开始默认禁用jQuery Migrate。如果你的网站使用的是老版本的jQuery或者一些过时的插件和主题,可能会受到响,导致网功能失效或者出现问题。如果你使用了一个更新版本的或者使用尽可能新的插件和主题,则可以在不影响站点功能和性能的情况下,将jQuery Migrate禁用掉。要禁用jQuery Migrate,您可以安装Remove jQuery Migrate Plugin。

隐藏WORDPRESS版本号

WordPress是一个开源CMS系统,它的版本信息默认在HTML源代码中可以轻松地被找到。因为每一个WordPress版本都有一些漏洞,攻击者可以根据网站使用的WordPress版本来针对性地攻击站点,因此,隐藏WordPress版本是提高站点安全性的一种重要举措。在WordPress中隐藏版本信息的最简方法使用一个称之为Remove Version的插件,它可以轻松地从你的站点中去除版本信息。此外,你也可以通过自定义来动隐藏WordPress的版本,具体方法是在主题的functions.php文件中添加一段代码,或通过编辑.htaccess文件来实现。无论使用哪种方法,隐藏你的WordPress版本是提高站点安全性的重要一步。

// remove version from headremove_action('wp_head', 'wp_generator');// remove version from rssadd_filter('the_generator', '__return_empty_string');// remove version from scripts and stylesfunction shapeSpace_remove_version_scripts_styles ($src) { if (strpos($src, 'ver=')) { $src = remove_query_arg('ver', $src); } return $src;}add_filter('style_loader_src', 'shapeSpace_remove_version_scripts_styles', 9999);add_filter('script_loader_src', 'shapeSpace_remove_version_scripts_styles', 9999);

删除WLWMANIFEST链接

Wlwmanifest链接是WordPress的自动链接之一,它是用于Windows Live Writer的一个文件,用于使用户可以通过Windows Live Writer编写和发布文章到WordPress。然而,对于绝大多数用户来说,wlwmanifest链接可能没有么实际用处,而且可能会被搜索引擎误认为是站点丑闻而影响你的SEO排名,所以删除它可以提高站点性能和SEO优化。要删除wlwmanifest链接,你可以通过编辑主题functions.php文件:

remove_action('wp_head','wlwmanifest_link');

删除RSD链接标签

RSD (Really Simple Discovery)是一个XML-RPC的协议,使得用户可以使用桌面客户端连接、编辑和管理WordPress博客WordPress默认会在每个页面的头部添加一个RSD链接标签,指向一个XML-RPC文件。然而,这个标签可能成为恶意攻击的目标,因此,如果你不需要使用XML-R,则可以禁用它并删除RSD链接标签。删除RSD链接标签还可以减少站点负载,提高站点的速度和安全性。要删除RSD链接标签,可以在WordPress的 functions.php 文件中添加以下代码:

只需将此代码添加到主题的 functions.php 文件中保存即可现删除RSD链接标签的功能。

function remove_rsd_link() {remove_action( 'wp_head',rsd_link' );}add_action( 'init', 'remove_rsd_link' );

删除短链接标签

WordPress中的短链接是WordPress自动每个和页面生成的。些链接使用是domain.com?p123的格式。但,这种链接格式难忆,也不太好,因此你可能需要使用定义链接。而在一些情况下,短链接也可能被意利用。因此,为了提高点安性,你可以禁用WordPress短链接签。

要删除WordPress的短链接标签,可以在functions.php中添加代码:

add_filter('after_setup_theme', 'remove_redundant_shortlink');function remove_redundant_shortlink() { // remove HTML meta tag // remove_action('wp_head', 'wp_shortlink_wp_head', 10); // remove HTTP header // Link: https://example.com/?p=25; rel=shortlink remove_action( 'template_redirect', 'wp_shortlink_header', 11);}

添加此代码后,保存文件即可禁用WordPress中的短链接标签。这样可以保障你的站点安全,同时也可以避免不必要的链接干扰。

禁用RSS源

要禁用WordPress中的RSS源,你可以在functions.php文件中添加以下代码:

function disable_feed() { wp_die( __('No feed available, please visit our homepage!') );}add_action('do_feed', 'disable_feed', 1);add_action('do_feed_rdf', 'disable_feed', 1);add_actiondo_feed_rss', 'disable_feed', 1);add_action('do_feedss2', 'disable_feed', 1);add_action('do_feed_atom', 'disable_feed',1);

这段代码的含义是,当有人请求RSS源时,将会显示“无可用的RSS源,请访问我们的主页!”的提示页面,并禁用了包括RDF、RSS、RSS2、Atom等在内的所有WordPress的RSS源。你可以根据需要修改提示信息或者禁止的类型。

禁用DASHICON

你可以通过添加以下代码到你的主题或者子主题的functions.php文件中来禁用Dashicons。

这将在WordPress后台前台禁用Dashicon。请注意,禁用Dashicon可能会影响网站的某些功能,甚至某些主题和插件的外观和功能可能也会受到影响。因此,在禁用之前,请确保你已经仔细测试你的网站。

function disable_dashicons() {
wp_deregister_style('dashicons');
}
add_action('wp_print_styles', 'disableicons');

禁用CONTACT FORM 7 JS/CSS

联系表格7是可用于WordPress的最受欢迎的联系表格插件之一。如果您使用Contact Form 7,则应该知道网站的每个页面都加载了它们的CSS和JS文件,无论该页面是否包含表单。您应该避免不必要的资源浪费。

要禁用每次页面加载时文件的加载,请使用此代码。

add_filter( 'wpcf7_load_js', '__return_false' );
add_filter( 'wpcf7_load_css', '__return_false' );

禁用心跳

WordPress使用Heartbeat API在浏览器和服务器之间建立和维护连接。当WordPress自动将您的帖子保存在后台时,您会遇到这种情况。

从表面上看,Heartbeat API是一个有用的功能。但是,从性能的角度来看,这并不是一个很好的权衡,因为WordPress每15秒对服务器进行一次AJAX调用,然后这会导致一些代码在服务器上执行。如您所知,这不是对CPU资源的明智使用。

您可以禁用Heartbeat API,以减少CPU使用率和释放资源。

add_action( 'init', 'stop_heartbeat', 1 );
function stop_heartbeat() {
wp_deregister_script('heartbeat');
}

禁用WOOCOMMERCE样式表

当您安装WooCommerce时,它将向您的网站添加一些样式表,这些样式表随页面一起加载。如果使用自定义主题(可能),则可以停止加载这些样式表。

add_filter( 'woocommerce_enqueue_styles', '__return_empty_array' );

禁用购物车碎片

WooCommerce具有内置功能,可在不刷新页面的情况下更新客户的购物车。每当客户将产品添加到购物车时,使用此功能都会自动更新购物车内容。

此功能确实提供了更好的用户体验,但是由于加载时间过长,所有这些好处都被抵消了。要启用此功能,WooCommerce必须不断检查是否有任何产品添加到购物车。此检查会占用大量资源,在大型网站上,可能需要花费几秒钟的时间才能完成。

当它为您的网站增加了这么多的加载时间时,不值得启用此功能。要禁用此功能,请使用此代码:

add_action( 'wp_print_scripts', 'nuke_cart_fragments', 100 );
function nuke_cart_fragments() {
  wp_dequeue_script( 'wc-cart-fragments' );
  return true;
}

add_action( 'wp_enqueue_scripts', 'dequeue_woocommerce_cart_fragments', 11);

function dequeue_woocommerce_cart_fragments() {
  if (is_front_page()) wp_dequeue_script('wc-cart-fragments');
}

禁用WOOCOMMERCE小部件

默认情况下,WooCommerce预先装有许多小部件。大多数主题都有其自己的功能来替换这些小部件,并且保持启用状态会增加加载时间,而没有任何价值。您应该禁用默认窗口小部件以缩短加载时间。

add_action( 'widgets_init', 'remove_woo_widgets' );

function remove_woo_widgets() {
  unregister_widget( 'WC_Widget_Recent_Products' );
  unregister_widget( 'WC_Widget_Featured_Products' );
  unregister_widget( 'WC_Widget_Product_Categories' );
  unregister_widget( 'WC_Widget_Product_Tag_Cloud' );
  unregister_widget( 'WC_Widget_Cart' );
  unregister_widget( 'WC_Widget_Layered_Nav' );
  unregister_widget( 'WC_Widget_Layered_Nav_Filters' );
  unregister_widget( 'WC_Widget_Price_Filter' );
  unregister_widget( 'WC_Widget_Product_Search' );
  unregister_widget( 'WC_Widget_Top_Rated_Products' );
  unregister_widget( 'WC_Widget_Recent_Reviews' );
  unregister_widget( 'WC_Widget_Recently_Viewed' );
  unregister_widget( 'WC_Widget_Best_Sellers' );
  unregister_widget( 'WC_Widget_Onsale' );
  unregister_widget( 'WC_Widget_Random_Products' );
}

删除WOOCOMMERCE元框

当您安装WooCommerce时,它将在您网站的后端添加很多元框。这些meta框用途不大,可以禁用它们以缩短后端加载时间。

add_action('edit_form_after_title', 'my_custom_post_edit_form', 100);

/**
* remove all meta boxes, and display the form
*/
function my_custom_post_edit_form($post) {
  global $wp_meta_boxes;

  // remove all meta boxes
  $wp_meta_boxes = array('my_custom_post_type' => array(
    'advanced' => array(),
    'side' => array(),
    'normal' => array(),
  ));

  // show my admin form
  require dirname(__FILE__) . '/views/my-custom-post-edit-form.php';
}

禁用WOOCOMMERCE小部件

默认情况下,WooCommerce预先装有许多小部件。大多数主题都有其自己的功能来替换这些小部件,并且保持启用状态会增加加载时间,而没有任何价值。您应该禁用默认窗口小部件以缩短加载时间。

add_action( 'widgets_init', 'remove_woo_widgets' );function remove_woo_widgets() {  unregister_widget( 'WC_Widget_Recent_Products' );  unregister_widget( 'WC_Widget_Featured_Products' );  unregister_widget( 'WC_Widget_Product_Categories' );  unregister_widget( 'WC_Widget_Product_Tag_Cloud' );  unregister_widget( 'WC_Widget_Cart' );  unregister_widget( 'WC_Widget_Layered_Nav' );  unregister_widget( 'WC_Widget_Layered_Nav_Filters' );  unregister_widget( 'WC_Widget_Price_Filter' );  unregister_widget( 'WC_Widget_Product_Search' );  unregister_widget( 'WC_Widget_Top_Rated_Products' );  unregister_widget( 'WC_Widget_Recent_Reviews' );  unregister_widget( 'WC_Widget_Recently_Viewed' );  unregister_widget( 'WC_Widget_Best_Sellers' );  unregister_widget( 'WC_Widget_Onsale' );  unregister_widget( 'WC_Widget_Random_Products' );}

使用WOFF2字体代替WOFF

WOFF(Web开放字体格式)是专门为Web设计的Web格式。这是一种OTF或TTF字体格式,结合了元数据和压缩功能。

WOFF2是下一代WOFF字体。新标准平均比WOFF格式提供30%的压缩。这将进一步减小字体的大小。

@font-face { font-family: ‘Open Sans’; src: url(‘OpenSans-Regular-webfont.woff’) format(‘woff’);}
那么你需要将其改为:

@font-face { font-family: ‘Open Sans’; src: url(‘/OpenSans-Regular-webfont.woff2’) format(‘woff2’), url(‘OpenSans-Regular-webfont.woff’) format(‘woff’);

优化FONT AWESOME ICONS

Font Awesome是另一个广泛使用的图标库。当您使用Font Awesome时,将在服务器上创建一个CSS文件,该文件必须重复加载。

为了加快Font Awesome的加载,您可以使用KeyCDN专用于Font Awesome的免费CDN。

这是设置方法。

编辑主题的header.php文件,将代码粘贴到标签之间。

https://opensource.keycdn.com/fontawesome/4.6.1/font-awesome.min.css

在您的网站上使用标签使用图标。这是一个例子。

<i class =“fa fa-database fa-la”> </i>

WordPress网站提高速度 – 高阶版

DNS预取

DNS Prefetch是一个指令,它指示浏览器在后台执行DNS查找。由于用户单击链接时DNS已经解析,因此可以减少延迟。这是DNS预取的示例。

<!-- Prefetch DNS for external assets -->
<link rel="dns-prefetch" rel="noopener" href="//fonts.googleapis.com">
<link rel="dns-prefetch" rel="noopener" href="//www.google-analytics.com"> 
<link rel="dns-prefetch" rel="noopener" href="//cdn.domain.com">

如果您使用wp-rocket,则只需在DNS Prefetch部分的域列表中输入即可使用DNS预取。如果您不知道要预取哪些域名,那么Rober Went的网站会提供有用的常用域名列表。这是供您参考的域列表。

//twitter.com
//platform.twitter.com
//connect.facebook.net
//static.ak.facebook.com
//s-static.ak.facebook.com
//fbstatic-a.akamaihd.net
//apis.google.com
//ssl.gstatic.com
//oauth.googleusercontent.com
//accounts.google.com
//oauth.googleusercontent.com
//www.linkedin.com
//platform.linkedin.com
//static.licdn.com
//disqus.com
//go.disqus.com
//a.disquscdn.com
//juggler.services.disqus.com
//referrer.disqus.com
//www.google-analytics.com
//ajax.googleapis.com
//fonts.googleapis.com
//themes.googleusercontent.com
//maps.gstatic.com
//maps.google.com
//maps.googleapis.com
//mt0.googleapis.com
//mt1.googleapis.com

预连接

预连接与DNS预取相似,但是它甚至可以在发送请求之前通过建立连接来采取进一步的措施。这样可以节省即使在DNS查找之后仍需要的多个往返请求。这是Google字体的预连接示例。

<link rel="noopener" href="/fonts.gstatic.com" rel="preconnect" crossorigin>

该代码需要出现在标头中,才能进行预连接。这是Javascript代码。代码添加到主题的header.php文件中。

function preconnectTo(url) {
  var hint = document.createElement("link");
  hint.rel = "preconnect";
  hint.ref = url;
  document.head.appendChild(hint);
}

使用MARIADB代替POSTGRESQL
我们在以上部分之一中讨论了使用高效执行服务的问题。除服务器外,网站的另一个重要组成部分是其数据库。如果数据库运行缓慢,那么我们所做的所有优化都不会产生预期的结果。

WordPress本机支持许多数据库系统,包括MySQL、MariaDB和PostgreSQL。

根据我们的经验,就性能而言,使用MariaDB是最佳选择,我们建议您也使用它。

要从现有的数据库解决方案迁移到MariaDB,您必须与托管的支持团队联系。他们将提供对服务器环境进行必要更改所需的访问权限。