10 Magento SEO Rules for Great Results
Magento is one of the world’s leading eCommerce CMS’s today. It is owned by eBay and is used by around 25% of eCommerce websites on the internet.
Magento truly is a wonderful system which allows a seller to control every aspect of his business through its admin system. From sales, orders, coupons to logistics and full stock management and affiliate control. But as most systems, all these great features and tricks which help you get an eCommerce platform you’ve dreamed about, can make this system a bit tricky for a first time user.
We’ve put together a list of 10 basic rules that will help new developers and store owners that have decided to use the Magento eCommerce environment, to adjust their website to the ever-changing SEO world.
Following these simple rules, will allow you to truly maximize your website’s potential and get tons of love from all the search engines that find it:
Rule 1 – Template Structure
At the base of just about every CMS based website is the template it uses. Most people see the template only as it relates to design, but beneath all the neat images and layouts, lies a big layer of the basic code that operates the Magento system. If handled incorrectly, basic template structure problems can cause horrible SEO issues that will get magnified with every page you add to your website.
The first thing to notice in most Magento templates is the heading (<h1> html tag). Most of today’s templates use <h1> for the brand logo on EVERY page. While this can be good for the front page, when it comes to the category pages or product pages, you don’t really want your logo to be perceived as more important for the search engines than the product or category that is shown on the page.
On category pages the category name should get the <h1>, the sub-categories can get the <h2>, the product names on <h3> and the logo should be no more than <h3> too!
On product pages the product name should get the <h1> and again, the company logo should be no more than <h3>.
Also, try and minimize the use of no-keyword titles above <h4> and even better – make them <strong>.
Many pages on E-Commerce websites are irrelevant for search engines. They just get in your way of having a super-strong search presence. Pages such as “Cart”, “Checkout”, “Wish list”, “add to compare” and the likes are good for the operations of the website but users will not search your checkout process. The website is also not meant to receive first-time visitors from these pages.
With some good template work you can add ‘rel=”nofollow”’ to these links so that search engines will skip going to these pages.
Rule 2 – Canonicalization and Redirects
As an E-Commerce website manager, you’d like your users to be able to find the product they’re looking for as quickly as possible. In order to help them out, you put Filters in your categories. The way Magento handles these filters is by adding a special Query String (that XX=YY which you can sometimes find after the Domain.com). While it is a common practice and works great for the users, the search engines see each page with a different set of Query String as a different page altogether, so: domain.com?x=1 and domain.com?x=2 will be considered 2 different pages altogether even though they are both hitting domain.com’s homepage.
To let the search engines know that the current variation the bot is at, is the same as another one we use “Canonical” . The canonical tag looks like this: “<link rel=”canonical” href=”domain.com/ThePage” />” where the href attribute points at the default version you want google to use when referring to that page. For example at a category page you would like google to show the full unfiltered version of the page so you would put “<link rel=”canonical” href=”domain.com/category/” />” from all the other pages.
Although in the past a plugin was required in order to make this change automatically, in the latest versions of Magento the automatic-canonical feature is incorporated into the system’s core and it can now be accessed via: “System -> Configuration -> Catalog -> Search Engine Optimization”. Here, you enable “Use Canonical link meta tag for categories” and “Use Canonical meta tag for products”.
Rule 3 – Paginate Category & Brand pages
There are many instances in which you have the need to display a lot of data to your users. Wide variety of products, a long article or even just an image gallery can be very tiresome on a single page. For this reason, many websites use pagination. While users understand that page 1 and 2 still belong to the same item (or category) – Search engines cannot make that context realization. For a search engine every different URL is a different page altogether.
This is why we are given the following tags: “<link rel=”next” href=”next page” />” and “<link rel=”prev” href=”previous page” />” where the href attribute points at the URLs of the previous or next page.
So the first page of a category page will have only a <link rel=”next” href=”page 2 URL” /> as it doesn’t have any previous page. The 2nd page will have both of the tags pointing at pages 1 and 3. The last page will have only “<link rel=”prev” href=”previous page URL” />” as it doesn’t have a next page.
Unfortunately pagination is still not included in Magento’s core and you will have to implement it via plugins or by editing your template.
Rule 4 – Rich Snippets
What are Rich Snippets?
Over the last few years search engines are going through quite a revolution. They are transforming themselves from the “old” Keyword-Oriented search to a new Intent-Oriented approach. This means that when a user is searching for “Running Shoes”, the search engine will no longer look for pages that just mention the phrase “Running Shoes” and have some link power, but will rather try to find out what the user is really trying to find when using the term. Is the user trying to find information about running shoes? Such as how to pick a pair or is he looking for a review about different models? Is he trying to buy a pair?
To make this work, Search Engines need to understand what the pages they index are about. They need to know what brands or product they mention and in what context, if there are selling options on the page and what are they? Even what is written about a specific company or product on another website, so they can more accurately target that item for a specific niche.
To make this change possible all the big search companies (Google, Microsoft & Yahoo) agreed on a formant called “Rich Snippets”. This format is used as an extension to the normal HTML code in your page and adds descriptive information so that the search engines can make sense of the objects and text in the page.
Rich Snippets can describe almost anything! Ranging from a jewelry store to a software application and their capabilities are extended every day by schema.org, the body that is set to organize these Rich Snippets.
Rich Snippets and eCommerce
For E-Commerce purposes rich snippets offer many benefits, to begin with they let the search engines know what your brand is and what products you sell, so every time your brand or products are mentioned across the web, the search engines know to link that mention back to you! They also know to aggregate reviews and scores (star-ratings) of your products and show them right in the search results page to increase CTR’s and reputation.
Magento commerce doesn’t support rich snippets natively, meaning you will have to either edit your template to support them (technical guide can be found at schema.org) or by using one of the many rich snippets extensions now available through Magento’s Marketplace.
Before adding rich snippets to your website make sure you go through Schema.org and find out the exact snippets you need to implement. The basic implementation for an E-Commerce website should be made of: Organization-Type (can be even specific store type if available), Product, Offer, Contact Points and breadcrumbs.
Rule 5 – Remove index.php (Use Web Server rewrites)
As an Apache based system, Magento uses index.php as its main page. Usually this would have been ok, but Magento’s url rewriting system can make links specifically to that page instead of just using the domain page to enter the homepage. Magento will also natively rewrite different inner URLs to follow the index.php for example: “domain.com/index.php/category/…”.
To fix this problem simply go to “System -> Configuration -> Web -> Search engine optimization” and there enable “Use web server rewrites”.
Rule 6 – Meaningful image guidelines
Images are a big part of every E-Commerce website. They help you to catch the user’s eyes and show them how great your products are. Many people don’t know this, but images hold some value SEO purposes as well. If done right, your images can support your text and tell the search engines what the page is all about. They also have the added benefit of being searched for themselves as users use the search engines to find images only (many people don’t realize but this is a real source of traffic now a days).
To gain all the possible benefits your images can provide, make sure that every image you upload to your website has a meaningful file name (ex: Samsung-Galaxy-S3-Phone-Front.jpg vs. DSC3140239 that most cameras output normally), Meaningful alt & title descriptions (alt is displayed to users that cannot view the photo such as disabled people and title is used when the user hovers with the mouse over the image).
Rule 7 – XML Sitemap
XML Sitemaps have been around almost since the beginning of the web. They are made specifically for search engines, giving them one place where they could index all the different pages of a website and understand its hierarchy. Magento supports XML Sitemaps generation from within its core, so all you need to do is go to “Catalog -> Google Sitemap -> Add Sitemap”, choose a filename, path and view, then only press “Save & Generate” to have your own sitemap.
Do not forget that the search engines still need to find the sitemap you have created! So please add “Sitemap: http://domain.com/sitemap.xml” line to you Robots.txt and add it to your webmaster tools sitemaps.
Rule 8 –“Use categories path for product URL’s”
Many products have a tendency to belong to many categories in a website. For example: a women’s flat sandal can belong both to sandals, flat sandals, women sandals and the brand-specific category. By default, Magento lets users access this one product page through all the different categories, resulting in multiple URLS for the same product, each through a different category (domain.com/category1/product OR domain.com/brand/product OR etc…). This creates a lot of different URLs in your website with the same content, while they are all actually describing the same product. Search engines cannot tell that you actually mean the same page and see this as Duplicate Content, this is very bad for your site and can cause ranking problems for the page, as there are many pages with the same text competing for rankings from the same website. It can go as far as being handed a penalty for duplicate content (Google’s algorithmic penalty – panda for example).
To address this problem many website owners try to use canonical. Although this is a possible way to get around this problem, canonical is still only viewed as a recommendation for the search engines and you can still find yourself with many different versions of the same product indexed under your website. Luckily for us, Magento has incorporated a fix for this problem in the system’s core. Just go to “System -> Configuration -> Catalog -> Search engine optimization” and disable “Use Categories Path for Product URLs”. This will tell Magento to not create different paths to each product but have the product show only under the domain name, so the products will still be available under each category, but the product page itself will only be held at “Domain.com/Product” thus solving the duplicate content problem.
Rule 9 – Robots – index / noindex
As explained earlier, there are many pages such as Cart, Checkout, Wish list… that you wouldn’t want the search engines to index. Even though the template fix can help preventing search engine bots from getting to those pages, there is still a chance that a link will show up and those pages will get indexed. There might also be pages that you will create on your own that you wouldn’t want the search engines to index that are not straight template pages.
To prevent total indexation of a page from the search engines it’s best to add the following tag to your page header: “<meta name=”robots” content=”NoIndex, Follow” />”. As you can see the content part is made of two components: NoIndex and NoFollow. The NoIndex component tells the search engine bots to not index the page, on the other hand if you do want the page to get indexed you only need to change it to “Index”. The Follow component tells the robots to follow links they see on the page, this is kept as is to keep the robots in your website and help them discover new pages or updated content. If you don’t want the robots to follow any link they see on that page you only need to change this component to “NoFollow”.
Magento doesn’t support per-page definition of the meta robots tag, thus requiring an extension to add this ability to your website.
Rule 10 – Aim for speed
Magento is a big and heavy system with many great features and support, but its feature and support also makes it a very heavy system that needs to be managed and optimized correctly so it can keep its speed for the users. Website speed is a very important factor today in many areas, the search engine bots have only limited time to crawl your website, so each extra second it takes your pages to load is one less page that the search engines will see. Site Speed has also become a very important ranking factor for the main search engines today, so if your website is slow compared to others in your arena it will hurt your rankings. Not to mention the most important factor – the users, as internet speeds go up every year, todays users are used to websites that load instantly. If you will let your users wait, they will simple click “Back” and go to one of your competitors, what a shame.
There are a few tricks you can use to make Magento work faster:
2. Enable caching – Go to “System -> Cache Management” and enable all the caching features.
3. Configure MySql server caching – Through your server’s MySql installation set a “query_cache_size” to some portion of your available ram (64 MB should be enough). Magento is a database application, and as such, it makes many repeating mysql queries to the server. Those queries can be cached and re-used every time the page loads resulting in 100%-1000% improvement in performance.
4. Reduce HTTP Requests by combining different JS & CSS sheets together to one file.
6. Minify JS & CSS to make them smaller size files.
7. Configure your server to compress files with GZip to make your files even smaller.
By now, if you have followed all the different rules laid down here your new Magento eCommerce platform should be as ready as possible to hit launch.
It should load as quickly as possible and receive all the love in the world from every search engine that meets it.
If you have any questions or feedback you are welcomed to leave it here or contact us at [email protected]