Article / engineering article
Multilingual website SEO: URLs, hreflang and useful content
Translating the menu is not enough. Every language version needs to answer its reader's question, have a stable address and provide consistent search signals. We use the /uk and /en structure of 01.DEVS to explain the approach.
Start with intent and a page map
The Ukrainian phrase for bespoke CRM development and the English query custom CRM development services can lead to the same service. But each page should explain the problem naturally instead of repeating every keyword variant. We use one page per intent, supported by context, examples and answers.
MotorMods needs to explain vehicle services and help a visitor make an inquiry. Ebsh needs to present documents, tariffs and the path to becoming a B2B energy customer. Translating this kind of website means covering the visitor's task, not just its headings.
Give every language version its own address
Google recommends separate URLs for language versions and reciprocal hreflang links. A canonical URL identifies the preferred address of a particular document. An independently translated English page will normally use its own canonical rather than point to the Ukrainian text.
html
<!-- Example for the English service page -->
<link rel="canonical" href="https://01devs.it.com/en/services/custom-crm-development" />
<link rel="alternate" hreflang="uk" href="https://01devs.it.com/uk/services/custom-crm-development" />
<link rel="alternate" hreflang="en" href="https://01devs.it.com/en/services/custom-crm-development" />
<link rel="alternate" hreflang="x-default" href="https://01devs.it.com/uk/services/custom-crm-development" />Keep context when switching languages
A reader on the CRM service page should reach its corresponding page after switching languages. Sending them to the homepage breaks the journey and makes translations harder to check. Both languages on 01.DEVS use the same slugs, so their relationship can come from one registry.
Localise the H1, title, description, buttons, form errors, meaningful image alternatives and breadcrumbs. Translated metadata does not fix an English body on a page intended for Ukrainian readers.
Keep sitemaps and internal links consistent
Our practical approach uses one route registry for sitemaps, metadata and checks. This prevents a new article from existing in only one of several lists. Modification dates belong with the content and change after substantial edits.
An insights hub and contextual links help people: service readers can explore a technical example, and article readers can find a relevant service. An XML file does not replace that navigation.
- Each URL opens without authentication and returns the intended status.
- Canonical URLs exclude UTM parameters and advertising identifiers.
- Language pairs link reciprocally; an untranslated draft is not an alternate.
- Important text and links appear in the HTML delivered to visitors.
- Unknown slugs return 404, while retired addresses have targeted redirects.
Measure by page and market
After publication, compare indexing, queries and clicks in Search Console by language and country. Impressions without clicks suggest reviewing intent, titles and competing results. Visits without inquiries suggest investigating the offer and contact journey.
Hreflang and sitemaps do not guarantee indexing or positions. Begin with content and technical accessibility, then improve individual pages using evidence. Publishing many near-identical translations is not a substitute for that work.
Sources and context
Working through a similar problem?
Tell us about your product, current constraints and intended outcome. We will identify a concrete next step.