Bonjour,
MakiWaki a écrit :
Je suis Wordpress et j'ai installé un plugin de "Related Posts", qui met les titres en Hn, ce qui n'est pas bon pour mon SEO. Evidemment, je pourrais modifier ces titres Hn directement depuis le code du plugin, mais cela va impacter les prochaines mises à jour.
Déjà, je ne vois pas trop comment on peut arriver à la conclusion que ça pourrait être mauvais pour le SEO (à moins d'être un expert google ou bing, et qui a mis les mains dans le code depuis moins d'un an). Mais bon, admettons !
On va donc essayer de répondre à la question d'un point de vue purement technique (et la question est vraiment intéressante de ce point de vue).
Pour ce qui est des solutions à base de javascript, s'il s'agit de SEO, ça me parait peu approprié car rien ne garantit qu'un moteur de recherche ne va pas choper le code html sans tenir compte des modifications faites par javascript.
Il faut donc intervenir avant d'envoyer le html au navigateur ce qui veut dire modification en php dans le cas de wordpress. C'est sans doute ce qu'entendait Marvin Le Rouge en évoquant des "hooks".
Et comme le fait remarquer Felipe, c'est le html de la page qu'il faut modifier et non le css, car rien ne garantit qu'un moteur de recherche ne va pas choper le code html sans tenir compte des modifications faites par css.
Par ailleurs, MakiWaki souhaite, si j'ai bien compris, faire la modification sans toucher au code d'un plugin qui modifie "des trucs".
En résumé il faut donc un code php qui modifie le html généré par un plugin, et qui de préférence soit extérieur au code du plugin.
Une possibilité est d'utiliser un autre plugin qui s'exécuterait après le plugin qui pose problème, mais c'est lourd.
Une possibilité plus simple selon moi est de filtrer le contenu via un "mu-plugin". Ce sont des sortes de plugins simplifiés. À titre d'exemple, si je souhaite remplacer tous les <Hn> du contenu et les remplacer par des balises <p> (je dis bien ici "contenu", s'il y a des titres hors du contenu ils ne seront pas modifiés par le code ci-dessous), et en supposant qu'ils n'ont aucun attribut (sinon il faudra modifier la fonction my_magic_hn_to_p) :
1) on crée le répertoire wp-content/mu-plugins s'il n'existe pas déjà.
2) on crée un script php qu'on met dans ce répertoire (on peut lui donner n'importe quel nom, je vais supposer qu'on lui donne le nom "my-magic.php").
3) on met dans ce script le code suivant :
<?php
add_filter('the_content','my_magic_hn_to_p');
function my_magic_hn_to_p($content)
{
$content=preg_replace("#<(/?)h[1-6]>#i","<$1p>",$content);
return $content;
}
?>
Pour les "related-posts" modifiés par le plugin de MakiWaki, il faudra modifier les paramètres de la fonction add_filter ci-dessus (on n'a pas assez de détails pour répondre à cette question pour l'instant), et sans doute adapter la fonction my_magic_hn_to_p().
Et il faudra enfin espérer que ce filtre passe bien "après" les modifications du plugin !
Amicalement,
Modifié par parsimonhi (04 Oct 2020 - 11:07)