Page Speed Optimization

Description

This plugin is a toolkit for WordPress Optimization with a focus on SEO. The plugin enables to achieve a 100 score in the Google PageSpeed Insights test and an Excellent score in Google’s latest AI based Mobile Performance Benchmark test.

This plugin is compatible with most optimization, minification and full page cache plugins and can be made compatible with other plugins by creating a module extension.

Some of the supported plugins include:
* Autoptimize
* W3 Total Cache
* WP Super Cache
* WP Fastest Cache
* Cache Enabler (KeyCDN.com)
* Better WordPress Minify
* WP Super Minify
* Click here for a list with supported plugins.

Warning: This plugin is not a simple ‘on/off’ plugin. It is a tool for optimization professionals and advanced WordPress users to achieve a Google PageSpeed 100 Score.

Critical CSS Tools

The plugin contains tools to manage Critical Path CSS.

Some of the features:

  • Conditional Critical CSS (apply tailored Critical CSS to specific pages based on WordPress conditions and filters)
  • Management via text editor and FTP (critical CSS files are stored in the theme directory)
  • Full CSS Extraction: selectively export CSS files of a page as a single file or as raw text for use in critical CSS generators.
  • Quality Test: test the quality of Critical CSS by comparing it side-by-side with the full CSS display of a page. This tool can be used to detect a flash of unstyled content (FOUC).
  • A javascript widget to extract simple critical CSS with a click from the WordPress admin bar.
  • A live critical CSS editor.

Read more about Critical CSS in the documentation by Google.
This article by a Google engineer provides information about the available methods for creating critical CSS.

CSS Load Optimization

The plugin contains tools to optimize the delivery of CSS in the browser.

Some of the features:

  • Async loading via loadCSS (enhanced with requestAnimationFrame API following the recommendations by Google)
  • Remove CSS files from the HTML source.
  • Capture and proxy (script injected) external stylesheets to load the files locally or via a CDN with optimized cache headers. This feature enables to pass the “Leverage browser caching” rule from Google PageSpeed Insights.

The plugin does not provide CSS code optimization, minification or concatenation.

Javascript Load Optimization

The plugin contains tools to optimize the loading of javascript.

Some of the features:

  • Robust async script loader based on little-loader by Walmart Labs (reference)
  • HTML5 Web Worker and Fetch API based script loader with localStorage cache and fallback to little-loader for old browsers.
  • jQuery Stub that enables async loading of jQuery.
  • Abiding of WordPress dependency configuration while loading files asynchronously.
  • Lazy Loading Javascript (e.g. Facebook or Twitter widgets) based on jQuery Lazy Load XT.
  • Capture and proxy (script injected) external javascript files to load the files locally or via a CDN with optimized cache headers. This feature enables to pass the “Leverage browser caching” rule from Google PageSpeed Insights.

The HTML5 script loader offers the following advantages when configured correctly:

  • 0 javascript file download during navigation
  • 0 javascript file download for returning visitors (e.g. from Google search results, leading to a reduced bounce rate)
  • faster script loading than browser cache, especially on mobile (according to a proof of concept by a Google engineer)

The plugin does not provide Javascript code optimization, minification or concatenation.

Google PWA Optimization

The plugin contains tools to achieve a 100 / 100 / 100 / 100 score in the Google Lighthouse Test. Google has been promoting Progressive Web Apps (PWA) as the future of the internet: a combination of the flexability and openness of the existing web with the user experience advantages of native mobile apps. In essence: a mobile app that can be indexed by Google and that can be managed by WordPress.

This plugin provides an advanced HTML5 Service Worker based solution to create a PWA with any website.

Some of the features:

  • JSON based request and cache policy that includes regular expressions and numeric operator comparison for request and response headers.
  • Offline availability management: default offline page, image or resource.
  • Prefetch/preload resources in the Service Worker for fast access and/or offline availability.
  • Event/click based offline cache (e.g. “click to read this page offline”)
  • HTTP HEAD based cache updates.
  • Option to add offline class on <body> when the connection is offline.
  • Web App Manifest management: add website to home screen on mobile devices, track app launches and more.

Google Web Font Optimization

The plugin contains tools to optimize Google Web Fonts.

Some of the features:

  • Load Google Web Fonts via Google Web Font Loader.
  • Auto-discovery of Google Web Fonts using:
    • Parse <link rel="stylesheet"> in HTML source.
    • Parse @import links in minified CSS from minification plugins (e.g. Autoptimize).
    • Parse existing WebFontConfig javascript configuration.
  • Remove fonts to enable local font loading.
  • Upload Google Web Font Packages from google-webfonts-helper to the theme directory.

Gulp.js Critical CSS Creator

The plugin contains a tool to create Critical CSS based on Gulp.js tasks. The tool is based on critical (by a Google engineer).

Screenshots

  • HTML Optimization
  • CSS Optimization
  • Google Web Font Optimization
  • Javascript Optimization
  • Critical CSS Optimization
  • Critical CSS Quality Test
  • Critical CSS Editor
  • Google PWA Optimization
  • HTTP/2 Optimization
  • Gulp.js Critical CSS Generator

Installation

WordPress plugin installation

  1. Upload the above-the-fold-optimization/ directory to the /wp-content/plugins/ directory.
  2. Activate the plugin through the ‘Plugins’ menu in WordPress.
  3. Navigate to the plugin settings page.
  4. Configure Critical CSS and tune the options for a Google PageSpeed 100 Score.

FAQ

Installation Instructions

WordPress plugin installation

  1. Upload the above-the-fold-optimization/ directory to the /wp-content/plugins/ directory.
  2. Activate the plugin through the ‘Plugins’ menu in WordPress.
  3. Navigate to the plugin settings page.
  4. Configure Critical CSS and tune the options for a Google PageSpeed 100 Score.

Reviews

So Powerful

It has all the potential to make your site faster but be careful you might crash your site while using it. Just keep on toggling the best feature for you, will let you experience the speed of “flash”.

So good

This plugin is so good. I got my site 99 point with a normal shared hosting

An Absolutely Wonderful, Well Thought-Out Tool

Word to the wise:

If you install this plugin, begin to click around it’s dashboard and find yourself sweating or saying “WUT” a lot, it’s a great indication that you shouldn’t proceed.

Not that you shouldn’t try to learn it, you should; but please, do so in a staging area or development environment, not on your live, production website.

Fatal

No se ni por donde empezar a decir que es malo… Hasta para desinstalarse es malo, no se desinstalan los archivos y tienes que poner codigo en tu header para poder paralizar su carga. Es horrible!!!

Leaves a mess behind.

Why are questions regarding plugin removal seemingly ignored? After uninstalling I’m getting errors in the console such as:

Uncaught SyntaxError: Unexpected token < in JSON at position 0
setTimeout (async)
(anonymous) @ abtf-pwa.debug.js?path=%2F:4
Promise rejected (async)
D @ abtf-pwa.debug.js?path=%2F:4
(anonymous) @ abtf-pwa.debug.js?path=%2F:4
O @ abtf-pwa.debug.js?path=%2F:4
(anonymous) @ abtf-pwa.debug.js?path=%2F:5
09:03:32.145

I’ve deleted the files that were left over and yet the errors persist.

Great plugin!

This plugin is really fantastic, but sometimes it can be challenging to handle all JS and CSS files without breaking down your front-end.

I could not use some options while working on my own JS and CSS files and third-party theme. I had to disable “Enhanced loadCSS”, “Optimize Javascript Loading”, and “Lazy Load Scripts” options.

Now the front-end is working very well, and the performance result was improved.

Read all 84 reviews

Contributors & Developers

“Page Speed Optimization” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

2.9.10

  • Informative update.

2.9.9

  • Name change.

2.9.8

  • Improved: Synchronized scroll option in Critical CSS Quality Test.

2.9.7

  • Improved: Critical CSS Quality Test (Split View).
  • Added: Critical CSS Live Editor.

2.9.6

  • Added: Simple Critical CSS extraction javascript widget from admin menu bar. (@alexlii)
  • Added: Full CSS extraction javascript widget from admin menu bar. (@bhagawadkrishna)
  • Added: Search a page by URL (@Emilybkk)

2.9.5

  • Added: option to require preloading of assets to complete in Service Worker installation (before activation).
  • Added: Progressive Web App preload filter abtf_pwa_preload.
  • Added: Service Worker sends identifying HTTP header X-PAGESPEED-SW in requests to allow server side modification for SW.

2.9.4

  • Repair of previous incomplete update.

2.9.3

  • Bugfix: PHP 5.3 compatibility (@thowden)
  • Bugfix: Older webfont.js version v1.6.26 on Google CDN. (@jimwalczak)
  • Bugfix: Global CDN URL not applied. (@supernovae)
  • Bugfix: Service Worker file not removed upon uninstallation.
  • Bugfix: Google Lighthouse fails start_url audit. (@sirtaptap)
  • Added: option to preload navigation requests in Service Worker on mousdown event to prevent 300ms tap delay.

2.9.2

  • Added: HTTP/2 Server Push for Critical CSS.

2.9.1

  • Bugfix: Service Worker JSON config from query parameter not persistent after browser restart.

2.9.0

  • Added: HTTP/2 Server Push optimization.
  • Added: Cache Digest hash computation in PWA Service Worker for HTTP/2 pushed resources.
  • Added: HTTP/2 test in admin menu.
  • Added: PageSpeed admin menu.
  • Improved: location of PWA config json file sent to Service Worker as a query parameter. (@16patsle)
  • Improved: plugin disabled for REST API requests.
  • Improved: Service Worker cache cleanup in idle time.

Older changes have been moved to changelog.txt.