10 Ways to Improve Magento 1.9 Speed
Improving Magento Speed
Just like all online store platforms in this world, speed also becomes one of the most important aspects for Magento. Do you use Magento 1.9? Are your customers complain about how it took too long for them just to load your home page? If yes, then we will tell you 10 ways to speed up your Magento 1.9.
1. Choose The Best Hosting for Your Magento
When it comes to hosting for Magento, then you have to choose between VPS or dedicated server. No, I did not say that you can not run Magento in shared hosting. However, you need to keep in mind that shared hosting will not be able to give you the most optimal Magento’s user experience. Shared hosting for Magento can work if your website still does not have many visitors yet, and you also want to consider to use shared hosting service from a reputable company which allows you to upgrade your hosting service easily.
If you think that your website will grow fast and you want to get the best performance for your site, then choose VPS or dedicated server. There are several points which you need to expect from your Magento web hosting.
Price always becomes one of the most important aspect people need to consider whenever they want to start a new business. If you can find a reputable hosting company with affordable price, then that would be good.
You can not expect everything will run smoothly forever. Anything may happen to your hosting at the most unexpected time. That is why support is the second thing you need to consider when you choose a hosting for your website. You can try to check their support’s responses by sending some pre-sales questions with two or three different IDs and see how fast they will respond to you.
c. 1Click installer for all available Magento versions
There is always a possibility you want or need to upgrade your Magento version. A hosting with 1click installer surely will help reduce your work.
d. PCI Compliance and other security components
For your security purposes, of course.
With so many available hosting services out there, it would be a bit hard and confusing to choose the most suitable company for your hosting needs. Keep in mind that Magento could be typified by 2 factors : disk speed for common tasks like re-indexing or manage high volume orders, and CPU speed for your database performance or PHP interpretation. The best way to find out is by testing the hosting yourself before you decide to commit.
2. Check Your Images Size
It may not very crucial, but if you have many images on your website, then it will help speed up your website greatly. There are so many cases where people who uploaded the images do not know how to optimize them.
* Never use an image for text. It would be better if you just type or copy the text instead of using an image for that.
*Consider using sprites for all your small images. With this method, you would be able to pack a bunch of small images into one single file. You probably want to try font icon as well.
*Learn how to use a proper type of images (JPG, PNG, etc) for a proper reason.
*Try to save your images at the possible lowest quality, as long as it is still acceptable in your customer’s eyes.
Do not use larger images if that is not really necessary. Usually, 50 – 60 quality for your JPG files is enough. Doing this to all your images will be a quite big saving.
Implementing a Content Delivery Network (CDN) also can help to maintain your image files and speed up your website. This also one of the easiest way to make your website faster instantly. So, what is Content Delivery Network? CDN is a system of globally positioned edge servers. It will help maintain your content cached copies like CSS, images, etc.
This server will take your data from the closest physical location. Because the data will travel in a shorter distance, it will make your load time to become faster too.
If you have many heavy pages in your website, you probably want to consider to use Image LazyLoader.
3. Clean Your Database Log
Most Magento stores keep unnecessary data. This actually not good because all of those data will turn into a mountain of useless data with time and make your store turns slower and slower. This is why you need to clean your database log regularly. This process takes about 30 minutes, but it will save your time greatly, especially in the long run.
Magento is one of the most stable E-commerce platforms, but unfortunately, its database is not too efficient. In order to create a perfect online store, you will need a sizeable database for your products or services. Cleaning your data log regularly can help reduce the latency of query execution thus improve your website’s performance.
This process mostly harmless, but if you still in doubt and afraid it may turn into a disaster, we suggest to back up your store and all its data first.
In short, there are two options which you can choose to clean your database log :
* Via Magento Admin Panel
* Via PHPMyAdmin or SSH MySQL
Clean log via Admin Panel
Magento manages a few tables for its logging purposes, and each of those tables creates their own logs. Actually, Magento has their own system to clean these logs regularly, but usually, this system turned off by default. These are several tables which used by Magento for its cleaning log :
Cleaning logs via Admin Panel is very easy to do and suitable for a store owner or developer who does not want to bother themselves with the database. To clean logs via Admin Panel, the very first thing you have to do is log in to your Admin Panel.
After that, go to System -> Configuration.
You can see several tabs at the left side. Go to Advanced -> System.
Click Log. From the “Enable Log Cleaning” dropdown option, choose “Yes”. In the “Save Log Day” field, write down the time you need to clean your log. Click “Save Config”.
Clean log via PHPMyAdmin or SSH MySQL
People usually called this cleaning method as the manual method. You can try this method via PHPMyAdmin tool in your cPanel.
*Log in into your cPanel
*At the left sidebar, you can see all the databases you have listed. Select the database
*You can see all the tables for your databases. Select tables which contain the logs.
*At the bottom of the page, you can see a drop-down menu. Select “Empty”
*Click “Yes” in the confirmation screen. This will truncate all selected tables. It means you will only delete the values from those tables. All the structures will remain the same.
If you have SSH access to your website, then you can try an easy way to clean your log via SSH :
* Log in to your account via SSH.
* Find a file called log.php in your public_html/shell folder.
* Run the command “php -f shell/log.php clean”
4. Enable Flat Catalog
Magento uses EAV (Entity Attribute Value) model to store data like products, customers, and categories into its database. Even if this model allows you to have extensive attributes for those objects, they would be stored in multiple tables instead of one large table.
Due to the fact that attributes are being stored in multiple tables, and copies for some of them, SQL queries become long and complex. In the flat catalog, each row contains all necessary data about categories or products, and it can create new tables on the fly.
In a simpler term, enabling flat catalog for both products and categories will merge product data into one single table, which will help increase your website’s performance by responding to MySQL queries faster. This method is very useful if your online store has more than 1000 products.
Before you decide to enable flat catalog for your live store, please remember to test the configuration first in the development environment.
To activate flat catalog, go to your Admin Panel, select System -> Configuration. Then in the panel on the left under Catalog, select Catalog.
Expand the Frontend section, then set “Yes” for “Use Flat Catalog Category” and “Use Flat Catalog Product”
Click the “Save Config” button.
When the system asked you to refresh the indexes, click “Index Management” link and follow the instructions to reindex the data.
6. Delete all unused extensions
This method is one of the ideal ways to optimize your Magento’s speed. Most people usually just simply disable their unused extensions instead of delete them. Keep in mind that if you just disable an extension, it will still exist in your database thus eat up your database’s space. That is why, it is very advisable for you to delete your unused extensions.
To delete your unused extensions manually, you need to :
*Disable the module from this file /app/etc/modules/<your_module>.xml
set <active>true</active> to <active>false</active>
*If their is any dependent my sql table, Remove tables.
*Remove resource config record for the respective module from core_recource table in database.
*Remove the <project_root>/var/cache folder
*Refresh you homepage or any other page.
7. Enable Magento Compilation
Magento has its own compilation feature, and it can help improve your site’s performance up to 50%. In the default setting, Magento files were searched for a certain kind of order, and it happens every time you load a new page. This causes a bunch of results in the filesystem reads. The compiler can help to reduce them by caching ones that are used more often and copying them into a single directory.
To enable Magento compilation, go to System -> Tools -> Compilations. Click “Run Compilation Process”.
Please keep in mind that you need to disable this feature first before you decide to install a new extension or upgrade your Magento to the newest version.
8. Enable Cache
Caching can help to improve load speed response time. There are several forms of caching which you can use for your Magento store. Most people usually use a combination of APC , NGINX , Memcache and Varnish caching.
Actually, Magento has their own built-in caching module, but the result which you will get from it is not as good as the result from 3rd party solution.
To enable the cache, go to System -> Cache Management. Just select everything there, choose “Enable” and click “Submit”
9. Update Indexes
Magento is able to update the indexes by itself, but there are some cases where you need to do manual indexes. This can help to speed up the MySQL queries. To update indexes manually, go to System -> Index Management.
Choose all the indexes you want to update, choose “Reindex data” and click “Submit”.
10. Update Your Magento into The Newest Version
Everytime Magento releases a new version, its performances improved so much compared to the older one. Most of the common bugs in the older version also got fixed in the newest ones. If you want to upgrade your Magento to the newest version, then there are 3 main tasks to do :
*install the newest version of Magento in your Magento’s file tree.
*Run the installer
*Move the themes and all the extensions to the newer version (make sure all of them are compatibles with the new one).
There are some methods which you can use to improve your Magento 1.9 performance. Do not forget to re-check your Magento’s speed after you tried one or more of those methods.