
One site, two languages: getting multilingual SEO right
Why we moved our own site from a client-side language switch to separate URLs, and what changed for search engines.
1 min read
For a long time our site picked the language in the browser: the server always sent English, and a script swapped the text to Polish when it detected a Polish device. It felt smart. For search engines, it meant the Polish version did not exist.
What crawlers actually see
Search engine crawlers usually arrive with English settings and without saved preferences. If every language shares one URL, they index one language and never discover the other. You also cannot give each version its own title, description or social preview.
“If you have multiple versions of a page for different languages or regions, tell Google about these different variations.”
The setup we chose
- English stays at the root (
/), Polish moves to/pl. One domain keeps all the authority in one place. - Every version declares its siblings with
hreflang, including anx-defaultfallback. - Old links like
?lang=plredirect permanently to the new URLs. - No forced redirects by browser language. Visitors get a gentle suggestion instead, and crawlers can reach every version.

Building something similar?
Tell us about your project and we will get back to you with specifics.
Keep reading

01 · 2 min read
No DevOps team? No problem.
How Insy went from first commit to production in six weeks, with everything declared in code and no dedicated ops department.

02 · 1 min read
From kickoff to launch in four weeks
What a fixed-scope project with us looks like week by week, and why speed doesn't have to cost quality.

03 · 1 min read
Your users don't have your phone
Why we test every launch on budget devices, and the three techniques that keep heavy, animated sites smooth on them.