Localisation report
Agoda
Online travel bookingagoda.com
Product: An online travel booking platform for hotels, homes and apartments, flights, activities, airport transfers, transport and eSIMs. It also offers travel deals, guides and itineraries.
Brand voice: promotional, convenient, travel-focused
Localisation score
79/100
GoodThe website is generally well localised, with some issues to improve.
- 68Technical Audit
- 80Linguistic Audit
- 90Contextual Audit
- 77Visual Audit
Sampled 15 pages across technical, linguistic, contextual, and visual localisation credits. How we score localisation audits
How you compare
Rank #3 of 23 public audits
Fix first
- 1high
URL locale and html lang disagree
Path locale zh-hk expects html lang zh-HK, but the page declares zh-Hant. Affects 2 sampled pages.
See details - 2
- 3high
Untranslated call to action
A pt-pt page still uses source-language CTA copy. Affects 2 sampled pages.
See details
Audit criteria
11 passed · 8 to watch · 8 to fix · 8 not applicable
Needs attention (8)
Locale detection
Fail64technicalPages should declare a correct html lang that matches the URL and content locale.
- hightechnical · 95% confidence
URL locale and html lang disagree
Path locale zh-hk expects html lang zh-HK, but the page declares zh-Hant. Affects 2 sampled pages.
Found here
Document head · <html lang>
https://www.agoda.com/zh-hk/What we saw
<html lang="zh-Hant"> while the path locale is zh-hk Seen on 2 pages, e.g. https://www.agoda.com/zh-hk/, https://www.agoda.com/zh-cn/
How to fix it
Set html lang="zh-HK" so it matches this page’s URL locale.
Language switcher
Fail72technicalVisitors should move between locales without losing the current page.
- lowtechnical · 60% confidence
Current-page preservation is not demonstrated
The evidence lists many supported locales but only shows homepage URLs, so it does not verify that switching locales preserves a deeper current-page path.
Found here
Header · language switcher
https://www.agoda.com/fr-fr/What we saw
"locales":["ar","bg","ca","cs","da","de-de",...], with sampled URLs limited to "https://www.agoda.com/" and "https://www.agoda.com/fr-fr/"
How to fix it
Test the language switcher from a non-homepage URL in several locales and verify that the translated URL retains the same path.
hreflang
Fail0technicalLocalized versions should be linked with valid, reciprocal hreflang including self and x-default.
- mediumtechnical · 95% confidence
Missing hreflang self-reference
The page lists hreflang alternates but does not include itself. Affects 2 sampled pages.
Found here
Document head · <link rel="alternate" hreflang>
https://www.agoda.com/?ds=VgGRHcIxrqpp3TIUWhat we saw
<link rel="alternate" hreflang="en" href="https://www.agoda.com/"> <link rel="alternate" hreflang="fr" href="https://www.agoda.com/fr-fr/"> <link rel="alternate" hreflang="de" href="https://www.agoda.com/de-de/"> <link rel="alternate" hreflang="it" href="https://www.agoda.com/it-…
How to fix it
Add a self-referencing hreflang alternate for this page.
- lowtechnical · 95% confidence
Missing x-default hreflang
hreflang is present but does not declare an x-default fallback. Affects 15 sampled pages.
Found here
Document head · <link rel="alternate" hreflang>
https://www.agoda.com/?ds=VgGRHcIxrqpp3TIUWhat we saw
hreflang is present but none of the alternates use hreflang="x-default". Seen on 15 pages, e.g. https://www.agoda.com/?ds=VgGRHcIxrqpp3TIU, https://www.agoda.com/?ds=Dmsrf6INwCLFMGP%2F, https://www.agoda.com/fr-fr/
How to fix it
Add an x-default hreflang fallback for users whose locale is not listed.
Sitemap
Fail70technicalLike Lighthouse: a valid XML sitemap must be discoverable, robots.txt should reference it with an absolute Sitemap: URL, and localized URLs should appear for published locales.
- mediumtechnical · 88% confidence
Sitemap omits some published locales
Locale-prefixed pages for it, es, ja, zh, ko, el, ru, pt, nl, en do not appear in sampled sitemap URLs.
Found here
Sitemap · sitemap.xml
https://www.agoda.com/sitemaps.xmlWhat we saw
Sitemap locales in sample: fr, de; missing: it, es, ja, zh, ko, el, ru, pt, nl, en
How to fix it
Include URLs for every published locale prefix in the sitemap.
Structured data
Fail0technicalJSON-LD inLanguage should match the page locale when structured data is present.
- lowtechnical · 95% confidence
Structured data omits inLanguage
JSON-LD is present but does not declare inLanguage on sampled pages.
Found here
JSON-LD · <script type="application/ld+json">
https://www.agoda.com/?ds=VgGRHcIxrqpp3TIUWhat we saw
Organization is present but inLanguage is missing
How to fix it
Set JSON-LD inLanguage to match each page locale.
Terminology consistency
Fail40linguisticImportant concepts should not be translated differently across pages.
- mediumlinguistic · 95% confidence
Terminology inconsistency
"Las Vegas (NV)" appears both untranslated and translated across fr pages. Affects 15 sampled pages.
Found here
Header · <nav> or <button>
https://www.agoda.com/fr-fr/What we saw
"Las Vegas (NV)" appears untranslated on some fr pages and translated on others Seen on 6 pages, e.g. https://www.agoda.com/fr-fr/, https://www.agoda.com/de-de/, https://www.agoda.com/it-it/
How to fix it
Use one translated label for "Las Vegas (NV)" across fr pages.
Text expansion
Fail40visualLonger translations should not create obvious length pressure versus the source UI.
- mediumvisual · 88% confidence
Localized text is much longer than the source
A fr string is 173% the length of the source, which often causes overflow. Affects 23 sampled pages.
Found here
Control · <button>
https://www.agoda.com/fr-fr/What we saw
EN "List your place" → FR "Enregistrez votre logement" (173%) Seen on 9 pages, e.g. https://www.agoda.com/fr-fr/, https://www.agoda.com/it-it/, https://www.agoda.com/es-es/
How to fix it
Shorten the translation or give the control more room so the longer copy does not overflow.
Localized images and assets
Fail58visualLanguage-specific images and alt text should match the page locale.
- mediumvisual · 95% confidence
Image still looks like the source locale
Alt text or filename on a ja-jp page appears to be English. Affects 37 sampled pages.
Found here
Page body · <img alt>
https://www.agoda.com/ja-jp/What we saw
alt="あなたにおすすめの宿泊施設" src="https://cdn6.agoda.net/images/WebCampaign/20260203_accor/home_banner_web/en-us.png" Seen on 4 pages, e.g. https://www.agoda.com/ja-jp/, https://www.agoda.com/zh-hk/, https://www.agoda.com/zh-cn/
How to fix it
Localize the image asset and alt text for this page locale.
Worth a look (8)
Accessibility localisation
Watch88technicallang, aria-label, and alt text should match the page locale.
Fluency
Watch82linguisticCopy should sound natural, without grammar issues or machine-translation artifacts.
- mediumlinguistic · 90% confidence
French plural agreement error
The cookie-preference text uses a singular noun after a plural determiner, which is grammatically incorrect French.
Found here
Cookie preference modal · text
https://www.agoda.com/fr-fr/What we saw
"Gérer les préférence"
How to fix it
Change the string to “Gérer les préférences”.
Grammar and style
Watch82linguisticLocale-specific capitalization, punctuation, formality, and agreement should be correct.
- mediumlinguistic · 90% confidence
French noun agreement is incorrect
The phrase “les préférence” has incorrect number agreement and should use the plural form.
Found here
Cookie preference modal · text
https://www.agoda.com/fr-fr/What we saw
"Gérer les préférence"
How to fix it
Use “Gérer les préférences” and review the surrounding cookie-preference copy for the same agreement issue.
UI context
Watch88contextualTranslations should fit the UI component: button, nav, form, modal, or error.
- mediumcontextual · 80% confidence
Cookie-preference label is grammatically malformed
The localized cookie-preference text is understandable but does not read naturally in its modal context because of the agreement error.
Found here
Cookie preference modal · text
https://www.agoda.com/fr-fr/What we saw
"Gérer les préférence"
How to fix it
Replace the label with the context-appropriate French text “Gérer les préférences”.
Contextual meaning
Watch88contextualStrings should be judged in surrounding page and component context, not in isolation.
- mediumcontextual · 80% confidence
Preference-management wording needs correction
The cookie-management meaning is apparent, but the French label contains an agreement error in context.
Found here
Cookie preference modal · text
https://www.agoda.com/fr-fr/What we saw
"Gérer les préférence"
How to fix it
Use “Gérer les préférences” for the cookie-preference management action.
Text overflow
Watch86visualText should not clip, truncate unexpectedly, or overflow buttons and navigation.
Layout breakage
Watch86visualLocalized pages should not overlap, break grids, or overflow modals.
Responsive localisation
Watch84visualLocalized layouts should hold up across mobile, tablet, and desktop widths.
Passed audits (11)
Not applicable (8)
Other findings
Findings not listed under a criterion above.
- highlinguistic · 95% confidence
Page script does not match the locale
A el-gr page is dominated by Latin-script copy.
Found here
Page body · sampled copy
https://www.agoda.com/el-gr/What we saw
Διαχείριση προτιμήσεων cookies Η Agoda χρησιμοποιεί μόνο cookies και άλλες τεχνολογίες παρακολούθησης που είναι απολύτως απαραίτητες για λόγους λειτουργικότητας. Δεν χρησιμοποιούμε cookies στατιστικής ανάλυσης ή διαφήμισης. Για περισσότερες λεπτομέρειες, κάντε κλικ εδώ OK Μετάβασ…
How to fix it
Write this el-gr page in the expected script instead of leftover Latin-script copy.
- highlinguistic · 92% confidence
Untranslated call to action
A pt-pt page still uses source-language CTA copy. Affects 2 sampled pages.
Found here
Link · <a>
https://www.agoda.com/pt-pt/What we saw
Primary CTA: "Las Vegas (NV) 1,113 accommodations" Seen on 2 pages, e.g. https://www.agoda.com/pt-pt/, https://www.agoda.com/nl-nl/
How to fix it
Translate leftover source-language CTAs to match the surrounding locale copy.
Detected locales
Arabic
ar · hreflang
Bulgarian
bg · hreflang
Catalan
ca · hreflang
Czech
cs · hreflang
Danish
da · hreflang
German (Germany)
de-de · URL path
Greek (Greece)
el-gr · URL path
Australian English
en-au · hreflang
Canadian English
en-ca · hreflang
British English
en-gb · hreflang
English (Ireland)
en-ie · hreflang
English (India)
en-in · hreflang
English (New Zealand)
en-nz · hreflang
English (Singapore)
en-sg · hreflang
English (South Africa)
en-za · hreflang
Spanish (Argentina)
es-ar · hreflang
European Spanish
es-es · URL path
Mexican Spanish
es-mx · hreflang
Estonian
et · hreflang
Finnish
fi · hreflang
French (France)
fr-fr · URL path
Hebrew
he · hreflang
Croatian
hr · hreflang
Hungarian
hu · hreflang
Indonesian
id · hreflang
Italian (Italy)
it-it · URL path
Japanese (Japan)
ja-jp · URL path
Korean (South Korea)
ko-kr · URL path
Lithuanian
lt · hreflang
Latvian
lv · hreflang
Malay
ms · hreflang
Flemish
nl-be · hreflang
Dutch (Netherlands)
nl-nl · URL path
Norwegian
no · hreflang
Polish
pl · hreflang
Brazilian Portuguese
pt-br · hreflang
European Portuguese
pt-pt · hreflang
Romanian
ro · hreflang
Russian (Russia)
ru-ru · URL path
Slovenian
sl · hreflang
Swedish
sv · hreflang
Thai
th · hreflang
Filipino
tl · hreflang
Turkish
tr · hreflang
Ukrainian
uk · hreflang
Vietnamese
vi · hreflang
Chinese (China)
zh-cn · hreflang
Simplified Chinese
zh-hans · page language
Traditional Chinese
zh-hant · page language
Chinese (Hong Kong SAR China)
zh-hk · hreflang
Chinese (Taiwan)
zh-tw · hreflang
Pages sampled
Next step
Strong localisation signals. Claim this domain to keep locales healthy as you ship, or book a deeper review.
Send this to your team
We'll email a short summary — score, top fixes, and a link back to this report — so it's easy to forward.
