Aimy Extensions
 

Aimy Speed Optimization PRO helps to speed up your Joomla! website with just a few clicks. It optimizes CSS & JavaScript, HTML code , image loading and allows to enable both browser caching and compression.

English German Spanish Dutch Hungarian Polish Slovak Farsi (Iran)

Boost your Page Speed

With this Joomla! plugin you can increase your page speed easily. Say goodbye to render blocking pages! A page's speed is one of the many criteria that you should think of in your search engine optimization (SEO).

The performance results depend on your individual setup. But have a look at our Case Study on Page Speed to see which results are possible. The case study is tested with Google's online tool PageSpeed Insights and increased performance by up to 36 points (mobile speed) and up to 27 (desktop speed) on a few real-life websites.

Aimy Speed Optimization allows to optimize image loading with deferred or lazy loading. Both methods speed up the rendering of your Joomla! website. Additional options allow individual fine tuning.

Aimy Speed Optimization implements a lot of suggestions made by Google's PageSpeed Insights online tool you will find in the following feature list. For detailed information on the technology, please have a look at the documentation.

Features

Aimy Speed Optimization uses a lot of common methods to speed up your website. If you do not have a technical backround, just use the default settings. Otherwise feel free to tune your website with the following features:

  • Eliminate render blocking
    • embed and minify CSS
    • queue JavaScript asynchronously
  • Minify HTML
  • Optimize image loading with
    • deferred loading or
    • lazy loading
  • Set width and height attributes of images automatically
  • Set up browser caching and compression via Apache's .htaccess file directly from Joomla!'s backend

The plugin is very easy to set up. You will receive automatic updates on new releases (per domain(s) for one year - 15 months on renewal).

Aimy Speed Optimization for Joomla!
48.79€
(Incl. 19% tax)
Germany
* Unlimited installs - automatic updates for number of domains:

Screenshots

  • config-1-render-blocking
  • config-2-lazy-loading
  • config-3-caching-compression
  • page-speed-results

Documentation

User Manual

PDF Download

Introduction

Aimy Speed Optimization is a Joomla! plugin that optimizes your content for page speed in a couple of ways:

It allows you to minify & embed CSS in your pages and queues JavaScript asynchronously so both do no longer block your pages' rendering. Additionally the HTML code can be minified.

The way images are loaded can be optimized: You can choose to either just add missing image dimensions or load images deferred or lazy.

Besides that, browser caching and compression can be activated and configured automatically (using Apache's .htaccess file).

These features help to speed up your Joomla! website with a faster rendering in your visitor's browsers.

With Google™ Page Speed Insights you can check your website's speed from various perspectives. We believe this is not a coincident, but a chance to tune your website for your visitors and gain some SEO benefits as well.

Requirements

Aimy Speed Optimization requires:

  1. Joomla! 3.2 or above
  2. PHP 5.3.10 or above
  3. DOMDocument PHP extension (usually enabled)
  4. a Joomla! template that uses HTML 5

Installation

The installation of the extension follows the common Joomla! procedures.

In case you are not familiar with these procedures, proceed as follows:

  1. Download the extension's ZIP archive
  2. Log into your Joomla! backend as "Super User"
  3. From the menu, choose "Extensions" → "Extensions Manager"
  4. Click on the "Browse" button and select the ZIP archive
  5. Click on the "Upload & Install" button

The extension's archive will be uploaded and installed afterwards.

For further information, please have a look at the Joomla! documentation Installing an Extension.

NOTE: All plugins are disabled by Joomla! when installed for the first time. To enable Aimy Speed Optimization, proceed and configure the plugin.

Configuration

After a fresh installation, click on the "Configure plugin now" button on the installation report page.

At any time, you can configure the plugin using Joomla!'s Plugin Manager by choosing "Extensions" → "Plugin Manager" from the menu. Locate the plugin and click on its name in the "Plugin Name" column of the plugin listing.

Enabling the Plugin

In order to use the plugin's functionality, you have to enable it first.

To do so, change the plugin's status from "Disabled" to "Enabled" and apply your changes by clicking on either the "Save" or "Save & Close" button in the toolbar.

The default configuration of Aimy Speed Optimization leaves any decision how to optimize page speed on your Joomla! website up to you, that is, the default configuration does not enable any of the available optimizations.

Options: Plugin

Aimy Speed Optimization's functionality can be suited to your needs using the following configuration options, which are grouped in the tabs "Plugin" and "Expert Settings":

Eliminate Render Blocking on Joomla! websites
Eliminate Render-Blocking

This option allows to optimize both CSS and JavaScript elements so that they will no longer block the rendering of your page.

CSS is minified and directly embedded into the HTML code. JavaScript files and all inline code is loaded and executed asynchronously in a queue, that is one after another, keeping their sequence intact.

NOTE: Dynamically generated and offsite CSS is handled in a way similar to JavaScript: it is queued and loaded after the initial rendering of your website has finished. This approach usually works as expected for non-ciritical CSS like fonts and prevents your website from blocking. However, if the CSS is essential for rendering your website (for example Bootstrap from a CDN) there is no way to prevent blocking. In this case, the solution would be to store the CSS code on your webspace so it can be embedded.

Minify HTML

If enabled, your HTML code will be minified before being delivered to your visitor's browser.

Enabling this setting is recommended only if the "Expert Settings" option of "Enable Compression" cannot be used.

Options: Images

Aimy Speed Optimization gives you a couple of options to optimize image loading on your website (<img> elements). Both popular techniques of deferred loading and lazy loading are supported. You can either choose to manually select which images should be optimized or automatically select all uploaded images.

Lazy Loading and Deferred Loading of Images on Joomla! websites
Action

Which action should be applied to your images?

None

Keep images as they are.

Add Dimensions

Automatically add missing image dimensions ("width" and "height" attributes).

This option handles onsite images only.

Deferred Loading

Replace all selected images with a transparent placeholder. To speed up rendering, missing image dimensions of the original image are added.

Once the page has been initially loaded by the browser, all image placeholders will be replaced with the original images.

Note: This options works for onsite and offsite images. But if the image is loaded from an external website, dimensions cannot be set automatically. In this case, we recommend to add width and height manually.

Lazy Loading

Replace all selected images with a transparent placeholder. To speed up rendering, missing image dimensions of the original image are added.

The original images are then automatically loaded whenever they get near the user's view, i.e. by scrolling.

Note: This options works for onsite and offsite images. But if the image is loaded from an external website, dimensions cannot be set automatically. In this case, we recommend to add width and height manually.

We recommend to use deferred image loading as it has fewer side effects than lazy image loading and is thus more robust (see Restrictions below).

Selection

Which images should be optimized?

Uploaded Images

All onsite images uploaded to Joomla!'s /images/ directory, i.e. using com_media ("Content" → "Media").

Images with Class "defer"

All images (onsite or offsite) which do have a class name of "defer" assigned, i.e.:

 <img src="/images/pagespeed.jpg" alt="" class="defer" />

Most Joomla! editors allow to add classes to images easily.

We recommend to manually select images by adding the "defer" class to them. The manual selection sure takes time but in our experience leads to best results.

Skip First # Images

Set whether to skip the first images of the selection given above.

Wrap in Link?

Both deferred loading and lazy loading make use of the well-known "data-src" attribute, which is used by Google™ itself.

However, this option allows to wrap each image of the selection in an HTML link (<a> element) that points to the original image, unless it is not used within a link already. This way, you can make search engines find your images more easily.

We recommend to enable this option only if you have problems with search engines not picking up your deferred or lazy loaded images.

Options: Expert Settings

The expert settings allow you to change your .htaccess file directly from the Joomla! backend. They require that your website is served by an Apache web server and that an .htaccess file is already present in the root directory of your Joomla! installation (i.e. the one shipped with Joomla!).

Please do not manually change the marker lines inserted by this plugin - they are required in order to update your configuration according to your settings.

WARNING: Before enabling an expert option, be sure that your webserver is configured to allow the overrides specified along with the settings to be used. Usually these directives are available and allowed. However, if in doubt, ask your webhoster to be sure!

Browser Caching and Compression on Joomla! websites
Enable Browser-Caching

If enabled, Apache's mod_expires is activated and configured to send caching instructions to your visitor's browsers in the following way:

Non-Static Resources (not cached)

HTML, XML, JSON

Static Resources (cached for up to one year)

PNG, GIF, JPEG, ICO

JavaScript, CSS

EOT, WOFF, TTF, SVG

Required Apache Override: Indexes

Hint: If you could set a custom Directory Index in your .htaccess file, you can safely enable this option as well, as both require the same Apache Override to be allowed.

Enable Compression

If enabled, Apache's mod_deflate is configured to compress content of the following types:

HTML, XML, JSON, JavaScript, CSS, SVG

Required Apache Override: FileInfo

Hint: If you are using SEF and successfully enabled mod_rewrite in Joomla!'s Global Configuration, you can safely enable this option as well, as both require the same Apache Override to be allowed.

If any of these settings is changed, your .htaccess file will be updated accordingly when the configuration is saved.

HINT: If the plugin is deinstalled, the lines inserted by Aimy Speed Optimization will be deleted automatically. If you had enabled the options before and then deactivate the extension the lines will still be in your .htaccess file. Please disable these options and save this setting before deactivating the plugin.

Restrictions

Please go through the restrictions carefully to know which features of Aimy Speed Optimization will be usable on your website and which extensions are currently unsupported:

Features

Eliminate Render-Blocking
Embedding CSS

Internet Explorer 8 will not interpret any media queries in embedded CSS code, even if an auxiliary library like respond.js is used.

Dynamically generated and offsite CSS code cannot be embedded.

Queuing JavaScript

Loading of JavaScript in a queue asynchronously without blocking the rendering of your page has been tested extensively and is known to work with other JavaScript frameworks as well, but only jQuery and jQuery UI are officially supported right now.

Require.js resources are kept as is, because they are usually loaded asynchronously on their own and work as expected with Aimy Speed Optimization.

Images: Deferred Loading & Lazy Loading

Both options require JavaScript to be enabled in a user's browser. All common browsers and well-known search engines do support JavaScript and enable it by default.

Images: Lazy Loading

Lazy loaded images may only be available in the print version or in Reader View if they have been loaded already, that is, if they have once been in the reader's view.

Images: Wrap in Link

Automatically wrapping all deferred or lazy loaded images in a link may break some image galleries or slideshows which make assumptions on the structure of the images and their containers on their own.

Browser Caching and Compression

Browser Caching and Compression are realized via the configuration of the .htaccess file. This will only work for Apache web servers.

Unsupported Extensions

The following extensions are currently known to be incompatible with Aimy Speed Optimization and are not supported:

Page Cache (system plugin)

Alternative: set "Conservative Caching" or "Progressive Caching" in Joomla!'s "Global Configuration" ("System" → "Cache Settings").

ReCaptcha (captcha plugin)

The plugin does not work if the "Eliminate Render-Blocking" option is active.

Alternative: use another captcha plugin like Aimy Captcha-Less Form Guard.

J51 - Florence (template)

The template does not work as expected if the "Eliminate Render-Blocking" option is active.

Vertical Menu (module)

The template does not work as expected if the "Eliminate Render-Blocking" option is active.

The Joomla!® name and logo are trademarks of Open Source Matters, Inc. in the United States and other countries.

Google and the Google logo are registered trademarks of Google Inc.

Mentioned hard- and software as well as companies may be trademarks of their respective owners. Use of a term in this manual should not be regarded as affecting the validity of any trademark or service mark. A missing annotation of the trademark may not lead to the assumption that no trademark is claimed and may thus be used freely.

Aimy Speed Optimization does include and use following Open Source libraries:

HTML5-PHP

developed by Matt Butcher, Matt Farina & Asmir Mustafic.

MinifyCSS & MinifyHTML

developed by Netzum Sorglos, Lingua-Systems Software GmbH.

JShrink

developed by Robert Hafner.

$script.js JavaScript loader & dependency manager

developed by Dustin Diaz.

[be]Lazy.js JavaScript lazy image loader

developed by Bjørn Klinggaard.