Google's John Mueller often posts detailed and thoughtful responses on Reddit related to SEO and also general gadget tinkering. In one of his latest SEO posts, he posted a very detailed and throughout post on when, where and how to go about using hreflang on your site.
Hreflang is super complex and John wants you to make sure there is even a problem that can be solved by hreflang even before you start to implement it. Here is what John said in the Reddit thread:
In an idea world, you'd link all versions of all pages with hreflang. It would be the clean approach, however, sometimes it's just a ton of work, and maintaining it if the sites are run individually is ... good luck with that.In practice, you can simplify the problem. Where do you *actually* see issues with regards to people coming to the wrong country / language site? That's where you should minimally implement hreflang (and, of course, a JS country/language recognizer / popupper to catch any direct visits). Probably a lot of that will be limited to same-language / different-country situations, so Switzerland / Germany in German may be the right place to start. Nothing breaks if you set up hreflang for 2 versions and have 4 unrelated versions.
If you already have these sites running, I'd check your analytics setup for traffic from Search, and compare the country where they come from vs the country that they end up on (pick one country, filter for the traffic from search, and compare the domains they end up on). If you don't find a big mismatch there, most likely you don't need to do a lot (or anything) for hreflang. There is no bonus for hreflang, it's only about showing the most-fitting page in search for users in a specific country / language.
When checking, focus on the most likely mistakes first: same-language / different-country sites is one, but there's also homepage traffic. Often times a brand name is not localized, so when people search for it, it's unclear to search engines what the expectation is. If you find a lot of mismatches on the homepage but not elsewhere in the site, you can also just do hreflang across the homepages (that's often easier than all pages in a site). Or you could do a combination, of course, all homepages + all German-language pages. Hreflang is on a per-page basis, so the beauty (and curse) is that you can pick & choose.
In any case, before you rush off and work on this for a year, double-check that it's an actual problem first, and if so, check where the problem is. Maybe there are super-simple solutions (maybe you just need a country/language popup and don't even need the rest?), and you can spend your time more wisely elsewhere.
I did not want to butcher anything, so I am leaving it as is and just wanted to amplify this Reddit post.
Forum discussion at Reddit.