La plupart des moteurs de recherche actuels peuvent intégrer l'internationalisation d'un site. Cela se fait via l'attribut hreflang de la balise <link>.
Chaque page doit déclarer sa propre langue est l'ensemble des variantes linguistiques dans lesquelles elle existe. Par exemple, la page index.html est disponible ici en deux langues :
<link rel="alternate" hreflang="en" href="http://www.azur-desinfection.fr/n/en/index.html" /> <link rel="alternate" hreflang="fr" href="http://www.azur-desinfection.fr/n/fr/index.html" /> <link rel="alternate" hreflang="en-us" href="http://www.azur-desinfection.fr/n/en/index.html" /> <link rel="alternate" hreflang="en-gb" href="http://www.azur-desinfection.fr/n/en/index.html" /> <link rel="alternate" hreflang="fr-fr" href="http://www.azur-desinfection.fr/n/fr/index.html" />
Ces balises sont à placer dans la balise <head> de chaque page index.html.
Certains sites ont une page d'accueil qui se charge du choix de la langue dans ce cas, il convient d'ajouter également aux pages la balise <link rel="alternate" href="http://www.azur-desinfection.fr/" hreflang="x-default" />. Cette balise doit également être ajoutée à la page d'accueil elle-même.
Lorsque le document n'est pas une page HTML (fichier PDF par exemple), il faut placer l'information dans une en-tête HTTP :
Link: <http://es.example.com/>; rel="alternate"; hreflang="es"
Il est possible d'indiquer plusieurs langues en fixant un trigramme comme ci-dessus pour chaque langue en en séparant chaque trigramme par une virgule :
Link: <http://es.example.com/>; rel="alternate"; hreflang="es",<http://de.example.com/>; rel="alternate"; hreflang="de"
Les identifiants de langues doivent répondre au format ISO 639-1 et ceux de cultures au format ISO 3166-1 Alpha 2.
Deux erreurs principales doivent être évitées :
Rédaction par Jean-Marie Piatte (1983-2021)