As a digital agency, we work with Magento every day on both development and search engine optimisation projects. If you’ve used Magento in the past, you know it’s a huge system with lots of menus, drop down options and settings all over the place.
Optimising Magento for search is quite straightforward once you know how to do it, so I put together an easy-to-follow guide that everyone can use to make the process easier to learn. This guide is based around the Magento Community Edition.
For this tutorial, I’m going to assume you have a basic knowledge of SEO, but I’ll also point out selections along the way if you want to read more about specific aspects of SEO that I refer to.
I’m not going to cover general page layout, heading tags or the actual content you should write. This is a basic article to get the core configuration of Magento correctly setup, and to help people out with some of the most common questions we’re asked with regards to SEO and Magento.
So, log in to your Magento store’s admin panel and let’s get stuck in.
Most stores that are live will have already carried out a few of these steps. That’s okay, since we are covering the basics, and want to make sure we cover all the bases. Let’s start from the top of the System > Configuration page and work our way down.
Go to System > Configuration > Design > HTML Head. In here, you’ll see the basic fallback settings that Magento has that you can use for SEO purposes. If you haven’t already setup a Favicon, then do that first. It doesn’t affect your SEO, but the standard Magento one doesn’t look great.
The defaults you want to ensure are set here are Default Title, Default Description, and Default Robots.
Recommended: We usually fill in the Title Suffix as well with our clients’ brand name. For example, we might put – Pinpoint Designs into the Title Suffix field. This will then be appended to each title tag.
Since the above options are only fallbacks, I would normally recommend putting your company name in as the Default Title, and using a description of your company for the Default Description. It’s very important that your Default Robots is set to INDEX, FOLLOW if your store is live. For a development store, you should switch this to NOINDEX, NOFOLLOW. (Remember to swap it back when you go live, or search engines may choose to ignore your website.)
Note: While Meta Keywords are not used by many search engines anymore, Magento will roll back to your product names if these aren’t set. For Default Keywords, you can enter your store name as the fallback.
Moving on, one of the easiest changes you can make to Magento is to prevent the index.php string from appearing in your main URL.
To carry out these changes, go to System > Configuration > Web. In here, you’ll see a list of different sections that you can open. We want to open both the URL Options and Search Engine Optimisation sections.
Now set Auto-Redirect to Base URL to Yes (301 Moved Permanently) to automatically get Magento to redirect to your base URL. (So if your base url is http://www.yourdomain.com, it will redirect to the www. version of your website from now on.)
Next, set Use Web Server Rewrites to Yes in order to remove the index.php string from your base URL.
Note: The above changes may not work depending on your server configuration. If in doubt, contact your web hosting provider for assistance.
When we make the above changes, we should also enable canonical URLs. As it stands at the moment, the pages on your site will be visible via two URLs. One with the index.php contained, and one without.
In order to get the search engines to only recognise one version, we should enable canonical URLs. To do this, go to System > Configuration > Catalog and choose the Search Engine Optimizations dropdown option. There are quite a few options that we can set in here. I’ll explain them very quickly:
Once you’ve updated these settings, it’s important to reindex the data on your website. To do this, go to System > Index Management. Click Select All and then Reindex Data using the mass action drop down in the top right hand corner of the page.
The easiest way for a search engine to crawl your website is via a sitemap submitted to Google Webmaster Tools, Bing Webmaster tools, Yahoo Site Explorer, etc. As you would expect, Magento will keep your sitemap up to date and generate this for you automatically. In order to enable this, go to System > Configuration > Google Sitemap (under the Catalog heading).
In here, we can configure the priority of each of our pages, along with how often they’re updated and how often we want the sitemap to be updated. This section is a little hard to explain in a tutorial, as it completely depends on your type of store and what you’re primarily optimising.
So, using the above as an example, we’d select the priority and frequency as follows:
Category Options: Frequency set to Daily; Priority set to 1.
Product Options: Frequency set to Daily; Priority set to 0.5.
CMS Page Options: Frequency set to Weekly; Priority set to 0.25.
With the above, if your product catalog and categories don’t change very often, you could drop the frequency down to weekly, but this isn’t necessary.
Note: For the Generation Settings to work, you will need to make sure your Magento cron works correctly.
Next, we need to generate the actual sitemap file. To do this, go to Catalog > Google Sitemap and click on Add Sitemap Button in the Top Right. Then give your sitemap a name, and put a forward slash in the path file to get it to save in the root directory.
Once done, click Save & Generate and your sitemap should be viewable at yourdomain.com/sitemap.xml.
Assuming it all worked correctly, head over to Google, Bing and Yahoo and submit the sitemap URL you’ve just generated. We’ll add it to the Robots.txt file later.
Additional Notes: If you’re running multiple stores from the same Magento installation, you might want to separate your sitemaps. So using the example of an English and Spanish store, you might call one sitemap-en.xml and the other sitemap-es.xml. You might also want to put these into a subdirectory. If you do this, you will need to make sure that the folder has CHMOD permissions to write. CHMOD 755 should be fine, but you may need to change this to 775 on certain setups. Never set your CHMOD permissions to 777. If in doubt, ask your hosting provider.
I’m not going to go into huge detail on the Robots.txt file as there’s a fantastic guide written by Inchoo with example templates and different versions explained. Take a look at it and make a judgement call on which Robots.txt file will do the best job for you. You can then modify it to suit your store’s particular requirements.
Remember to update the sitemap URL with the one we just generated (above). This will allow other search engines to pick up your sitemap without the need to submit to them all.
On the above guide, I would strongly recommend using the Inchoo Robots.txt file. That said, it’s important to check everything over before you add it to your store.
Adding your Google Analytics tracking code to Magento is very straightforward. Head over to http://analytics.google.com and log into your account. Make sure that you have eCommerce tracking turned on. (This can be done by going Admin and clicking on the Ecommerce Settings option which appears under the View heading on the right.)
Once you’ve done this, head over to System > Configuration > Google API to enable the module and check your UA- Tracking Number. Click Save and you’re done.
Alternative Solution – I would recommend installing the Fooman Google Analytics + module, which is free from the Magento extensions store. This allows you to track AdWords conversions, secondary profiles, dynamic remarketing and more within Magento. If you’re unsure of how to install modules, ask your web developers, or follow this guide. Once installed, go to System > Configuration > Google API and open up the option for GoogleAnalyticsPlus by Fooman. Fooman offers a full guide on how to set this module up, and it’s much better than the standard Magento tracking.
Finally, let’s take a look at page optimisation. This is a fairly simple section of Magento where it’s really down to you to come up with some brilliant content and make sure your pages are optimised properly for the search engines. We’ll split this into three sections: CMS Pages, Category Pages, and Product Pages.
Key Things to Remember About All the Above Pages
I hope this article has been helpful. Depending on the response, I may do a follow up article that explains the more advanced sections of Magento.
Magento is a very powerful system that is easily scalable, and I work with our clients at Pinpoint Designs worldwide to build and promote their stores with it. So if you have any questions regarding Magento, post a comment below and I’ll respond as soon as possible. You may also find the Pinpoint Designs Blog helpful, as we keep it up to date with regular features on Magento and reviews of new extensions.