Ajouter l’attribut rel aux liens dans WordPress TinyMCE

L’éditeur classique de WordPress est TinyMCE Tiny Moxiecode Content Editor. Avec la version 5, WordPress est passé à Gutenberg l’éditeur par blocs. On peut néanmoins vouloir continuer à utiliser l’ancien éditeur, dit l’éditeur classique avec le plugin Classic Editor.

Copie d'écran de création d'un lien dans l'éditeur classique, les logos WordPress et TinyMCE sur fond de Venise Hollandaise à Amsterdam de nuit

Le bouton Insérer un lien

Lorsque l’on insère des liens, l’éditeur classique de WordPress possède un plugin évolué wplink.js, qui ouvre une zone de saisie pour entrer le lien et une fenêtre modale qui permet de régler certains paramètres.

Fenêtre modale des paramètres de lien

Lien et attributs

Si l’on ne définit rien, c’est-à-dire si l’on ne coche pas la case Ouvrir dans un nouvel onglet, le lien inséré, à savoir la balise <a> ne possède que l’attribut href :

Si la case Ouvrir dans un nouvel onglet est coché, les attributs target="_blank" et rel="noopener" sont ajoutés.

Pour le SEO Search Engine Optimization, l’attribut rel est très important. On peut donc vouloir contrôler un peu plus ce qui est ajouté automatiquement.

Javascript

Aucun filtre n’existe pour agir sur ces paramètres. On peut cependant ajouter des boîtes à cocher en javascript en écoutant l’événement wplink-open qui est déclenché lorsque la fenêtre modale est ouverte. On surcharge également les fonctions getAttrs() et buildHtml() de l’objet wpLink, définies dans le plugin wplink.js.

Le code suivant, en javascript, permet d’ajouter des choix supplémentaires tels que noopener, noreferer, sponsored, nofollow ou external.

https://gist.github.com/xavier-bs/ebec023da0b827d3e74df39056af6589

Ce fichier javascript doit être ajouté avec la fonction wp_enqueue_script() et le plugin wplink en dépendance. La chaîne de caractère translate.mark_as_string est la traduction de Mark as <code>%s</code>.

Le paramètre shift déplace la section des articles internes au blog de 140px vers le bas, le paramètre modal_height règle la hauteur de la fenêtre à 600px. Les valeurs de l’attribut rel sont définis dans le tableau rels, on peut enlever ou ajouter des valeurs. Par souci d’esthétisme, les paramètres shift et modal_height seront à ajuster.

Les cases à cocher

La fenêtre modale des paramètres du lien est enrichies de cases à cocher :

Fenêtre modale des liens enrichie de checkboxes pour l'attribut rel. Les cases Nouvel onglet, noopener et noreferer sont cochées

Le lien obtenu, lorsque les cases Ouvrir dans un nouvel onglet, Mark as noopener et Mark as noreferer sont cochées, est de la forme :

Sauvegarde du post

Depuis 4.7.4, WordPress ajoute noopener noreferrer sur les liens qui ont un attribut target. Lorsque le post est enregistré, les valeurs manquantes sont ajoutées à l’attribut rel si l’attribut target existe. Ceci est fait dans wp-includes/formatting.php. Pour modifier ce comportement, utilisez le filtre wp_targeted_link_rel pour modifier la chaîne noopener noreferrer.

La publication sera sauvegardée en base de données avec ces valeurs dans l’attribut rel. Si l’on ne veut rien rajouter automatiquement :

ou bien

Et hop, on peut permettre à un auteur de créer des liens optimisés pour le SEO dans l’éditeur classique.

Soumettre un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables.