title: What are the best practices for multilanguage sites?
body: <p>I want to make a multi-language site, such that all or <em>almost</em> all pages will be available in 2 or more translations. What are the best practices to follow?</p>
  
  <p>For example, I consider these language selection mechanisms:</p>
  
  <ol>
  <li>Cookie-based selection of the preferred language.</li>
  <li>Based on <code>Accept-Language</code> header if the cookie is not set.</li>
  <li>Based on GeoIP otherwise (probably).</li>
  </ol>
  
  <p>Is there anything else?</p>
  
  <p>How should different translations be served?</p>
  
  <ol>
  <li>as <code>LANG.example.com/page</code></li>
  <li>as <code>example.com/LANG/page</code></li>
  <li>as <code>example.com/page?hl=LANG</code></li>
  <li>...</li>
  <li>any of the above with a redirect to <code>example.com/page</code>? (It seems to be <a href="/questions/368570/">discouraged</a>)</li>
  </ol>
  
  <p>How to ensure that all the translations are properly indexed?</p>
  
  <ol>
  <li>Sitemaps with all pages + correct <code>Content-Language</code> header are enough?</li>
  </ol>
  
  <p>What is the best way to let the users know there are other translations, but do not distract them?</p>
  
  <ol>
  <li>list available languages in the header/footer/sidebar (like Wikipedia)</li>
  <li>put “Choose a language” selector next to the content</li>
  </ol>
  
  <p>What is the best policy to deal with missing/outdated translations?</p>
  
  <ol>
  <li>do not display missing pages at all or display a page in a different language?</li>
  <li>display old translation, old translation with a warning or a page in a different language?</li>
  </ol>
  
  <p>What else should I take into account? What should I do and what I definitely should not?</p>