WordPress est un outil très complet et performant, mais il lui manque parfois des fonctions assez basiques. L’une d’elles est la possibilité de créer facilement des liens entre les articles ou les pages. Rien de plus rageant, en effet, lorsque l’on est en pleine rédaction, que devoir quitter l’éditeur, pour partir à la recherche du lien d’un article auquel nous voulons faire référence.
Heureusement, les plugins sont là pour nous aider et combler ces lacunes.
This post is available in english: WordPress: How to make links between posts
L’objectif
Je souhaite pouvoir facilement créer un lien vers un autre article, sans quitter l’éditeur, et sans devoir parcourir les dizaines d’articles, pour trouver le bon, et copier/coller son permalien.
Comparatif
Les plugins candidats ne sont pas très nombreux. Nous avons:
AWS Easy Page Link
Ce plugin étend les capacités de la fenêtre de liens de TinyMCE, en y ajoutant la liste des pages. Le regret est qu’il n’y a que les pages, et pas les articles. Dommage.

Link to Post
Link to post étend les fonctionnalités de TinyMCE en proposant deux boutons supplémentaires: le premier permet de faire un lien vers un article, le second vers une page.
L’utilisation est très aisée: il suffit de sélectionner le texte dans l’éditeur, puis de choisir l’un des boutons déjà cité.

S’ouvre alors une fenêtre permettant de faire une recherche rapide de l’article visé. Il s’agit ni plus ni moins que d’un petit moteur de recherche: nous tapons quelques mots, que le plugin va rechercher dans le titre des articles, le contenu, ou les deux.
Il suffit alors de cliquer sur le bon article pour que le lien soit automatiquement insérer dans le texte.

A l’usage, le plugin s’avère agréable à utiliser. Ce mode de recherche permet de trouver assez rapidement l’article visé, sans devoir naviguer dans des listes trop longues d’articles.
A noter un petit « bug », le nombre d’articles affichés après recherche, s’arrête à deux par page. Un petit modification dans le fichier link-to-post/tinymce/posts.php permet de changer ce nombre (j’ai choisi 10).
Post to Post Links II
Post-to-Post Links II est le plus rudimentaire des plugins présentés. Il propose simplement un shortcode à saisir manuellement. Exemple de shortcode:
[p2p type="id" value="53"] [p2p type="slug" value="hello-world" text="read my Hello World post"]
La syntaxe du shortcode permet de designer un article par son titre ou son ID, mais également une catégorie, ou un tag. Cette saisie manuelle est relativement fastidieuse, parce qu’elle ne permet pas de contourner la fameuse recherche de l’article visé.
RB Internal Links
Ergonomiquement RB internal links reprend le principe utilisé par Link to Post. Le plugin ajoute un bouton à l’éditeur TinyMCE.

De la même façon, il faut sélectionner le texte dans l’éditeur, puis cliquer sur ce bouton. S’affiche alors une fenêtre permettant de choisir l’article cible. Le plugin propose de rechercher les articles par un système de navigation très agréable.

Pour un blog contenant peu d’articles, ce système de navigation est vraiment efficace. Avec beaucoup d’articles, je pense que la sélection doit être un peu plus longue.

Après sélection, le plugin insère un shortcode dans le texte de l’éditeur.

A noter que, comme vous pouvez le constater sur les copies d’écran, le plugin permet également de faire des liens vers des catégories, des pages …
WP Site Links
WP-Site-Links propose une autre solution ergonomique, en utilisant une métaboxe intégrée à la page d’édition des pages ou des articles. Cette métaboxe contient la liste des articles et des pages, qu’il suffit de sélectionner.

L’idée est bonne, à condition que vous n’ayez pas trop d’articles. Ce blog contient un peu plus de 150 articles, ce qui est loin d’être énorme. WP Site Links affiche donc une métaboxe de 150 lignes dans la page d’édition des articles. La page commence donc à avoir une certaine hauteur (ou une hauteur certaine), et il faut obligatoirement scroller pour trouver le bon article.
Conclusion
Deux plugins se détachent nettement du lot: Link to post, et RB internal links. Les deux disposent d’une bonne ergonomie, en proposant une interface directement accessible depuis TinyMCE.
Les deux plugins n’ont cependant pas la même philosophie: Link to post insère directement le lien dans la page, alors que RB internal links utilise un shortcode. Pour cette raison, j’ai fini par choisir Link to post, même si je préfère l’interface de son concurrent. En effet, je vois deux inconvénients à utiliser des shortcodes:
- Les shortcodes nous rendent dépendants du plugin: comment faire lorsque l’on veut se débarasser du plugin?
- Ils impliquent un traitement supplémentaire au moment de l’affichage des articles, ce qui peut induire certaines lenteurs.
