Where to find us...

We would love to help you out and answer any questions you may have. Please fill out the form opposite or contact us on:

  • 877-944-BLUE
  • Blue Acorn
    880 Johnnie Dodds Blvd Suite 3
    Mount Pleasant, SC 29464
  • @blueacorn on Twitter

Get in Touch

Fields marked with a * are required

Who we are...

Blue Acorn is an eCommerce Consulting firm specializing in helping online retailers increase sales, profitability and ROI through eCommerce Optimization Services.About blue acorn

Subscribe...

Receive new posts by email:

Subscribe to our Magento RSS feed

Subscribe To Our Feed

Get Found

Magento Blog

13Magento SEO DevelopmentAuthor: Kevin - Posted on May 12th, 2009

Magento Commerce is certainly an “SEO-friendly” shopping cart – but just like much of its brethren, there is still room for improvement. Granted, it has come along to fix some of the issues we pointed out in our first Magento review, and a few in the community have put together some extensions to further that along.  Yoast has even gone so far as to creating a beginner’s SEO guide for Magento which does a great job of covering some of the basic setup points for those setting up a Magento store that might not be attune to some of the intricacies with SEO on an eCommerce platform.  But we actually take that a step further with some additional tips and tricks that we utilize to ensure our Magento projects are search engine optimized.  I’ll try to avoid regurgitating the steps already recommended in the Yoast guide, and focus more on some of the additional steps we take when optimizing a Magento theme for SEO.

Magento SEO Theme

We start off with using the Blank SEO Theme, which takes the blank theme (which we’d typically start from) and improves some items with more semantic coding, cleaning the header, and some no-following. We also go through the already detailed steps of:

  • re-routing non www traffic to www
  • 301ing /index.php to the root
  • implement canonical URL extension
  • generate XML sitemap

At this point, there are a few other recommended changes we make to the base theme that haven’t yet been detailed.  First, we remove the table-based layout for the product grid, we prefer using div blocks to organize our products and allows for cleaner code.  We also make a few changes to the semantics of the header tags actually used in that theme.  I’ve seen many SEOs do the same thing, they make the logo an h1 tag, title it with some keyphrases, and use it on every page of the site.  While this may semantically help keep your site structured, my opinion is that you’re doing yourself a dis-service by practicing this technique.  The h1 tag should be unique on every page, and should only be used when providing value to the user.  The blank SEO theme makes the logo an h1 on the homepage, and an h4 on all subsequent pages.  Which in itself is a comprimise, but does break the semantics of the page, because on subsequent pages, the h4 appears before the h1.  If you do not have a “natural heading” on the homepage, I might recommend wrapping the logo in one there and only there, but if you do, then, there is no purposed for the logo being wrapped in an h1.

In addition to this, we also go through and no-follow layered navigation links, sorting and paging links, wishlist, compare, as well as any other necessary links.

Magento Pagination

We wrote up a pretty exhaustive article on the issues of eCommerce pagination and a few methods to remedy any duplicate content issues that may arise from that.  Like most other eCommerce platforms, Magento’s pagination techniques presents the same set of issues.  Without redeveloping the entire pagination system (not yet at least), we make a few tweaks to how the existing pagination works in two primary ways.  First, we alter the title tag of each page to prefix “Page [2] of…” so that each page contains a unique title tag.  In addition, you may not even notice it, but there is actually a duplicate URL for your first page.  Follow me in this process, browse to a category with multiple pages, advance to any page greater than one, and notice the link back to page 1 – it appends a querystring parameter for page one instead of using the default URL.  For example, if we sell blue acorns (goodbye blue widgets), our page URL might be /products/blue-acorns where each subsequent page being /products/blue-acorns?p=2, the pagination actually links back to page one as /products/blue-acorns?p=1 – creating an exact duplicate of /products/blue-acorns.  We resolve this by adding a nofollow attribute to the page 1 link.  An even better solution would be to change the pagination model so that it does not use the p=1 querystring parameter.

SEO for multi-store Magento implementations

One of the great capabilities of Magento is its inherit ability to support multiple web stores. Through one administration and one interface, you can manage all of your orders, all of your products, everything.  Many online retailers setup multiple niche storefronts that may sell overlapping products, and Magento provides an excellent interface for doing so.  However, be careful in how you setup your product data.  If you sell the same products on multiple sites, and use the same exact information on each site, you’re walking a fine line between duplicating yourself, especially seeing that all of your multiple sites will most likely be setup on the same IP block depending on your host.  So it would be easy for a search engine to tell that these sites are not only related, but really, one in the same.

This is more of a tip for those of you running multiple sites on Magento than it is a Magento-specific tweak, but I highly recommend mixing up the data on each site.  Don’t use the same titles, headers, and descriptions and even price on each site.  I realize this takes a great deal of effort to maintain, but if the whole reason to run multiple sites is an attempt to achieve greater “reach” in the search engines, you’d be shooting yourself in the foot if you just used the same data on each site.  You’d be better off building up the authority of one single domain than setting up multiple sites and hindering each of them.

301ing disabled products

Consider this scenario.  You sell a great, useful amazing product, everyone loves it.  They love it so much that the product goes viral and you’ve got thousands of inbound links to it.  A year later, the product is no longer available, and you disable it from your website.  What then happens to users that click on those links?  What happens to search engines the next time they spider your site?  What happens to all that link juice being passed to that page?  The answer to all of the above is… 404

This is a pretty common issue we come across with eCommerce platforms, when products are disabled, and a user tries to go to that now defunct URL, they get a 404 error.  While we do recommend customizing your “not found” pages to at least include a search or related pages, what would be more effective from an SEO perspective, and a user’s perspective is if they got directed to another page that was related to the product that is no longer available.  What we do is actually create a means for which Magento administrators can setup a “redirect to” product (or category) so that when a product is disabled, instead of the user (or search engine) getting a 404, they actually get taken to a product that might have replaced it, a related product, or even the parent category if you no longer carry that product.  This will help retain any search engine positioning that product was getting, preserve any link juice that was being passed to that page, as well as creating a better user experience.  A win all the way around.

SEO and eCommerce Platforms

All in all, while you might be thinking to yourself, “wow, Magento really isn’t SEO friendly” – don’t let this article confuse you.  Magento IS search engine friendly, just as much as the next eCommerce platform.  The reality is, almost all eCommerce platforms we work with have the same issues.  And when it comes down to it, the platform itself only does so much for you.  A search engine optimizer needs a platform that allows them to have the freedom to exercise on-site optimization, and Magento does just that.  The biggest sales pitch by eCommerce platforms right now is that they are “the most SEO friendly” – yet I’ve yet to come across one that stands out any more than the rest.  In reality, most platforms have matured to the point that the tools needed to manage an SEO friendly site is all (or mostly) there, and there are only minor variances that separate one from the next.  But we’ll save that discussion for another time.

Enjoy this article? Spread the Word:
  • TwitThis
  • Twitter
  • Digg
  • Technorati
  • Sphinn
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • Reddit
  • e-mail

13 Responses to “Magento SEO Development”

  1. CandleStyle.com Case Study | Phase One | Silverback Marketing | Silverback Marketing Blog
    CandleStyle.com Case Study | Phase One | Silverback Marketing | Silverback Marketing Blog June 30th, 2009 at 9:31 pm

    [...] across as we were researching SEO modules for Magento. Magento SEO by Yoast (love that guy) and BlueAcorn put together a post building on Yoast’s more basic overview. We’ll put together a more detailed post in the [...]

  2. Tosho
    Tosho July 27th, 2009 at 5:00 pm

    Please clarify how some one who wants to have a multi-site set up can: A)Make the headers and product information different for each store.
    B)How to ensure that the search engine reads each site as its own (like it were its own company).

    Thanks lots guys.

  3. Elle
    Elle July 31st, 2009 at 8:38 pm

    I am so thrilled to be using magento. Compared to the last shopping cart I attempted, magento is so much easier. I love that the pages can be made SEO friendly, however I still seem to have some issues with the lists (SID)and such- some of the pages indexed are a bit awkward, but I am working on figuring that out. There is so much to learn and work with- trying to read up on as much as I can, so thanks.

  4. Alex Becker
    Alex Becker August 20th, 2009 at 11:01 pm

    Pretty nice feature I must say. By the way, this blog is so well designed from a user, design, and search engine friendly standpoint — great job. I retweeted this post @aybecker – hopefully you get some readers out of it. Keep up the good work.

  5. Rasmus Lindgren
    Rasmus Lindgren October 25th, 2009 at 5:52 am

    Hi
    Thank you for a great post. Could you explain a little more on how you have implemented the 301 redirection from unavailable products to new products or categories? Are there an extension for this or have you done some clever code? (or do you simply edit the .htaccess eaxh time?)

  6. Ben
    Ben October 25th, 2009 at 3:24 pm

    @Rasmus – Either approach is acceptable, though given our needs to change the behavior disabled product routing, along with our need to allow clients to control redirects, we chose to implement this as a custom extension. It is a testament to the extensibility of Magento that it is possible to customize and extend routing to this degree, all by extending core controller files.

    Above all, just make sure that you’re not losing any link juice!

  7. Brady
    Brady November 18th, 2009 at 9:49 am

    Great Post Guys!

    What would you recommend on creating a better 404 page that could take the url from an old domain and show products matching the url. ie. we have a site built years ago with OSc that has 10k indexed pages that need to redirect to the new site.

    OLDdomain.com/shop/10×14-smoking-sign-p-55555.html

    Turns in to search of : “10×14 smoking sign p”

    (the “p” is there because all we would do is strip out the record number and the dashes)

    I am not sure if I can do a actual 404 page, with the search result in it (that would be best), but we can absolutely redirect to a search..

    NEWDOMAIN.com/catalogsearch/result/?q=10×14+smoking+sign+p

    Possibly we can perform a search, if it returns one product send them to that product’s page directly?

  8. Kevin
    Kevin November 18th, 2009 at 4:24 pm

    @Brady – that is an excellent idea. Ideally, you should have all products from your old site (if you need to prioritize, start with any pages that currently rank in SERPs or have links to them) 301′d to the new URLs. That way, your new pages will be indexed and show up in the search results in place of your old ones.

    If that is too big an undertaking, or even to use this as a failsafe “catch-all”, what I would suggest then is to take your old URLs, if they all start with some kind of pattern like “/shop/…” then create an .htaccess rule to take all URLs that start with /shop (assuming none of your new ones do as well) and create a script that “explodes” (or breaks apart) the URL and redirects the user to a search page with the query the text that would have made up the URL (you can even strip out the arbitrary category id that OSc includes in the URL).

  9. Tao @ Greners.com
    Tao @ Greners.com December 2nd, 2009 at 11:04 pm

    According to Google from the link on the Magento SEO blog by Roy Rubin duplicate content as addressed by the canonical url extension is not an issue and time would be better put into many other SEO projects. I wish I had read that this morning before I began following the directions from the Yoast article and here to make that work. Here is the link: http://googlewebmastercentral.blogspot.com/2008/09/demystifying-duplicate-content-penalty.html.

  10. Kevin
    Kevin December 2nd, 2009 at 11:12 pm

    @Tao – thanks for chiming in, but I think it’s important to clarify the post from Google that many of us in the SEO world are quite familiar with. If you read closely, it is noted that “Don’t create multiple pages, subdomains, or domains with substantially duplicate content.” and “Having this type of duplicate content on your site can potentially affect your site’s performance, but it doesn’t cause penalties” that it is truly debunking the myth of a duplicate content penalty – but it clearly states that having this duplicate content can cause issues. It’s the whole reason for Google pioneering the use of this tag to begin with. Should it be a top priority for SEO on your site? Probably not, but, if you want to do as much as you can then this should be something certainly to pay attention to. So, I wouldn’t consider it time wasted at all on your part =)

  11. Ethan
    Ethan December 13th, 2009 at 1:32 pm

    I am having the same issue with multiple stores. I have a client with many e-commerce domains in the same industry, and he is worried about getting penalized if all of the sites are hosted/databased in one magento installation. Wouldn’t it be better to do seperate installs for each store? Thanks for the help!

    P.S this blog rocks!!

  12. Brett
    Brett March 7th, 2010 at 5:03 pm

    I am somewhat new to Magento and was doing a search on how to customize the design of the Blank SEO theme when I found this very informative article. Does anyone know if there are instructions available for customizing the Blank SEO template? We are primarily interested in customizing the header/masthead right away.

  13. Antoine
    Antoine March 15th, 2010 at 7:57 pm

    Hello,

    I have a comment regarding “301ing disabled products” – very often Magento owners hide “out of stock” products. This also leads to the problem you described. We suggest not to hide such products to keep rank juice.
    What do you think about Magento SEO Extension It solves most of cases you mentioned and adds some more. Check it out.

    BTW, thanks for this article.

Leave a Reply