Skip to content

SEO

This section primarily focuses on the methods that we want to implement and adapt in every d-centralize project regarding improving SEO and Google Indexing.

The ultimate goal is to atract more users to our websites.

Domain Internationalization

We want to use multiple domains to target users based on their region. For example, https://www.d-centralize.nl is dedicated to users in the Netherlands, ensuring a localized experience for Dutch inhabitants. Additionally, this domain can also serve Dutch-speaking users in other regions, such as Suriname.

For users outside of the Netherlands, we use https://www.d-centralize.com to provide a more globally recognized experience. We take into account our website internalization and try to provide the proper language to the users based on their region.

Hreflang Implementation

To optimize for international SEO, we implement hreflang tags as follows:

Primary Domain (Netherlands)

This is a HTML fragment seen on https://www.d-centralize.nl:

<link rel="alternate" href="https://www.d-centralize.nl" hreflang="nl-NL" />

Special cases

For example, users coming from the Germany territory and they might speak Dutch or German.

The goal is to cover both possibilities and use our both domains accordingly. For the German speakers we advise Google to index and provide as the result the .com domain:

<link rel="alternate" href="https://www.d-centralize.com/de" hreflang="de-DE" />

As for the Dutch speakers coming from Germany we advise Google to showcase the .nl domain:

<link rel="alternate" href="https://www.d-centralize.nl" hreflang="nl-DE" />

Other Locales

For each supported language, we add the following to https://www.d-centralize.com served pages:

<link rel="alternate" href="https://www.d-centralize.com/{language}" hreflang="{language}-{region}" />

So all users that are not targetted by the NL region hreflang="{language}-{NL}" will be served from https://www.d-centralize.com/.

Default Global Version

Based on our website’s supported languages we try to target multiple regions where the inhabitants from those regions speak the languages that we support. For example, we support the following languages: ['en', 'nl', 'de', 'fr', 'da'] and we are targeting the following regions based on the following country codes: ['GB', 'US', 'CA', 'AU', 'NL', 'DE', 'FR', 'DK'].

As an example, we try to target English (‘en’) speakers from Great Britain (‘GB’), United States (US), Canada (CA). Moreover, we are targeting Dutch (‘nl’) speakers from The Netherlands (‘NL’). And so on.

For users that are not targeted by our specific hreflang attributes that we define as exemplified above we set a x-default hreflang on all of our domains and as default we provide our English .com version to all users that are outside of our target:

<link rel="alternate" href="https://www.d-centralize.com" hreflang="x-default" />

This ensures users are directed to the correct version of the site based on their location and language preferences.

Sitemaps and robots.txt

As mentioned above, we use multiple domains. Because of this, we need to generate multiple sitemaps. One for each domain. We create a global sitemap (sitemap-global.xml) that is used for our .com domain. The rest of the sitemaps are generated for the specific country domain, for example sitemap-nl.xml is created for https://www.d-centralize.nl/sitemap-nl.xml.

Each sitemap contains all the pages of our website the only difference being the domain.

All of the sitemaps that are created are indexed by a main sitemap.xml that looks like this:

<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>https://www.d-centralize.nl/sitemap-nl.xml</loc>
</sitemap>
<sitemap>
<loc>https://www.d-centralize.com/sitemap-global.xml</loc>
</sitemap>
</sitemapindex>

We also generate the robots.txt file right after generating the sitemaps.

URLs

Canonical URLs

Considering that we have multiple domains for the same web page, even though the domain is different the page content remains the same.

For example, the Dutch contact page content can be observed both on https://www.d-centralize.nl/contact as well as https://www.d-centralize.com/contact. In order to make avoid Google de-indexing all pages that it finds as duplicates we need to specify a canonical tag for just one domain that we want to be indexed. In this case, we choose to set the canonical to our global domain .com and set this inside the <head> metadata of the page:

<link rel="canonical" href="https://www.d-centralize.com" />

Translated URLs

We implement translated URLs for each of the languages that we support on our websites.

For example, https://d-centralize.nl/about and https://d-centralize.nl/de/uber-uns.

This means that if a user visits us from Germany and we provide language support for German, then we provide translations to all the URLs in German. Also, based on the implementation of the hreflang attributes mentioned above, we also want Google to index the /de version of the website in the Google results for a user coming from Germany.