Comment rendre un site WordPress SEO-friendly avec des données dynamiques (et un plugin PHP)
Quand on est dĂ©veloppeur front-end, rĂ©cupĂ©rer des donnĂ©es depuis une API et les injecter dans le DOM, câest un peu la base.
Mais attention, cette mĂ©thode nâest pas toujours trĂšs SEO friendly, car Googlebot et ses amis ne peuvent pas voir les donnĂ©es injectĂ©es via JavaScript. Et ça, pour un site qui cherche Ă ĂȘtre bien rĂ©fĂ©rencĂ©, câest un vrai problĂšme. đŹ
Donc récapitulons :
Objectif : afficher des donnĂ©es externes de façon dynamique tout en gardant un Ćil sur le SEO
Contrainte : pas question de compter uniquement sur du JS, il faut une solution cÎté serveur
La solution ?
Un bon vieux plugin WordPress en PHP pour rĂ©cupĂ©rer les donnĂ©es et les intĂ©grer proprement dans le HTML, dĂšs le rendu serveur. Challenge accepted ! đȘ
Ătape 1 : CrĂ©er un plugin WordPress (oui, câest pas si compliquĂ© !)
Avant tout, il faut crĂ©er un plugin WordPress. Pas de panique, câest plus facile quâil nây paraĂźt.
- Dans le dossier
wp-content/plugins
, crée un dossier pour ton plugin (par exemple,plugin-api-seo
). - CrĂ©e un fichier PHP Ă lâintĂ©rieur de ce dossier, par exemple
plugin-api-seo.php
. - Ouvre ce fichier et ajoute ce code :
<?php
/**
* Plugin Name: Plugin API SEO
* Description: Un plugin pour récupérer des données depuis une API et les afficher SEO-friendly.
* Version: 1.0
* Author: Ton Nom
*/
// EmpĂȘcher lâaccĂšs direct
if ( !defined( 'ABSPATH' ) ) {
exit;
}
Avec ça, tu as ton plugin de base. Facile, non ? (n’oublie pas de l’activer dans l’administration du WP)
Ătape 2 : RĂ©cupĂ©rer les donnĂ©es en PHP
Maintenant que ton plugin est prĂȘt, il est temps de rĂ©cupĂ©rer des donnĂ©es depuis l’API.
Pour ça, on va utiliser la fonction wp_remote_get()
qui nous permet de faire une requĂȘte HTTP en PHP.
Voici comment procéder :
phpCopierModifierfunction mon_plugin_fetch_data() {
$response = wp_remote_get('https://exemple.com/api/data');
if (is_wp_error($response)) {
return 'Erreur lors de la récupération des données';
}
$body = wp_remote_retrieve_body($response);
return json_decode($body, true); // On récupÚre les données en format tableau
}
Ăa y est, les donnĂ©es sont rĂ©cupĂ©rĂ©es et prĂȘtes Ă ĂȘtre utilisĂ©es !
Ătape 3 : PrĂ©parer les donnĂ©es pour les afficher
Maintenant quâon a les donnĂ©es, il faut les prĂ©parer avant de les afficher sur le site.
Voici un exemple de préparation pour les afficher sous forme de liste:
function mon_plugin_prepare_data($data) {
if (empty($data)) {
return 'Aucune donnée disponible';
}
$output = '<ul class="mes-donnees">';
foreach ($data as $item) {
$output .= '<li>' . esc_html($item['titre']) . '</li>';
}
$output .= '</ul>';
return $output;
}
LĂ , on a les donnĂ©es prĂȘtes Ă ĂȘtre affichĂ©es dans un joli format HTML !
Ătape 4 : CrĂ©er un bon vieux shortcode
Câest lâĂ©tape magique qui va permettre dâafficher ces donnĂ©es nâimporte oĂč dans ton contenu WordPress.
Avec un shortcode, il suffit dâajouter une petite balise dans une page ou un article, et hop, les donnĂ©es sâaffichent.
function mon_plugin_afficher_donnees() {
$data = mon_plugin_fetch_data(); // Récupération des données
return mon_plugin_prepare_data($data); // Préparation et retour des données
}
add_shortcode('afficher_donnees', 'mon_plugin_afficher_donnees');
Il suffit maintenant dâajouter [afficher_donnees]
dans n’importe quel article ou page, et les donnĂ©es s’affichent ! Google les verra, et ton SEO est optimisĂ©. đŻ
Bonus : Un peu de mise en cache API
Pour Ă©viter de surcharger lâAPI Ă chaque visite, on peut mettre en place un systĂšme de cache.
Ăa permet dâĂ©viter de refaire la mĂȘme requĂȘte trop souvent et de rendre le site plus rapide.
Voici comment ajouter un cache simple avec set_transient()
et get_transient()
:
function mon_plugin_fetch_data_cached() {
$cached_data = get_transient('mon_plugin_cache');
if ($cached_data !== false) {
return $cached_data; // Si les données sont en cache, on les récupÚre
}
$data = mon_plugin_fetch_data(); // Sinon, on va chercher les données
set_transient('mon_plugin_cache', $data, HOUR_IN_SECONDS); // Mise en cache pendant 1 heure
return $data;
}
Avec ce petit ajout, ton site sera plus rapide, et tu rĂ©duiras le nombre de requĂȘtes envoyĂ©es Ă lâAPI.
Les visiteurs (et les robots Google) vont adorer ! đ
Conclusion
VoilĂ , avec ce plugin simple, tu peux afficher tes donnĂ©es venant de l’API tout en optimisant le SEO de ton site. Tu combines la flexibilitĂ© du JavaScript pour les donnĂ©es dynamiques et l’optimisation du rĂ©fĂ©rencement avec PHP cĂŽtĂ© serveur. đ
Si toi aussi tu veux rendre ton site plus SEO-friendly tout en affichant des donnĂ©es en temps rĂ©el, nâhĂ©site pas Ă crĂ©er un petit plugin personnalisĂ©. Câest un petit dĂ©fi sympa qui peut vraiment faire la diffĂ©rence pour le SEO ! đ