Multilingual website and search ranking

For years I haven’t been working on a multilingual website. Nowadays what is the most effective way to get a good ranking in Google for such website? It will be aimed at Spanish and English professionals in the dental area and will have a unique domain name.
Should I make a different sitemap per language? Anything else I should be taking care of?

I guess that depends on the set-up you have for providing different languages.
If you use a different URL for the same page in a different language, Eg:-

www.example.com/about?lang=en

or

www.example.com/en/about

All these variations will need to be indexed, therefore covered by a sitemap. You may if you like have multiple sitemaps for differnt sections of a large site, then have a master sitemap that lists the sub-site maps. But it’s up to you how you want to organise that.

On the other hand the URLs may be the same for any language and the language is determined by the browser’s preferred language setting or a cookie set by user preference.
Though that seems like a more elegant way of doing things, I’m not sure how it works in terms of SEO to be honest. You would likely have a default language such as English. But if a user searches a keyword in Spanish, do you rank?

Edit
A quick search reveals that Google recommends the first method, with different URLs.

The first decision to make is to choose between the different options:

  • 1 domain per language
  • 1 sub-domain for each language
  • each language in a sub-directory (real or virtual)

For SEO purposes, each of these options is equivalent, there is no one better than the other, it’s a matter of preference.

Simply using URLs with ?lang= is not recommended, as the other options are cleaner.

Then you essentially need to indicate the active language in the <html> tag, and above all implement the hreflang tags.