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.