Magento SEO: How to best optimize your Magento website

When selling products online through a Magento website there is huge competition from other sellers who are competing for the same customers. In order to succeed one must offer the best products and competitive prices. Offering the top products at reasonable prices, however, is not enough. Success greatly depends on how well a Magento website […]

By Gentian Shero

When selling products online through a Magento website there is huge competition from other sellers who are competing for the same customers. In order to succeed one must offer the best products and competitive prices. Offering the top products at reasonable prices, however, is not enough. Success greatly depends on how well a Magento website is optimized for best Search Engine Placements; hence, todays article will go over some of the best Magento SEO practices, including a technical, Magento backend SEO context.

This article will not go into the widely covered black hat techniques such as keyword stuffing, invisible text, doorway pages, link building etc., because this types of SEO are basically a short-term solution.

Instead, we will cover some of the most important things that need to be in place when developing a Magento website and some common SEO aspects that get overlooked. After reading this article, I hope you’ll learn about Magento website SEO. For tech savvy people these steps can be a Do-it-Yourself project. For the rest, this article can serve as a reference point on what to ask the web developing company or SEO agency who will be working on optimizing your Magento website to create both a great user experience and a well optimized Magento website.

Table of contents:

1. Setting up your Magento website
1.1 Magento website header optimization
1.2 Product and category optimization
1.3 Magento CMS page optimization
2. Magento theme header optimization
3. The New Direction of SEO
3.1 Importance of Site Speed and Performance
3.2 Social Media Involvement
4. Incorporate a blog
5. No Index/No Follow for all pages on a development environment
6. Preventing duplicate content in Magento
7. Submitting to Search Engines
7.1 Running Magento sitemap as a cron job
7.2 Additional Comments on default Magento sitemap

1. Setting up your Magento Website

1.1 Magento website header optimization.

One of the first things we need to do when optimizing a Magento website is setting up the up default titles and descriptions. Meta keywords are no longer relevant for SEO purposes, so don’t waste your time on those. The title tag should always employ some of the most important keywords of your business, or main products, followed by your business name. If you are a local business or aim to target an audience for a particular geographical area, adding location or the region in your title tags is highly suggested.

– Your default description needs to entice customers to click on your link when you are listed in search engines. This description should be 150-160 characters optimally and should describe the brand and the product.

– Meta Descriptions do NOT effect your rankings, but they will be seen by visitors when your site appears in results. So remember to create a compelling description that a searcher will want to click. Try to keep the meta description relevant to the page. Uniqueness between each page’s meta description is key.

1.2. Products and Categories

Besides the main pages meta descriptions, product categories also need meta descriptions. Again – don’t worry about keywords. Your category URL keys need to be descriptive and simple. Eliminate any unnecessary words like “the” or “and”.

– Set up Products.

This is one of the most important aspects of Magento SEO. Most people search for a a product and that’s how they land on a website. Products need descriptions with well-thought out URL keys. A common mistake is not having enough product description or imagery. A lot of online retailers use the basic description offered by the manufacturer. What they forget about is that other retailers are selling the same exact products where the same descriptions are used on one hundred other websites. This leads to a website not being seen as unique by search engines. The other way to think about it is to look at your website from a customer’s perspective. Having informative and unique description for each product, educates the visitor and provides a website that search engines can not refuse to rank high. Remember, search engines love content and products should have unique, well written and extensive descriptions.

1.3 CMS Pages

Content management pages in Magento are pages like “Contact Us, Shipping Policy, Terms, About Us, FAQ’s, Site Map etc. Like category and product pages, your CMS pages should also have well thought meta descriptions which you should write yourself. Remember that the goal here is to entice visitors to click on a listing, but it won’t affect your ranking.

2. Magento theme header optimization

Whether you are using a custom-built or a pre-built Magento theme, one of the first tasks that needs to be checked is the theme’s header. Pay special attention to how your Theme is using H1 tags and other headers. Remember that on your home page, your logo should be your H1 tag and on the interior pages, your h1 tag should be your category, product, or cms page name. If your theme does not use H1 tags properly, ask your developer to adjust these to optimize your website properly. On content pages H1 should contain title of the page. On product pages the H1 tag should contain the product name. So if you are purchasing any pre-buit theme just review it very carefully.

3. The New Direction of SEO

3.1 Importance of Site Speed and Performance

Needless to say, Magento is a resource intensive application and reliable hosting that is capable of handling a large Magento website is usually required. Your website needs to perform at the highest level. Consider hosting your website by a reputable company that has experience with Magento and can provide a content delivery network (CDN) for better speed and overall performance. We use nexcess.net and are very happy with their reliable Magento hosting services.
– Google has stated explicitly that website speed and performance does indeed affect rankings.

3.2 Social Media Involvement

– Google has said that it does indeed use social media links to affect rankings. You must have a presence on Google+, Facebook, Twitter, Pinterest, and YouTube. You should also make sure that your products and other content can be shared or tweeted by anyone who views them.

4. Incorporate a WordPress Blog

Besides the product descriptions, having a blog on your Magento website is highly recommended. There are a number of extensions that provide blog functionality. We have tried a couple of them in the past with average to good results. The best blogging platform remains WordPress, which can be fully integrated with Magento.

– Make sure Integrate WordPress into your website and keep the styles consistent.
– Write a couple of times a week, because fresh and updated content is valued
– Enable and encourage comments and respond to them when you get them
– Establish yourself as an expert in your specific industry, and display expert knowledge of the products you sell.

5. No Index/No Follow For All Pages In The Magento Admin

When we are developing a site, we create a development environment that is separate from the live website’s files and database. Because we do not want potential visits from current customers of our client we have to make sure that our development website is not visible through the search engines. This is where the no index/no follow command comes handy. This command tells search engine robots not to visit and not to archive your pages. So when they read this file they know not to return and not to make a record of their visit. If you would like to do the same thing for your website, please follow these steps to ensure robots do not index your Magento website.

5.1 How To Apply No Index/No Follow For All Pages In The Magento Admin

The first thing you want to do is log into your administration panel and select “System –> Config” in the top navigation menu.

When you are on the configuration page you will see a menu on your left. Look at the top panel titled “General” and you will eventually see a sub menu section titled “Design”.

Click on “Design” and you will see multiple options available to you such “Package”, “Themes” and “Html Head”. Please click on “HTML Head”

Once you are inside the “HTML Head” tab you will notice, if you scroll down, a field titled “Default Robots”. Choose the “NOINDEX, NOFOLLOW” option and click the “Save Config” button on the top right of your screen.
This will save this value and ensure all pages are protected from web crawlers.

If you need help with your Magento store, call 845-656-3000 or Contact us here »

6. Preventing Duplicate Content in Magento

Preventing duplicate content from being indexed is a challenge every Magento store owner faces and it is important to learn what to allow search engines to access and what to not access. The quickest way to avoid indexing, and this is the preferred method to use if you are starting out with a new Magento website, is to use a robots.txt file to prevent indexing of unauthorized directories and certain store urls that cannot be accessed directly by a first time user such as the cart or checkout page.

Please note, if you wish to remove previously indexed urls, you must use Google Webmaster Tools. For more information, please visit their support page.

https://support.google.com/webmasters/answer/164734?hl=en

When preventing duplicate content from being indexed, we must also consider the importance of not having improper content accessed such as folders that Magento depends on for functionality. Below is a list of ‘disallow’ statements you can add to your robots.txt file.

Note: This assumes you have placed the proper ‘User Agent’ tag at the top of your robots.txt file such as:

User-agent: *

This states “The following commands apply to all search engines that are visiting this website”.

In order to prevent indexing of unauthorized folders/content, please use the following disallow commands:

# Directories Disallow: /404/
Disallow: /app/
Disallow: /cgi-bin/
Disallow: /downloader/
Disallow: /errors/
Disallow: /includes/
Disallow: /js/
Disallow: /lib/
Disallow: /magento/
#Disallow: /media/

Disallow: /pkginfo/
Disallow: /report/
Disallow: /scripts/
Disallow: /shell/
Disallow: /skin/
Disallow: /stats/
Disallow: /var/

Dealing With Store Urls Created By Magento

At this point we need to figure out how to prevent cart pages, checkout pages and even review pages from being indexed. Doing this prevents duplicate content from being loaded and prevents users from visiting your cart/checkout as the first page they visit, which would be pointless since they have not added anything to the cart yet.

# Paths (clean URLs) Disallow: /catalog/product_compare/
Disallow: /catalog/category/view/
Disallow: /catalog/product/view/
Disallow: /catalogsearch/
Disallow: /checkout/
Disallow: /checkout/onepage/
Disallow: /checkout/onepage/billing/
Disallow: /checkout/onepage/shipping/
Disallow: /checkout/onepage/shipping_method/
Disallow: /checkout/onepage/payment/
Disallow: /checkout/onepage/review/
Disallow: /checkout/onepage/success/
Disallow: /onestepcheckout/
Disallow: /control/
Disallow: /contacts/
Disallow: /customer/
Disallow: /customize/
Disallow: /newsletter/
Disallow: /poll/
Disallow: /review/
Disallow: /sendfriend/
Disallow: /tag/
Disallow: /wishlist/

If you notice the /catalog path in the above disallow statements, you will see that you are preventing the duplicate content of the product view page as well as /review which loads product reviews. The reason we do this is because the /catalog and /review url path, which is created by Magento, creates a duplicate ‘product view’ page and we want to make sure the search engines are not indexing those.

Dealing With Query Strings And Dynamic Pages

The last thing you want to focus on is disallowing indexing of dynamic pages such as catalog search results or ‘paging’ such as ‘page 5’ of the ‘catalog filter’ or search results page. To remove those pages from being indexed you can use the following disallow commands:

Disallow: /*.js$
Disallow: /*.css$
Disallow: /*.php$
Disallow: /*?p=*&
Disallow: /*?SID=
Disallow: /*?limit=all

This also prevents javascript files, css files, php files and session id urls from being indexed. If you wish to prevent indexing of *all* query string pages, not just the ‘paged’ results pages or search results pages, you can use this command:

Disallow: /*?*

What you choose to prevent from indexing is entirely up to you but at least you now have the power to control what gets indexed and what does not. Remember to have an account with Google Webmaster Tools to ensure that google removes any content you do not wish to have stored in their archives. You can remove urls and even filter by parameters (parts of a url such as a query string, for example) so it knows what to remove and what not to filter.

7. Submitting to Search Engines

7.1 Running Magento sitemap as a cron job

This sitemap is default functionality included with Magento. The following setup is for Magento 1.7, but it will be similar for other versions.

There are 2 steps in setting up the sitemap to run on a timer (cron):

Configure app/code/core/Mage/Sitemap/etc/config.xml to create the sitemap at the desired time interval. Here is a sample for generating the sitemap at 2 AM every day:

<config>

<crontab>

<jobs>

<generate_sitemaps>

<schedule><cron_expr>0 2 * * *</cron_expr></schedule>

<run>

<model>sitemap/observer::scheduledGenerateSitemaps</model>

</run>

</generate_sitemaps>

</jobs>

</crontab>

</config>

7.2 Ensure the Magento master cron job is running.

For example, if you are using cPanel to administer your site, you would go to Cron Jobs folder

Below we are running the master cron job – executes/cron.php – every 5 minutes. That is the maximum time interval that should be used. Some people recommend running it every minute. It may be necessary to supply the full path to the php executable, unlike below.

How to set up a Magento cron job
Magento cron job

Additional Comments on default Magento sitemap

Important configuration options: admin > Catalog > Google Sitemap sets the file name and path for the generated sitemap; the file app/code/core/Mage/Sitemap/etc/config.xml which contains the sitemap cron, explained above, has other configuration options.

Deficiencies in default functionality: the sitemap generated will be flat rather than hierarchical, and will contain all the catalog items but none of the CMS pages. A very good alternative is to purchase and use the Mageworx “SEO Suite Ulitmate Magento Extension,” which not only contains improved sitemap functionality (incidentally, configured similarly to the above), but many other options for optimizing your site’s search engine score.

Avoid Spam

– Don’t pay for links
– Black hat SEO techniques
– Spam
– Over Optimizing
– Keyword Stuffing

Chief Strategy Officer at

Gentian, CSO and co-founder of Shero Commerce, guides the company and client digital strategies. He's an expert in technical SEO, Inbound Marketing, and eCommerce strategy.