Par défaut, Universally réécrit les liens internes sur les pages traduites pour pointer vers la version traduite. Par exemple, un lien vers /about sur une page française devient /fr/about. Cela garantit que les visiteurs restent dans leur langue lorsqu'ils naviguent.
La localisation des liens s'applique à :
- Tous les liens
<a href>pointant vers des pages sur le même domaine - Les URL canoniques (
<link rel="canonical">) - URLs Open Graph (
og:url,og:image,og:video, etc.) - URLs Twitter Card (
twitter:image,twitter:player, etc.)
Utilisez Exclure la localisation des liens pour empêcher la réécriture de liens spécifiques. Ce champ se trouve sur l'écran Règles de traduction du projet. Entrez un modèle d'URL par ligne.
Quand l'utiliser
Certains liens ne devraient jamais avoir de préfixe de langue ajouté :
- Téléchargements de fichiers :
/downloads/report.pdfne doit pas devenir/fr/downloads/report.pdf - Points d'API :
/api/v1/datadoit rester tel quel - Pages d'administration : les liens
/wp-admin/ne doivent pas être localisés - Ressources statiques :
/wp-content/uploads/image.jpgne doit pas être préfixé - Rappels de services externes : URLs de retour de paiement ou d'authentification
- Flux RSS : points de terminaison
/feed/
Syntaxe des modèles
Un modèle est mis en correspondance de deux manières, selon qu'il contient ou non un *.
Sans *, il s'agit d'une correspondance de sous-chaîne. Si l'URL contient le modèle n'importe où, le lien est laissé tel quel.
/wp-content/
/wp-admin/
/api/
/downloads/
/feed/
Le modèle /wp-content/ correspond à n'importe quelle URL contenant cette chaîne :
/wp-content/uploads/photo.jpg: exclu/wp-content/themes/style.css: exclu/about-wp-content/: également exclu (correspondance de sous-chaîne)
Avec *, il s'agit d'une correspondance de joker, ancrée aux deux extrémités. * représente n'importe quels caractères. Un modèle se terminant par * est ouvert ; sinon, le chemin entier doit correspondre.
/api/*
*.pdf
/uploads/*.jpg
/api/*correspond à/api/v1/dataet/api/, mais pas à/public/api/v1*.pdfcorrespond à n'importe quel chemin se terminant par.pdf/uploads/*.jpgcorrespond à/uploads/2026/photo.jpg
Les modèles de joker sont le moyen d'exprimer précisément "tous les PDF" ou "tout sous /api/". Notez la différence avec la forme de sous-chaîne : comme un modèle de joker est ancré, il ne correspond pas n'importe où dans le chemin.
Exemples
Sites WordPress
/wp-content/
/wp-admin/
/wp-includes/
/wp-login.php
/wp-signup.php
/wp-activate.php
/xmlrpc.php
/wp-cron.php
/wp-json/
/feed/
/comments/feed/
Remarque : Ceux-ci sont configurés automatiquement pour les sites WordPress. Vous n'avez qu'à ajouter des modèles personnalisés.
E-commerce
/cart/add
/checkout/
/webhook/
/downloads/
Général
/api/
/assets/
/static/
/uploads/
/_next/
Fonctionnement interne
Lorsque Universally traite une page traduite, il réécrit les URLs de deux manières selon votre structure d'URLs :
Mode sous-répertoire (par défaut)
Les liens sont préfixés par le code de langue :
/about→/fr/about/blog/post→/fr/blog/post
Mode sous-domaine
Lorsqu'un projet sert des langues sur des sous-domaines, l'hôte est modifié au lieu du chemin :
https://example.com/about→https://fr.example.com/about
Les sous-domaines de langue sont en version bêta fermée. Voir Sous-domaines et sous-répertoires.
Les modèles exclus contournent entièrement cette réécriture. L'URL d'origine est conservée telle quelle.
Points à noter
- Les liens externes (domaine différent) ne sont jamais localisés, quelle que soit cette configuration
- Les liens d'ancre uniquement (
#section) ne sont jamais localisés - Un lien portant un attribut
hreflangn'est jamais localisé, sans aucune configuration nécessaire - Un sélecteur d'exclusion CSS n'arrête la localisation que lorsqu'il correspond au lien lui-même. Un lien imbriqué dans un conteneur exclu reçoit toujours le préfixe de langue : son texte reste dans la langue source, mais son
hrefest réécrit. Pour conserver un lien spécifique intact, ajoutez son chemin ici ou placezhreflangsur le lien