How To Optimize Database-Driven B2B Websites

Database-driven websites are very common in the B2B sector. This is because many companies want to have a catalog of products available on their site for distributors, but it would not be cost-effective to manually build out those pages as they are meant to generate leads, not revenue.

Optimizing database-driven B2B sites follows the same basic SEO principles as any other site, but the execution is much different.

Below is a simple guide on how to optimize dynamic content for product catalogs or similar content.

How Database-Driven Sites Work

If you aren’t familiar with how a database-driven website works, it’s simple. Instead of manually updating several page types, you create a database full of variables that are dynamically pulled into the content, which allows you to update millions of pages in seconds. Although this creates lower quality content than a static site, it is a much more cost-effective means of managing a site with a high number of product pages.

global business network trafficHere’s an example of how a dynamically generated h1 tag works:

h1 Tag Formula:

Model [model number] [product name] Tool


Model numbers in the database: 101, 102, 103

Product names in the database: Widget, Widgeter, Widgeting

Heading Output:

Page 1: Model 101 Widget Tool

Page 2: Model 102 Widgeter Tool

Page 3: Model 103 Widgeting Tool

Database-driven sites are that simple. The more database fields you create and disperse amongst tags and content, the more unique your content will be. The key to SEO success with these types of sites are to eliminate the possibility of duplicate content. With every database field placement decision you make, duplicate content issues should always be a top consideration.

Dynamic Product Page Optimization

Now that you have a basic understanding of how database-driven sites work, here’s how these concepts apply to SEO for product pages.

Creating Rules

Before generating any content, you will need to analyze the database to create rules for generating things such as URLs, title tags and meta descriptions. Having special characters, all capital letters, or non-unique content in the database can potentially create SEO issues once the content is populated.

Once you identify any database fields that could potentially create SEO issues, have your developers/engineers create arguments so that if these issues are generated, they will be stripped out immediately before the content is populated.

For example, let’s say a database field has a registered trademark symbol in some of the data sets. If the same field was used in the URL and title tag, it would create a URL either with the trademark symbol or other undecipherable characters, and the title tag would also have it. By creating a rule to strip this character out completely if it populates in either of those fields, your site will generate a clean URL and title tag.

Title Tag Formula

Title tags can be very tricky because product pages in the same category may have very similar product names or other closely-matching parameters. There’s also a 70 character buffer limit for title tags, so you may occasionally have a title generate with over 70 characters. To resolve the buffer limit issue, create an argument that says any characters past the first 70 will be stripped from the title tag.

For the title tag formula, the first database field should be the most unique identifier available. The title tags should begin with their most unique attribute. For database-driven product pages, this is usually the model number followed by the product name. Of course, there are many other unique identifiers that you may have available to you.

Here’s an example of a title tag formula, and how it would appear after it is populated:

[model number] [product name] – [product category] | Branded Term

102 Widgeter – Widget Tools | WidgetCo

In this example, there were no duplicate model numbers in the database example given in the beginning of this article, so I used it as the first database field in the tag. The second database field for product name was very similar to the rest in the data set, but was still unique so I chose to use it as the second field. The third field was the product category, which is used for several products, so I used it last. As a best practice, it’s always a good idea to include a branded term at the end as well.

Meta Description Formula

The meta description formula follows the same basic principles as the title tag formula — use the most unique attributes in the beginning and include a branded term. Similar to title tags, meta descriptions have a 156 character buffer limit. You’ll need to create an argument that strips out any characters after 156.

Descriptions have a little more room for uniqueness because you can create a formula with different content for each product category. Here’s an example of some poorly written, but decently-executed meta descriptions that are used for two different product categories.

Example 1: The model [model number] [product name] by WidgetCo is an industry-leading [product category 1]. Learn more here!

Example 2: Our model [model number] [product name] offers the best in [product category 2] for the manufacturing industry. Made exclusively by WidgetCo.

With both of these formulas, each meta description will have unique content populating before it reaches the 156 character buffer limit, thus eliminating any possibility of duplicate content.

URL Formula

URLs, by default, are usually generated by a series of parameters that make no sense whatsoever to humans with the website technology. By using a URL rewrite script, you can translate those parameters into something readable using database fields. Another common issue with dynamic URLs is the use of capital letters. By using regular expressions in the URL rewrite script, you can also force the URLs to be lowercase. When creating a script like this, it is imperative that you also include a function that redirects the old URL to the newly-generated, clean URL to avoid duplicate content issues.

To generate the clean URLs, you’ll need a formula that will create a unique URL for each product page while establishing URL paths that follow the navigational hierarchy. Below is an example of how to generate one using the same database example I’ve used throughout this article.

/products/[product category]/[model number]-[product name]/

This formula will translate to:


Now, isn’t that much better than something like this?


h1 Tag Formula

Generating h1 tags is probably the simplest part of optimizing database-driven sites, so I’ll keep this one brief. Include the most important and unique database fields plus whatever additional text you think is necessary. Below is an example of this.

Model [model number] [product name] Product Details

This translates to:

Model 102 Widgeter Product Details

It’s keyword-rich and has a slight variation to the URL and title tag.

Content Formula

Creating the body of content is the most difficult part of optimizing a dynamically-generated site. You need to have at least 150 words of content according to SEO best practices, while still keeping it very unique and not reading like it was generated by a machine.

The key to achieving this is by using as many database fields as possible. When creating the database, you should include items like product specifications, product descriptions, etc. By doing this, you can minimize the amount of duplicate content that appears on the page, and use the uniqueness of the database fields to generate unique content. Here’s an example of how this can be executed.

Paragraph 1: Lorem ipsum Model [model number] [product name] amet, consectetur adipiscing elit. Integer nec odio. Praesent libero. Sed cursus ante dapibus diam. Sed nisi. Nulla quis sem at nibh elementum imperdiet. Duis sagittis ipsum. Praesent mauris. [product category] nec tellus sed augue semper porta.

Paragraph 2: [product description]

Paragraph 3: [product specifications]


Optimizing dynamically-generated content is easy. The examples given in this article are that of a simple database with few fields. In a real-life application, a database-driven site will have many more database fields available to create unique, optimized content.

There are two key concepts to keep in mind — pay close attention to duplicate content and generate as unique of content as possible. If you follow these two basic principles, and apply them to general SEO best practices, you’ll have the power to optimize thousands of pages in a few hours.