This plugin hasn’t been tested with the latest 3 major releases of WordPress. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.

Async JavaScript

Description

Eliminate Render-blocking Javascript in above-the-fold content with Async Javascript.

Render-blocking Javascript prevents above-the-fold content on your page from being rendered until the javascript has finished loading. This can impact on your page speed and ultimately your ranking within search engines. It can also impact your user’s experience.

Async JavaScript gives you full control of which scripts to add an ‘async’ or ‘defer’ attribute to or to exclude to help increase the performance of your WordPress website.

Installation

Installation is very straightforward:

  1. Upload the zip-file and unzip it in the /wp-content/plugins/ directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress
  3. Go to Settings > Async JavaScript menu to load settings page

FAQ

Which browsers support the ‘async’ and ‘defer’ attributes

The ‘async’ attribute is new in HTML5. It is supported by the following browsers:

  • Chrome
  • IE 10 and higher
  • Firefox 3.6 and higher
  • Safari
  • Opera

Where can I get help?

Async JavaScript is supported via the wordpress.org support forum.

Do you offer professional support/ configuration services?

We offer premium services for Async JavaScript and full web performance optimization services at https://autoptimize.com/

What about CSS?

As the name implies, Async JavaScript is built to enhance JavaScript loading only. Async JavaScript does not have any impact on CSS.

We recommend using the awesome Autoptimize plugin alongside Async JavaScript for CSS optimization.

I want out, how should I remove Async JavaScript?

  • Disable the plugin
  • Delete the plugin

Reviews

Agustus 2, 2023 1 reply
A truly great plugin, does exactly what is describing. No extra stuff, great implementation and great support! Thank you!
Juli 17, 2023 1 reply
I’ve been using this plugin for several months after it was suggested to me by a colleague. The setup was simple, but also gives advanced options that I needed, such as excluding certain scripts. I had an issue recently, and the developer provided fast and helpful support! I definitely recommend this plugin.
Agustus 11, 2022 1 reply
Exemplary support, and the plugin does exactly what it promises. This is unfortunately not a given in a time when many other plugins try to cover more and more tasks and end up in dangerous waters. Async JavaScript proves: Less is more.
Désémber 27, 2021 1 reply
The plugin is easy to use. E.g with some videos on youtube. It improved our Google Page Speed significantly. And when I had a support question I got feedback within hours. Great Job. Keep up the good work
Nopémber 9, 2021 3 replies
I love this plugin and I have been using it for a long time. It actually improved my site stats on gtmetrix and pagespeed insights. However I recently added a forum on my site using WpForo and found out that answer editor was failing to load. After much research I discovered that this plugin is the one that was breaking the WpForo answer editor so I decided to sacrifice it. I give 5 stars because, beside that tiny conflict, it works as advertised.
Read all 102 reviews

Contributors & Developers

“Async JavaScript” is open source software. The following people have contributed to this plugin.

Contributors

“Async JavaScript” has been translated into 7 locales. Thank you to the translators for their contributions.

Translate “Async JavaScript” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

2.21.08.31

  • workaround for issues with some inline JS getting asynced (hat tip to WP Bullet’s Mike)

2.21.06.29

  • fix for an authenticated stored XSS vulnerability, credits to m0ze for discovering
  • confirmed working with WordPress 5.8 (beta)

2.20.12.09

  • fix for some ternary operators warning in PHP 7.4 and up.
  • hard-exclude document.write (WordPress core injects inline JS that has <script src in it which AsyncJS acted on)
  • fix for WordPress 5.6 renaming jQuery from jquery.js into jquery.min.js

2.20.03.01

  • extra security measure; check the nonce when saving settings/ going through wizard.
  • wizard: if something fails then communicate this onscreen instead of on the console.
  • autoptimize integration: change copy to explain this might or might not be helpful.

2.20.02.27

  • fix for some nasty issues, thanks for the heads-up Mikey

2.19.07.14

  • add asyncjs_filter_noptimize filter
  • changed textdomain to match slug as suggested by Eneko Garrido
  • confirmed working with WordPress 5.2

2.18.12.10

  • the “happy birthday to me” edition 😉
  • new: added option to disable Async JS for logged in users
  • new: added option to disable Async JS on shop cart/ checkout pages (woocommerce, edd & wp ecommerce)
  • added ‘settings’-link to plugin overview screen (hi Mike!)
  • updated the chosen JS library to 1.8.7
  • confirmed working with WordPress 5.0

2.18.06.13

  • fix integration issue with Autoptimize, thx for reporting ElephantDude!

2.18.05.24

  • don’t async (or defer) on AMP-pages
  • disable async/ defer by when ?aj_noptimize=1 is part of the URL

2.18.04.23

  • Re-arrange content on the different tabs of the settings page.
  • Continued refactoring of backend code, no functionality should be affected.
  • Remove all images from the project such as the animated hands and progress bar gif.
  • Remove empty rows that added unnecessary space.
  • Switch buttons to use WordPress button styles.
  • Fix broken Dashboard Widget from 2.18.03.15 and reduce font-size to fix text overflow.
  • Remove all CSS !important declarations for easier CSS styling.
  • Remove inline CSS styles.
  • Switch to a CSS based progress bar.
  • Spell check readme.
  • Remove almost all tables from files.
  • Refactor JavaScript.
  • Add wormeyman as a contributor (thanks man!).

2.18.03.15

  • bugfix: only load asyncjs’ JS & CSS on own settings page as reported by Marat Petrov
  • bugfix: check if jQuery chosen is correctly loaded before using it (based on same report, thanks Marat!)
  • update jQuery Chosen lib
  • small readme tweaks

2.18.03.10

  • ASync JS is now maintained by Frank Goossens (Optimizing Matters), thanks for the great job done David!
  • Moved all Pro features into the standard version.
  • Some code refactoring
  • Made strings ready for translations

2.17.11.15

  • MOD: Added User Agent to GTMetrix requests

2.17.11.03

  • MOD: Check for GTMetrix class existence prior to including class

2.17.10.18

  • FIX: Issue converting array for plugin & theme exclusions

2.17.09.30

  • FIX: Sanitise all $_GET and all $_POST
  • FIX: Add nonce to ajax calls

2.17.06.13

  • MOD: Dashboard Widget and Notices only available to Administrators

2.17.05.08

  • NEW: Added quick settings buttons to allow common settings to be quickly applied
  • NEW: Added current version info to help page

2.17.05.07

  • FIX: Some installs not saving plugin/theme exclusions due to theme incompatibility

2.17.05.06

  • MOD/FIX: On some WordPress installs is_plugin_active function being called too early. Moved is_plugin_active into a dedicated function called via admin_init as per codex: https://codex.wordpress.org/Function_Reference/is_plugin_active

2.17.05.05

  • FIX: Incorrect textarea identifier preventing exclusion save

2.17.05.04

  • FIX: Resolve early loading of plugin causing a fatal error due to function not available yet
  • FIX: CSS / JS not loading

2.17.05.03

  • MOD: Add text to advise running Wizard is not mandatory

2.17.05.01

  • massive Massive MASSIVE rewrite of Async JavaScript!!!
  • Now includes a Setup Wizard, Status page, Settings page and a help page.
  • Communicates directly with GTmetrix (account required)
  • Automatically transfers existing settings from Async JavaScript to Async JavaScript