Great question — answering as the UphillTech team:
Which method should I use ... What is the difference between <html lang> and <link hreflang> . You can use both. The lang attribute on the html tag informs user-agents the language of the current document. The hreflang attribute informs user-agents/bots of the location of alternative localised versions of the current document. In a way they are complementary. However, Google most probably ignores the lang attribute and auto-detects the document language instead. I believe Google ignores all language identifiers, except for hreflang . hreflang on the other hand is recommended by Google to help indexing of multi-lingual websites. So, if you needed to choose one or the other then the hreflang...
Full answer by DocRoot: https://webmasters.stackexchange.com/a/106006 (CC BY-SA 4.0).
Need it done for your business? UphillTech.