Magento

How to speed up Magento Performance?

By November 23, 2016 No Comments

magento-speed

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.

Follow these tips below on how to speed up Magento and keep it running fast to ensure return shoppers and sales.

1. Choose Best Web Hosting

Good web host can play an important role in improving your site speed remarkably. It is wise choice to choose the most suitable host with your site demand web space, monthly traffic, data transfer, backup, database type support, CDN, etc.

2. Use optimized Magento themes.

Templates and extensions are dispensable parts of any Magento site. Beautiful design is a good point but it’s not enough. The important things are features, SEO optimization and usability.

3. Update the latest Magento version

It is very important to have latest updated version of Magento which includes 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 (the version you are trying to upgrade to).
2. Run the installer from the file tree on top of the outdated database (thereby upgrading the database).
3. Move over themes and custom extensions from the old version to the current version.

4. Content Delivery Network

Implementing a Content Delivery Network (CDN) with Magento is one of the easiest ways to instantly see decreased load times. By doing this, you will ensure you are serving your assets (product images, javascript, CSS) from multiple locations around the globe so they are delivered faster to your shoppers.

5. Utilize Caching

Magento users can have many forms of caching which can be implemented with Magento. For example, you can combine NGINX + APC + Memcache + Varnish caching.

Magento also comes with a built-in caching module as well, but 3rd party solutions seem to achieve better results.

1. To enable, navigate to “System” → “Cache Management.”
2. Select everything and then under the drop-down select “Enable” and click “Submit.”

Browser caching

Browser caching is a form of caching that you can leverage. You can add to your .htaccess file like enabling Gzip compression and adding expire headers

Gzip Compression

Gzip compression web pages and style sheets at the server level before sending them over to the browser

# Compress HTML, CSS, JavaScript, Text, XML and fonts
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
AddOutputFilterByType DEFLATE application/x-font
AddOutputFilterByType DEFLATE application/x-font-opentype
AddOutputFilterByType DEFLATE application/x-font-otf
AddOutputFilterByType DEFLATE application/x-font-truetype
AddOutputFilterByType DEFLATE application/x-font-ttf
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE font/opentype
AddOutputFilterByType DEFLATE font/otf
AddOutputFilterByType DEFLATE font/ttf
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE image/x-icon
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/xml

# Remove browser bugs (only needed for really old browsers)
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
Header append Vary User-Agent

Expire headers

Expire headers tell the browser whether they should request a file from the server or grab it from the browser’s cache

ExpiresActive On
############################################
## Add default Expires header
## http://developer.yahoo.com/performance/rules.html#expires

ExpiresDefault “access plus 1 year”

6. Enable Flat Catalog

Magento uses the EAV model (entity attribute value) to store customer and product data. Enabling the flat catalog for categories and products merges product data into one table, thereby improving performance by responding to MySQL queries faster. If your eCommerce store has more than 1000 products, this can very beneficial.

1. Navigate to “System” → “Configuration” → “Catalog.”
2. Under “Frontend” change “Use Flat Catalog Category” and “Use Flat Catalog Product” to “Yes.”
3. Click on “Save Config.”
4. Delete all the cache.

7. Optimize Image Optimization

On average 56 percent of a website’s page weight is made up of images. Optimizing your product images can dramatically increase the speed of your pages as this decreases their download times.

You can compress images before uploading in your site. This will reduce page load time.

8. Merge CSS and Javascript

1. Navigate to “System” → “Advanced” → “Developer.”
2. Under “JavaScript Settings” and “CSS Settings” change the dropdown to “Yes” and click on “Save Config.”

9. Magento MySQL Database Optimization with Log Cleaning

As its known thing that Magento is heavy on web servers because of its vast and secured modular structure.Magento have around 10 logs tables which needs to be optimized periodically.

Here are the tables which required optimization in Magento:

1. log_customer
2. log_visitor
3. log_visitor_info
4. log_url
5. log_url_info
6. log_quote
7. report_viewed_product_index
8. report_compared_product_index
9. report_event
10. catalog_compare_item

Execute below MySQL queries for the log cleaning of Magento database:

TRUNCATE dataflow_batch_export;
TRUNCATE dataflow_batch_import;
TRUNCATE log_customer;
TRUNCATE log_quote;
TRUNCATE log_summary;
TRUNCATE log_summary_type;
TRUNCATE log_url;
TRUNCATE log_url_info;
TRUNCATE log_visitor;
TRUNCATE log_visitor_info;
TRUNCATE log_visitor_online;
TRUNCATE report_viewed_product_index;
TRUNCATE report_compared_product_index;
TRUNCATE report_event;
TRUNCATE index_event;
TRUNCATE catalog_compare_item;

Leave a Reply