Best Solution for Duplicate Content Issues

One great thing about the web is that it’s constantly developing. For consultants it’s an absolute must to keep up with each development.

While messing around with JavaScript, the use of the hash (#), also known as the number sign, gave me a new opportunity in the battle of optimal indexation versus duplicate content. Let’s see what this hash can do.

First, I have to admit that I’m no programmer. Tried it, but it was too hard for me — or was I too socially skilled (kidding!)?

Anyway, while I haven’t mastered any programming language well enough to make a decent living, it has helped make me become a creative SEO consultant. I’m always on the lookout for proper solutions for different problems on websites. Our goal is to find solutions for visitors and search engines so they’ll return.

As I mentioned in “International Link Building — the Best of the Whole World,” dividing your different languages consistently is the first step to prevent duplicate content issues.

But what if you operate worldwide and offer different stock in every country? Or, a smaller example, offer different stock in countries also with similar languages, like over here in West Europe.

In these cases, what is the most clever solution to get every product indexed, in the right language, but show visitors from specific countries the right stock? My solution makes use of the # to read from the URL which stock needs to be shown.

Let’s Get Practical

You can have all your translated products on a product page and placed in the right country segment of your website (e.g., by subdomain or directory).

Let’s say the product page is in the French segment of the website so it will show all products with French titles and descriptions. This is exactly what you want search engines to index — all your products in a certain language.

The problem comes in when you offer your French speaking Canadian customers a different stock. How do we solve that?

Recognize the visitor by IP or show (new) visitors a pop-up (JavaScript Lightbox, not the old school popup) where they have to specify their country. From this, a hash tag will be added to the URL (e.g., /fr/#ca) so the JavaScript can determine what products to show for that country.

The best way to do this is to load the country HTML page from the JavaScript or make a different database query (nicely dynamic). This way search engines will still see all products, while the visitor only sees the right stock.

Hopefully this diagram helps you visualize what I’m trying to explain:

Hash Diagram

More Uses?

This idea is now only targeted on multiple country and language websites, but you can use this kind of “dynamic” loading of content in other situations as well:

  • Faceted navigation: Read out the URL to show the selected filters or options of the user. The whole page on the main URL will be indexed and the options after the # won’t.
  • Pagination: What about only deep indexing the first page and dynamically loading the next pages by JavaScript? With a limited amount of products you could slice up the offer on the page for visitors, while search engines index all products shown on the page.

To # or Not to #?

As a consultant, I would highly recommend this solution. As a programmer, I would hate the consultant for making me do so much extra work.

The major advantage is the consistent and basic website structure that can be applied. The website only has to be divided by language instead of country.

It also prevents translating the same products, in the same language, for a different country over and over again to keep it unique. Also there would be no problem adding new products to your stock.

Related reading

Google / YouTube and brand safety: What's next?
lessons learned from launching 100+ campaigns
Amazon Advertising, Prime Pantry
Google Ads 2019: What to look out for