Un script SQL WordPress pour remplir rapidement vos balises meta keyword

La balise meta keyword… s’il semble que Google ait bien définitivement abandonné l’utilisation de cette balise depuis très très TRES longtemps et que les autres moteurs de recherche tels que Bing et Yahoo en aient fait de même d’après leurs déclarations, le monde du SEO reste trouble et prudence est mère de sûreté et vous pouvez être tenté de la remplir de quelques mots tout de même.

wordpress

Cet article de 2014 et surtout les commentaires associés montrent à quel point le sujet n’est pas clairement tranché. Si le signal semble être plus négatif (abus de la balise meta keyword = SPAM ) que positif (facteur non utilisé pour le classement des mots clés), remplir la balise de quelques mots plutôt que de la laisser vide peut se poser.

Comme d’habitude , l’utilisation du script ci-dessous est entièrement à votre risque, pensez TOUJOURS à effectuer une sauvegarde de votre base de données avant l’utilisation de tout code.

Ce petit bout de code SQL que j’ai écrit rapidement permet de remplir, si vous utilisez le plugin All In One SEO de WordPress la balise meta keyword des posts n’en ayant pas eu auparavant, par les « tags » que vous utilisez au moment de l’écriture des articles. Notez au passage l’utilisation bien pratique de la fonction group_concat sur MySql.

La fonction d’UPDATE permet elle dans la deuxième requête de nettoyer le slug et d’obtenir des meta keywords sans tiret entre chaque mot.

Pensez aussi à remplacer, si toutefois vous décidiez à l’utilisation, le préfixe des tables par le préfixe que vous avez donné à vos tables dans votre base de données au moment de l’installation de votre site WordPress.


insert into wp_postmeta (post_id, meta_key , meta_value)
SELECT object_id, '_aioseop_keywords', group_concat(slug SEPARATOR ', ') as tags FROM wp_terms INNER JOIN wp_term_taxonomy ON wp_term_taxonomy.term_id = wp_terms.term_id INNER JOIN wp_term_relationships ON wp_term_relationships.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id WHERE taxonomy = "post_tag" AND object_id in (
select distinct post_id from wp_postmeta where post_id not in (select post_id from wp_postmeta where meta_key='_aioseop_keywords' group by 1)) group by 1;
update wp_postmeta set meta_value = replace(meta_value, '-', ' ');