The pages in the set
One per line: the hreflang value, a pipe, then the absolute URL. Or paste the
<link> elements from a live page and they will be read instead.
Each entry
Put this on every page in the set
The same block, unchanged, on all of them — including the link that points at the page it is sitting on. That is what makes the annotations reciprocal, and reciprocal is the only way they are honoured.
As an HTTP header
For anything that is not HTML — a PDF in four languages has nowhere to put a link element.
Checked in this browser — nothing is uploaded and no page is fetched, which is also the limit: reciprocity
is a property of the other pages and cannot be confirmed from here. Codes are checked against
ISO 639-1 and ISO 3166-1 rather than against the browser, because the browser hides the commonest mistake:
Intl.Locale('en-UK') silently reports its region as GB, and
Intl.DisplayNames will happily name UK "United Kingdom".
The Hreflang Generator needs JavaScript: the codes are checked and the markup built in this browser. With JavaScript switched off there is nothing to do the work.