Magento is one of the most widely used eCommerce platforms today that people to choose to grown their online business. In this post, we will discuss tips on how to speed up Magento performance to ensure you don’t lose any sales due to high abandonment rate or an unsatisfying user experience.
Magento’s intuitive administration interface features powerful marketing tools, a catalog-management engine and is SEO optimized to give merchants the power to create sites that provide an unrivaled and rich online shopping experience for their customers, tailored to their unique business needs.
When it comes to choosing an eCommerce CMS, you could go with WooCommerce which is an extension of WordPress, Shopify, Volusion, and a number of other ones.
Lot of businesses choose Magento is because it is a very robust platform with a high level of functionality and customizability, it is highly scalable, meaning there would be no need to change to a different platform later on as you scale up.
Enable Magento caching
This is of course the first step in optimization: Enable all the available caches in the Magento Admin Panel. When all other settings are in place and the site is ready to go live, navigate to System → Cache Management. Select everything and then under the drop-down select Enable and click Submit.
It is very important that you are always running the latest version of Magento as updates generally contain bug fixes and performance improvements. There are three main steps when it comes to upgrading a Magento installation.
1. Install a fresh version the Magento file tree 2. Run the installer from the file tree on top of the outdated database 3. Move over themes and custom extensions from the old version to the current version.
Magento upgrade is a little more work as compare WooCommerce or Shopify upgrade, but Customer Paradigm has a good in-depth tutorial on how to fully upgrade Magento.
Content Delivery Network
You probably know that Magento uses EAV database structure for categories, products. In some cases this solution is not the best or fastest. Enabling the flat catalog for categories and products merges product data into one table, thereby improving performance by responding to MySQL queries faster.
On the Admin menu, select System → Configuration. Then in the panel on the left under Catalog, select Catalog
Under Frontend change Use Flat Catalog Category and Use Flat Catalog Product to Yes.
When complete, click the Save Config button.
Clear the cache. The recommended way to do this is to delete everything from the /var/cache directory. You can also do it by navigating to System → Cache Management and clicking on Flush Cache Storage which is equivalent to deleting all the cache.
Very few stores are optimizing images which is quite important considering that images change on every page load. Optimizing your product images can dramatically increase the speed of your pages as this decreases their download times.
You can compress them before uploading them using a tool like PhotoShop or there are a number of extensions you can use to auto-optimize them.
GTMetrix also has a Magento extension called GTspeed. It includes image optimization as well as CSS/JS concatenation and minification. Take a look at the difference on a stock Magento install. After installing the plugin, take a look at the difference on a stock Magento install:
How to speed up WordPress surely is a hot topic these days. Slow page load speeds are especially crippling for eCommerce sites. Almost 90 per cent of shoppers who are dissatisfied with a site’s performance are less likely to buy from the same site again, while a one second delay decreases customer satisfaction.
Why should you speed up WordPress?
There are many reasons that ring alarm bells, some of which might even cause major concerns for you:
Search engines (like Google) rank websites with fast-loading times higher than the slow-loading ones. So, if you want to improve your position in the SERPs, improving speed should be one of your priorities.
Studies have shown that site-loading speed of more than 2 seconds usually results in about 47 percent of visitors bouncing off the website. So, to keep about half of your visitors interested, you should speed up your WordPress.
Online buyers are the most impatient lot; they expect the page to load within a second. So, if you are running an ecommerce store on WordPress then you better get ready to make major improvements so your business can be more profitable.
Test the loading time of your website?
First things first, you need to analyze the current load time for your website. Keep in mind that this speed may differ from page to page, as it depends on various factors, namely:
the size of that particular page
how many requests it generates
whether it is cached or not
and lastly, what kind of content (static or dynamic) it hosts.
The homepage of a website is usually used as a benchmark to test the load time. In order to check the speed of a website, the following three tools are used extensively across the web:
PageSpeed Insights (this doesn’t really report the page loading time, but does highlight the elements that you can tweak to speed up WordPress)
Use a Fast WordPress Theme
You need to start with a fast and well-coded WordPress theme or framework. If you choose a theme packed with lots of additional features that you don’t need, it’ll negatively impact your site performance.
Design that has been coded badly, or uses images throughout the design, will add unnecessary weight to your page. It is not uncommon for some WordPress themes to be a few megabytes in size. Such a design could add a few seconds to your page loading time.
The default WordPress themes are incredibly well-coded, light-weight, very fast and easily customizable. If you can handle a little bit of code or hire a developer, Choose a design that has been optimized for desktops, tablets and mobile devices. Search engines favor responsive designs as they ensure all pages have the same URL, however adaptive designs that were created specifically for mobile phones can improve a mobile user’s experience considerably (it is not uncommon for an adaptive design to reduce page size by over one megabyte).
Install A Caching Plugin
Second most effective way (the first being choosing a good web host) to improve your site’s load times is to install a caching plugin.
Caching involves storing parts of your site so they only need to be loaded once instead of every time a user visits your site. Caching is especially helpful for your return visitors, as well as others who visit several pages of your site. when a caching plugin is active on your site, it servers users cached copies of your pages.
It greatly reduces MySQL database access, no. of PHP requests, server access for static resources, and even HTTP requests (in case of combining multiple files into one).
WP Super Cache is a more user-friendly alternative and you don’t need to be a server expert to set it up. It offers a variety of caching features:
Initially, you don’t want everything enabled. You can still safely enable everything except Minify and CDN (unless you want to use a CDN).
Minify breaks some other heavily JS-based plugins unless you specifically tweak it. On the other hand, you should tweak the Browser Cache settings to utilise the full potential of browser caching.
Use a Content Delivery Network (CDN)
Content Delivery Network is essentially a network of geographically dispersed servers. Each CDN node (also called Edge Servers) caches the static content of a site like the images, CSS/JS files and other structural components. The majority of an end-user’s page load time is spent on retrieving this content, and so it makes sense to provide these “building blocks” of a site in as many server nodes as possible, distributed throughout the world.
To minimize the distance between the visitors and your website’s server, a CDN stores a cached version of its content in multiple geographical locations (a.k.a., points of presence, or PoPs). Each PoP contains a number of caching servers responsible for content delivery to visitors within its proximity.
Setting up a CDN can take a few hours, but it’s usually one of the quickest ways to dramatically improve page-loading speed.
Enable Gzip Compression
Compressing files on your local computer can save a lot of disk space. Similarly, for the web, we can use GZIP compression. This maneuver will dramatically reduce the bandwidth usage and the time it takes to gain access to your website. GZIP compresses various files so that whenever a visitor tries to access your website; their browser will first have to unzip the website. This process brings down the bandwidth usage to a considerable extent.
It increases the loading speed of a website by saving 50-80 percent bandwidth.
Thus, it helps to optimize your website.
It is widely installed on the web server such as in IIS, Apache and nginx.
In Apache, already a default setting in the module mod_deflate is present for Gzip compression.
Gzip compression is recommended for different text files such as:
It is greatly valuable and gives full benefits as per or even more than it costs.
Before installing any plugin on website, ask yourself “Is this plugin necessary?”.
Plugins are one of the biggest causes of WordPress websites being slow. The more plugins you install without research, the more likely you will face performance issues; however the sheer number of plugins you have installed is not the reason a WordPress website can slow down.
Certain plugins are known for causing websites to be slow. There are many reasons for this including bad coding, calls to external servers and persistent calls and updating of your WordPress database. Pay close attention to how much CPU plugins use too. Many plugins can bottleneck your CPU due to persistent processes. If this happens, your whole server could go down.
One plugin I highly recommend you use is P3 Profiler. The plugin will show you exactly how much load time your plugins are adding. A breakdown is given which displays exactly how much load each plugin adds. It is the most effective way of seeing what plugins are slowing down your website.
WordPress software, as you probably know, uses PHP and MySQL. PHP is a programming language that’s used in WordPress to access and display the information stored in a MySQL database.
WordPress database optimization is one of the essential tasks to keeping your WordPress blog speedy & healthy. You can optimize your WordPress MySQL database directly from PHPMyAdmin, or by using a plugin like WP-Optimize or WP-DBManager. These plugins are capable of deleting all your pending spam comments, trashed posts, auto-saved drafts, post revisions to name a few.
They can also perform general MySQL database optimization queries without you having to access PHPMyAdmin. A well optimized, fast responding database is a huge bonus for a database-driven software like WordPress.
Optimize Images for Speed
Images bring life to your content and help boost engagement. Researchers have found that using colored visuals makes people 80% more likely to read your content
Optimizing images for the web not only makes your site load faster but it also improves its SEO – which, in itself, is a great reason to start optimizing today. Another major plus point is that once your images are optimized, you’ll save a ton of space on your site’s hosting server.
Before you upload a photo directly from your phone or camera, we recommend that you use photo editing software to optimize your images for web. In their original formats, these photos can have huge file sizes. But based on the image file format and the compression you choose in your editing software, you can decrease your image size by up to 5x.
Disable Directory Browsing
By default most web servers like Apache, NGINX and LiteSpeed have directory browsing enabled, it automatically displays an index page showing the contents of the directory.
From a security standpoint you don’t want this happening since you don’t want people to look around your site structure. Hackers can easily find potential exploits in themes and plugins by sniffing through those files.
If you open the following URL and find a bunch of files, then it means that directory browsing is disabled in your server.
Its one of most important point while look to wordpress website hosting. You need to make sure the Web hosting company specializes in WordPress Hosting , offers good security , Speed/ Performance and one of the best support required for WordPress Web hosting
After the CloudFlare plugin is installed, you will see a CloudFlare icon in cPanel.
Step 2 – Activation
If they already have a CloudFlare direct account, sign-in. If not, click on Sign up.
Step 3 – CNAME or Full DNS setup
CNAME setup : By default, CloudFlare is set up for your customers using CNAME. To enable CloudFlare on CNAME, please click Provision Domain with CNAME Setup green button.
Full DNS option
Once you enable the Full DNS option in the config.js file, your customers can select and use either CNAME or Full DNS setup. Customers will need to refresh the page after the hosting provider updates their name servers
to CloudFlare’s name servers.
Step 4 – Enable CloudFlare for subdomains
For subdomains, click the grey cloud icon and toggle to orange. This means traffic will flow through CloudFlare for these subdomains.
Step 5 — Analytics
Your can see CloudFlare analytics for each site by clicking the “Analytics” icon
Step 5 — Additional settings and upgrades
Users can now control more CloudFlare security settings right from cPanel.
In addition to selecting the basic security level of your site from Essentially Off, Low, Medium, or High, you can configure the Challenge Passage, which specifies how long a visitor is allowed access to your website after completing a challenge.
You can enable Browser Integrity Check which evaluates HTTP headers from your visitors browser for threats, if a threat is found a block page will be delivered. In addition, users can select ‘I’m under attack mode’ when experiencing a DDoS attack on Layer 7. To access additional settings and upgrade from “Free” to “Pro”, customers need to log in to their cloudflare.com account.
cPanel continues to surprise the industry-releasing one new feature here and there, making sure that its clients get the most out of their investments. With its newest innovation, cPanel is set to enhance the client’s web hosting experience.
The launch of EasyApache 4 (EA 4) brings various improvements in installation, update, and other features that are important for the client. EasyApache 4 is a major revamp of how cPanel and WHM ships and maintains the Apache and PHP distribution.
EasyApache 4 represents a total overhaul of how cPanel & WHM ships and maintains our Apache and PHP distribution.
Simply explained, EasyApache is the software that installs, configures, updates, and validates your web server, PHP, and other components of your web server.
cPanel & WHM installs EasyApache 4 by default on new installations of systems that run cPanel & WHM version 58 or higher.
EasyApache 4 offers the following improvements over EasyApache 3:
Binaries are cost-efficient improvements that save time and monetary resources for site owners, server owners, and developers.
Rather than compile binaries from source, we build RPM packages with binaries that you can easily install via yum. This allows for quicker, automatic updates of packages.
The system forks any custom packages from the Red Hat® specification files, but contain the latest version. Binary packages also allow Apache and PHP to automatically update.
Binary Packages allow for quicker updates, installations, and the ability to spin down and spin up different web stacks and configurations quickly. This reduces the cost for site owners and server owners.
These binaries reduce the time it takes for updates and installs to a few minutes. This also allows developers to quickly spin up and spin down different configurations.
EasyApache 4 uses the Software Collections Library (SCL) for PHP packages. The use of SCLs enables the installation of multiple, concurrent version of PHP on the file system.
An SCL is an alternate path inside the /opt file that contains the full file system that various software needs. When you enable an SCL, it adds the path within that environment to the system. Commands that do not specify a path and scripts that use the /usr/bin/env file to determine their path can then use this path to find the appropriate version of the software.
How to execute a script with SCL
To execute a script with a software collection environment, you must run the scl command. For example, to run the php-v command on a php56 collection, run the following command:
scl enable ea-php56 ‘php -v’
This command’s output will resemble the following example:
The system originally stored Apache files in the /usr/local/apache directory. This directory no longer exists except for a few symlinks.
EasyApache 4’s path reorganization includes the following benefits:
The additional paths allow EasyApache 4 to function quicker and more efficiently.
The additional paths allow multiple directories to store data and symlink between files.
The additional paths allow more effective storage of data, especially with backups and recovery.
The following table lists the new file directories where EasyApache 4 now stores the Apache files:
File or Directory location
This directory contains the actual Apache executable, binary file, and webserver.
This directory contains all the logs for the apache2 file as well as all access logs.
This directory contains the configuration directory for Apache and contains all directories for Apache includes, modules, and configuration files. This directory does not contain log files. Note: This directory uses the symlink to the usr/lib64/apache24/ directory.
This directory contains all of the dynamic modules for Apache.
This SCL directory contains all of Apache’s binary files.
This file contains HTTP requests that the server received and that did not go to a domain.
This directory contains a log of HTTP requests that the system routed to a domain.
This file contains error information.
This directory contains the document root for the server. It contains default pages that users can see.
This directory contains an alias to the /var/log/apache2/ directory.
This directory contains an alias to the /usr/lib64/apache2/modules/ directory.
EasyApache 4 supports multiple versions of PHP. Multiple PHP versions allow you to assign different PHP versions to each of your domains. Coupled with automatic upgrades, this ensures that your PHP applications run on the most up-to-date, secured PHP versions.
EasyApache 4 removed OptMods and no longer supports them. However, in addition to the new RPM actions that EasyApache 4 can execute from its specification file, we created yum-plugin-universal hooks. These new hooks allow for executable actions based on the package name they operate in. For example, if you run a script on an ea-* package, if any updated packages exist in the ea4 namespace, the system executes these scripts.
Then Simple and most basic reason is for improving website SEO and load the website faster. The faster the websites is loaded the more SEO traffic you can expect.
How to reduce the load times of pages by loading appropriately sized images.
Diminish file sizes based on where images will be displayed.
Resize image files themselves instead of via CSS.
Save files in appropriate format depending on usage.
Cost benefit ratio: high value
90% of most websites are graphics dependent and therefore there are a lot of image files. Leaving these images uncompressed and in the wrong format can drastically slow down your web page load times. So it’s important to optimize your images.
Optimizing images for the web
The images create using programs like Photoshop and Illustrator look amazing but often the file sizes are very large.
This is because the images are made in a format which makes them easier to manipulate in different ways.
With file sizes upwards of a couple of megabytes per image, if you put these files on your website it would be very slow to load.
Optimizing your images for the web means saving or compiling your images in a web friendly format depending on what the image contains.
Images hold data other than just the pixels we see on the screen.
This data can add unnecessary size to the image which leads to longer load times as the user waits for the image to download.
In terms of cost versus benefit optimizing your images should be near the top of your page speed optimizations if you don’t have them optimized already.
How it work?
Optimizing images for the website can reduce your total page load size upto 80%.
There are two forms of compression that we need to understand, Lossy and Lossless.
Images in a lossy format will look slightly different than the original image when uncompressed.
Keep in mind that this is only visible at a very close look. Lossy compression is good for website, because images use small amount of memory, but can be sufficiently like the original image.
Images in lossless format retain all the information needed to produce the original image.
For this reason these images carry a lot more data and in return are a much large file size.
Can you imagine take a poster size image and using it as a thumbnail? The little 20px by 20px image would take as long to load as the original poster, when we could just be loading a 20px
We can also optimize images for the website by saving them as the appropriate dimensions.
Resizing the image on the webpage itself using CSS is helpful but the issue is the web browser will still download the entire original file, then resize it and display it.
Optimize Your Images
Full optimization of images can be quite an art to perfect as there are such a wide variety of images you might be dealing with. Here are the most common ways to optimize your images for the web.
Reduce the white space around images – some developers use whitespace for padding which is a big no no.
Crop your images to remove any whitespace around the image and use CSS to provide padding.
Use proper file formats –
If you have icons, bullets or any graphics that don’t have too many colours use a format such as GIF and save the file with lower amounts of colours.
If you have more detailed graphics then use JPG file format to save your images and reduce the quality.
Save your images in the proper dimensions.
If you are having to use HTML or CSS to resize your images, stop right there. Save the image in the desired size to reduce the file size.
To resize your images you will have to use some form of program.
For basic compression you can use a simple editing program such as GIMP.
For more advanced optimization you will have to save specific files in Photoshop, Illustrator or Fireworks.
The first step insetting up your WooCommerce-powered online store is to install WordPress and the WooCommerce plugin itself. But before doing so, you should check that your hosting environment meets our minimum requirements. These are:
PHP 5.6 or greater
MySQL 5.6 or greater
WooCommerce 2.5 requires WordPress 4.1+
WooCommerce 2.6 requires WordPress 4.4+
WP Memory limit of 64 MB or greater (128 MB or higher is preferred)
To prevent domain name theft, ICANN requires that domain names be prevented for transfer for 60 days in certain situations:
Domain name is within 60 days of initial registration
Domain name is within 60 days of a previous transfer
In addition, certain registrars may have procedures to prevent transfer for 60 days as well. For example, the registrar GoDaddy places a 60 day lock on any domain name when the whois information is modified. However, as discussed on Domain Name Wire by Bobdobbs (and verified by DomainSherpa), “The 60 day lock can be overridden by a supervisor if you really NEED your domain transferred.”
However, a domain can be sold and transferred during the 60-day registrar lock. Although the domain cannot typically be transferred to an account outside of your registrar, it can be “pushed” to another account within the same registrar. To do so, the buyer must have an account at the current registrar. The seller then uses the buyer’s registrar account login name and/or account number during the transfer.
What is DomainKeys – DomainKeys is an email authentication technology developed by Yahoo, and is primarily used as an additional anti-spam and anti-phishing method.
How DomainKeys works
The domain owner generates a public / private key pair to use for signing all outgoing messages (multiple key pairs are allowed). The public key is published in DNS, and the private key is made available to their DomainKey-enabled outbound email servers.
When each email is sent by an account within the domain, the DomainKey-enabled email server automatically uses the stored private key to generate a digital signature of the message. This signature is embedded as a header in the sent email, and the email is sent on to the target recipient’s mail server.
The DomainKeys-enabled receiving email server extracts the signature and claimed From: domain from the email headers and fetches the public key from DNS for the claimed From: domain.
The public key from DNS is then used by the receiving mail server to verify that the signature was generated by the matching private key. This proves that the email was indeed sent by, and with the permission of, the claimed sending From: domain and that its headers and content weren’t altered during the transfer.
The receiving email server applies the local policies based on the results of the signature test. If the domain is verified and no other antispam tests catch it, the email can be delivered to the user’s inbox. If the signature fails to verify, or there isn’t one, the email can be dropped, flagged or quarantined.