Comment enrichir vos contenus WordPress avec les API ?
- Les API permettent d'enrichir vos contenus WordPress en récupérant des données externes
- Utiliser les API peut améliorer votre référencement SEO en actualisant dynamiquement vos pages
- Pour éviter les problèmes de performances, stockez systématiquement les données et utilisez un système de cache
- Utilisez différentes méthodes de stockage pour gérer les informations récupérées via les API
J'ai eu le plaisir de donner ma toute première conférence technique aujourd'hui dans le cadre du WP Tech.
Pour ceux qui ne connaissent pas ce jeune événement dont ce n'est que la deuxième édition, il s'agit d'une série de conférences autour de WordPress, un peu plus techniques que celles données lors des Wordcamp.
C'est quoi une API ?
Il se trouve que j'utilise de très nombreuses API sur PIX GEEKS pour enrichir les articles en particulier pour rapatrier :
- le nombre de partages sociaux des articles
- des informations sur les personnages de comic books
- les informations générique et dates de diffusion des prochains épisodes de série
- des informations sur des acteurs
- etc
Nombre d'API gratuites permettent de récupérer des données déjà présentes en base de données sur des sites web qui ne vous appartiennent pas.
Les utiliser permet non seulement de gagner du temps de saisie, mais aussi de rafraîchir dynamiquement certaines pages, ce qui sera toujours bénéfique à votre SEO 😉
Il existe des milliers d'API dont plus de 15000 sur les deux sites suivants :
Il faudra en général créer un compte sur le site qui fournit l'API qui vous intéresse afin d'obtenir une clef, puis l'interroger via une URL qui ressemblera à :
http://api.service.com/api?q=query&key=1234567890
Les réponses seront le plus souvent en JSON et parfois encore en XML.
Quelques conseils pour éviter le désastre
Pour éviter de faire chauffer votre serveur et de vous faire blacklister des différents services, voici quelques conseils :
- Stockez systématiquement les données récupérées via API en base de donnée
- Stockez systématiquement une date de mise à jour
- Ne déclenchez une requête API que depuis le font office (ex : single.php ou sidebar.php) et seulement si les données à afficher sont périmées
- Utilisez un plug-in de cache WordPress pour éviter des catastrophes (Google Bot qui scanne tout votre site par exemple)
Où stocker les informations récoltées ?
Pour des données à rafraîchir de façon cyclique (compteur, widgets) les transients sont vos amis :
set_transient($transient, $value, $expiration);
get_transient($transient);
Pour des données à administrer via backoffice utiliser les options :
update_option ($option, $value, $autoload);
get_option ($option, $default);
Pour des données statiques qui peuvent servir de clef de tri, utilisez les custom fields :
update_post_meta ($post_id, $key, $value, $prev_value);
get_post_meta($post_id,$key,$single);
Exemple d'utilisation d'une API pour rappatrier un nombre de partages sociaux
La présentation complète du WPTech 2015
Une petite synthèse en vidéo :
Et la présentation en entier pour les courageux :