Magento and SEO functionality hasn’t exactly been a peas and carrots sort of a relationship throughout the iterations and updates for both the Community and Enterprise editions of the platform. Usually requiring an extension of the standalone package, a bit of know how, and a few tweaks to get it optimised for search engines. That’s not to say that it isn’t a search engine friendly platform, because out of the box it most certainly is. There’s just a cause for articles such as this one to help guide users to take advantage of it’s capabilities in the best possible way.
In this article we’re going to tackle some of the tweaks you can do when it comes to getting the best out of your platform. From the configuration of Magento through to the code changes required to set it in the right direction for search engine optimisation. At the time of writing the present versions of Magento are 1.14 (Enterprise edition) and 1.9 (Community edition)
Note: It should be noted that the tweaks here are only recommendations and that in some cases they may not suit a given Magento setup/install as they can affect the behaviour of a Magento website in ways that may not suit a particular instance. Ensure changes are conducted with appropriate expertise and tested thoroughly.
Note 2: Store views add another layer of complexity to the Magento SEO configuration and can be utilized to promote different content and behavior based a certain store. Duplicate content issues can arise in such situations so it’s important to ensure canonical URLs are dealt with appropriately.
1. Configuring Base Magento (for SEO)
Let’s start with the Magento configuration and what to do with the out of the box solution, there’s a few options in the Magento admin under System>Configuration to get sorted.
- System>Configuration>Web there a few settings to look at:
- URL Options>Add Store Code to Urls – typically this should be set to ‘No’ as in most ideal situations a website should have a separate domain per store. In the case where you have a store for different locations then locale-based domains such as .co.nz or com.au should be considered. Store codes can be just as effective as a locale based domain but you have less flexibility in targeting your customers internationally.
- URL Options>Auto-redirect to Base URL – set this to ‘yes (301 Moved Permanently)’ we want visitors and search engines to only see one version of the website. A 301 instead of a 302 will ensure all the link juice will be given to the right URL.
- Unsecure and Secure – set the base URL for the unsecure (non-SSL) and secure (SSL) versions of the website, you can enter a www or a non-www URL it is whatever you prefer, and what you want search engines to recognize as the preferred version. (will typically be the version displayed in search engines).
- Search Engine Optimisation>Use Web Server Rewrites – should be set to yes.
- HTML Head>Default Title – Give your website a meaningful title inside the ‘Default Title’ box. This will be used on all pages that do not really need to specify a page title.
- HTML Head>Prefix/Suffix – if you want you can add your store name in the suffix, we would recommend against using the prefix as you want your keywords in a page title to be the first thing search engines see. Leave prefix blank and optionally enter your store name in the suffix.
- HTML Head>Description/Keywords – leave these empty, we don’t want any duplicate content issues. Although they may seem a convenient way to populate your Meta data they do more harm than good so don’t populate them at all.
- HTML Head>Robots – should be set to INDEX, FOLLOW. However, if you are in a test environment then NOINDEX, NOFOLLOW should be set.
- System>Configuration>Catalog>Catalog>Search Engine Optimization has several options to set:
- Product URL Suffix – .html
- Category URL Suffix – leave empty
- Use Categories Path for Product URLs – Set this to ‘No’ (important!) This can create duplicate content issues when it’s set to ‘Yes’
- Use Canonical Link Meta Tags For Categories/Products – Set both to ‘Yes’
- System>Configuration>Catalog>Google Sitemap – make sure this is enabled and generated daily (during the least busy period should be your rule of thumb to avoid any performance issues with users)
2. Tweak your CMS, Category and Product Pages
Aside from content and content tags (h1 etc.) that are all very important for these pages, this section focuses on Magento settings.
- CMS – CMS>Pages, open the page. ‘Page title’ is the title and under the ‘Meta Data’ is the description.
- Category – Catalog>Manage Categories, select a category. Title and description are inside the ‘General Information’ Tab
- Product – Under Catalog>Manage Products, select a product. Title and description are under the ‘Meta Information’ tab.
- Titles – This should be done for all websites and Magento is no exception. For all your CMS, Category and product pages make sure to give them all a relevant and well-worded page/meta title. Go here for a thorough run-through.
- Meta Descriptions – Make sure these are all unique, enticing and make sense, all the while touching on keywords you are targeting for each page. There’s a lot of time and effort that can go into this. The important parts to note are that the description should be unique to avoid any duplicate content issues but it should also draw in the user, remember that description is what a user sees when they have the search results in front of them. If it’s well written then more users will be inclined to click on the link. Keyword stuffing looks ugly and can be detrimental for results.
- Bulk Import – as an additional note one of the best ways to do this for an established website with a lot of content is by running a bulk import that will use a spreadsheet to fire up the information rather than changing every individual element on your website. Standard Magento can do this but is very difficult for the un-inducted. It’s often better to seek an extension that can do this at Magento connect, there are many options available there.
3. Advanced Magento SEO Tweaks
These tweaks are beyond just your standard configuration and require code changes and the extension of your out of the box Magento install.
- Image optimisation – By going the extra mile for your image naming you can capture a wider audience and obtain would-be browsers by other means via image search. It’s good practice to ensure alt tags and image names are set correctly for all your images (something meaningful and relevant to the content) that you insert into content pages. The product images and alt tags can be set while editing a product under the ‘images’ tab via the ‘label’ element for each image which will in turn set the alt tag and image title.
- Headings and Page tags – highlighting key elements of content is important for search engines to identify what a page is about. The <h1> tag and subsequent <h2>,<h3> tags and so-on are then key to boosting results for searches those pages are targeting. By default Magento sets the template’s logo to an <h1> on the homepage, on the rest of the website it should only be set to an <h3>. A category page title should be <h1> and a product name on a product page should be <h1>. Using <H2> or <H3> tags to then highlight secondary and tertiary information on the page.
- Dealing with duplicates – tidying up Magento can be a bit time consuming so getting it setup from the start to address any duplicate content issues before they occur is a great way to start (it can always be done later but the sooner the better really). There are a couple of extensions around that help deal with this.
- Yoast’s robots meta module will stop search engine indexing of any non-content pages, search results etc. This can be done through a robots.txt file but is made easier for the admin by the module
- Magento provides search engines with many routes to a product and therefore a single product can have several URLs
- Canonical URLs should be set for every product/category to ensure search engines know the preferred URL of that particular product/category. This module can be used to address Canonicals for Magento and will automatically set them for the install.
- Nofollows on account and checkout. This requires directly editing template files but it will ensure things are tidy for search engines. My account, login, checkout, add to wishlist, wishlist, add to compare, compare, cart page links should be have a Nofollow attributed to them. Layered navigation links on a category/catalog page should also have Nofollow attributed to them.
- robots.txt Should be setup in the root directory of your Magento install so that yoursite.com/robots.txt can be accessed. Your robots.txt tells search engines what it can and can’t crawl on the website and should be utilized to ensure you’re presenting the right content to the crawlers Magento has a lot of irrelevant information that is no good for the search engines so this way we can avoid having it indexed.
An example of a well SEO’d Magento robots.txt file can be downloaded here and obviously changed per a website’s individual requirements
3. General SEO Tweaks
- Site speed, clean code – If you aren’t aware already this is a rule for all websites, speed and cleanliness is going to go far with crawler’s and user’s alike. By making it easier for them to see your site quickly and in a presentable manner you’re giving your site the best opportunity to be bolstered in the rankings and provide a better end-user experience. There are certainly a lot of things one can do to boost Magento’s performance however that topic is for another day. Aim to reduce the amount of JS and CSS presented to search engines on each page and bolster the site speed through infrastructure, caching and content optimization
As you can see there’s plenty there to digest and get cracking on to turn a Magento website into something more search engine friendly. Getting, the on-site content and configuration is only one part to SEO and should really be the first part that’s addressed. Some of the tweaks are more accessible to change than others and an expert may be required to provide assistance or guidance.
We can ensure your Magento website is up-to-scratch for SEO, so feel free to get in touch if you would like to get some guidance with your SEO implementation and strategy.