How to Scale eCommerce SEO

How to Scale eCommerce SEO

25th July 2012

This post was inspired by a question I had via email from Grant Horejsi following my SEOmoz blog post on eCommerce SEO. The question was a great one and related to scaling SEO across an eCommerce website which had thousands and thousands of products. This is a common situation to be in and one which I’ve experienced a lot. So this post is going to go into detail on how to scale SEO recommendations across a large eCommerce site.

The recommendations in this post will help whether you have a website with 10 products or 100,000 products.

How an eCommerce site works

Firstly, it is important to understand what makes an eCommerce website scalable. Typically, products and their details will be stored in a database which powers the category and product pages. This database will hold a number of fields for each product. Common fields you will be familiar with and will include things such as:

  • Price
  • Image
  • Name
  • Description
  • Category

There are many more, but these are probably the ones that are present in any product database. When a user (or search engine) requests a particular URL, the website will connect to the database and pull out the various fields associated with the product that lives on that URL. It will then take these fields and place them into various parts of the page.

Try to imagine your product page as a bunch of database fields which are generated each time the page loads.

Important – if you have a database field for a piece of content, it is very likely that you can use this database field on the product page itself. For example, if the database holds live stock numbers, a good web developer will be able to pull this number onto the product page.

This is what allows you to scale eCommerce SEO

Once you understand that a page is created based on database fields, you start to understand the power and scale that this database can give you. You can use database fields to power any part of the page you want, we will look at examples of this below.

Understanding Dynamic vs static websites

Most eCommerce sites will be powered dynamically which means that pages will be loaded based on contents of a live database. This differs from a static website where most of the page content will be edited by the webmaster rather than a database. So to make changes to a page on a static website, a user will have to go into the CMS and edit manually page by page. You still have a CMS on a dynamic website, but you are usually editing database fields rather than the page itself. So when you make a change to a page, the next time that page loads, the content will be pulled from the database.

How this is relevant

Once you understand this distinction, you start to understand how it is perfectly possible to scale changes to an entire website if it is dynamically generated. Rather than having to edit on a page by page level, you can edit a database and have that database power an entire page.

Let’s take an example. Say we wanted to edit the META title of our product pages to include a special offer such as free UK delivery. On a static website, you’d have to go through each page individually and edit the META title by hand. However on a dynamic website, you can write a template which combines the name of a product with your special offer. So it would look something like:

PRODUCT NAME HERE – Buy Online now for Free UK Delivery

When the product page is loaded, the product name will be dynamically pulled from the database and combined with the template we’ve specified. So each and every product META title will be unique and include your special offer. If this special offer expires, it is a small change to change it to say something else.

Elements of a product page that can scale well

There are certain elements of a page that will scale better than others, from my experience, the following are usually pretty scalable:

  • META data
  • H1
  • Microformats
  • ALT text
  • URLs
  • Internal links
  • Product reviews
  • Product Q&A

All of these can be scaled very well and do not require you to edit on a page by page level to optimise for SEO.   We will look into a bit more detail for a few of these.

META title

You can create rules for META data generation like the example above.  Remember, you can use any database field to populate elements of the page, such as a category or sub-category.  Let’s look at another example of what a templated piece of META data may look like for a product page:

Buy the PRODUCT NAME online now & browse our range of SUB-CATEGORY NAME

This will end up looking something like this:

Buy the Sony Vaio E151F1EB Laptop online now & browse our range of Sony Laptops

You can do this across your entire site and easily generate unique, relevant META titles for all products in one go.  Sure you may want to edit and tweak individual ones, but this will work on scale.

META descriptions

The same can be done for META descriptions where you can have a bit more fun if you want.  You can pull in attributes such as minimum and maximum prices, number of products, stock levels as well as categories and sub-categories.  With all of these in mind, you can imagine how you can easily create unique META descriptions on scale across the entire site, even if you have millions of products.


Microformats are also easily scalable because many websites will have a single template for all product pages.  So you only need to add the relevant markup into the template and all products will be updated with the correct code.  You just need to identify which sections of the template you need to be marked up, then a developer can edit the core templates such as the footer, header, body section etc.

You need a good developer

I’ve been fortunate enough to work with some great developers, my SEO career started at a web development company where I was able to learn about scaling eCommerce SEO. If you are looking to make big changes across a large website, a good web developer will be very valuable. If you can find one who knows how databases interact with the front end, they can quite easily help you to create rules which make your SEO efforts scale across a whole website.

Scaling unique content

I’m afraid there aren’t many shortcuts here. With all the Google updates and messages of recent years, the days of being able to use the same product descriptions as everyone else are numbered. Many manufacturers will give you access to a feed of content from their products which they will give to any online retailer who sells their products. So you could end up with loads of websites using the same product descriptions and Google will have a tough time knowing which one it should rank. Quite often, big brands with lots of link equity will win against the smaller guys when this is the case.

There are a few things you can do though.

Product reviews

I’ve talked about these before and I still strongly believe that these can hold the key to many problems that retailers face with unique content. It is super scalable and not just good for SEO. It is also good for conversion rates and even bad reviews on a page can help build trust and improve conversion rate.

The hardest step here is to build the system that will collect and publish the reviews. Once you have this, things will be easier and you will need a small amount of editorial checking time to make sure that the system isn’t gamed or abused.

There are two options when it comes to getting the system itself:

1. Integrate with a third party supplier

There are companies out there who will do the hard work for you. They will give you the code and infrastructure you need to publish reviews on your product pages and they will help with the gathering of them too. Two companies who I know who do this are Bazaarvoice and Reevoo – disclaimer, Reevoo are a Distilled client.

The advantages here are clear, you need minimal development time to make the systems live and you will benefit from a system that has been invested in heavily by the respective companies. The downside is that in the short term, the costs may be higher than building your own or you may have to pay a monthly fee to use the systems.

2. Build your own system

This is what I tend to recommend to clients as I like the idea of building something customised to their needs – if development time is available. If you are going to build your own, make sure you consider the following things which you will probably need to be included:

  • Integration with your email system to send out requests for customers to review what they just bought
  • Integration with micro formats to increase the chances of seeing rich snippers in Google search results
  • Social integration would be a nice bonus which allows customers to share their reviews
  • Integration with product pages so that reviews are dynamically updated and kept fresh
  • Ability for users to sort and filter customer reviews to see positive / negative / most helpful etc

Product Q&A

As with reviews, this is super scalable and is a great way of adding social elements to your page. Yes, Q&A is social, at least how I define social which is not just having Twitter of Facebook, but the act of engaging with your audience. In this case, you are engaging with your audience via answering their questions.

Prioritisation of products

I’ll admit that this one isn’t a great answer for very large websites, but it is a start. If you have duplicate content problems on your product pages, the first step is to prioritise your products either by profit margin or popularity. Once you know your best sellers or most profitable products, you can start to work with copy-writers to freshen up and rewrite the content. At least by prioritising in this way, you know that you are putting resources into your best products. It will take time to work your way through every product, which is why this isn’t a great solution for very large websites, but it can still help smaller sites to do this.


Written By
Paddy Moogan is co-founder of Aira, a digital marketing and web development agency based in the UK. He is also the author of “The Link Building Book”.
  • This field is for validation purposes and should be left unchanged.