Serving more than one language.
THE CORE REQUIREMENT
Each language version needs its own URL, and engines need to be told which version serves which audience.
URL STRUCTURES
Subdirectories: yourdomain.com/en/ and yourdomain.com/fr/. Simplest, keeps authority on one domain.
Subdomains: en.yourdomain.com. Cleaner separation, splits authority somewhat.
Separate domains per country. Strongest local signal, most work.
Subdirectories suit most businesses.
HREFLANG
Markup telling engines which version serves which language and region. Each version should reference all the others, including itself.
Errors here are common and cause the wrong version to be shown.
WHAT NOT TO DO
Automatic redirection based on the visitor's location. It prevents engines crawling other versions, and it frustrates visitors who want a different language.
Offer a clear language selector instead.
TRANSLATION QUALITY
Machine-translated content ranks poorly and reads badly. If a language matters commercially, have it translated properly.
PARTIAL TRANSLATION
Translating your main pages properly beats translating everything badly.