X

Supprimer le code inutile de wp_head

WordPress inclut beaucoup de choses via le hook wp_head() inclus dans la plupart des thèmes. La plupart de ces choses, je les considérerais comme inutiles. Quelques lignes de code supplémentaires dans votre en-tête ne ralentiront probablement pas beaucoup votre site, mais j'aime garder les choses aussi propres et efficaces que possible.

Dans ce conseil rapide, je vais vous expliquer comment supprimer les éléments suivants de la sortie via le hook wp_head.

  • Lien Really Simple Discovery (RSD)
  • Lien Windows Live Writer
  • Notice de générateur WordPress
  • Liens relationnels de publication

Lisez la suite pour la description de chacun de ces éléments afin de voir si vous en avez besoin ou non, et comment les supprimer.

Really Simple Discovery

C'est le code qui affiche le code suivant dans votre en-tête :

<link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://example.com/xmlrpc.php?rsd" />

C'est le mécanisme de découverte utilisé par les clients XML-RPC. Si vous n'avez aucune idée de ce que cela signifie et/ou si vous n'intégrez pas de services comme Flickr avec votre site WordPress, il est probablement sûr de le supprimer avec le code suivant dans le fichier functions de votre thème.

remove_action('wp_head', 'rsd_link');

Windows Live Writer

C'est pourquoi vous voyez le code suivant dans votre en-tête.

<link rel="wlwmanifest" type="application/wlwmanifest+xml" href="http://example.com/wp-includes/wlwmanifest.xml" />

Si vous n'utilisez pas Windows Live Writer, alors ce code est complètement inutile pour vous et devrait être supprimé.

remove_action('wp_head', 'wlwmanifest_link');

Générateur WordPress

C'est ce qui affiche le numéro de version de votre WordPress dans votre en-tête.

<meta name="generator" content="WordPress 2.8.4" />

Personne n'a vraiment besoin de connaître la version exacte de WordPress que vous utilisez, il est donc sûr de supprimer cette ligne de code.

remove_action('wp_head', 'wp_generator');

Liens relationnels de publication

Les liens relationnels de publication sont la raison pour laquelle ces éléments sont affichés sur diverses pages.

<link rel='index' title='Main Page' href='http://www.themelab.com' />
<link rel='start' title='Article in the distant past' href='http://www.themelab.com/hello-world/' />
<link rel='prev' title='The Post Before This One' href='http://www.themelab.com/post-before/' />
<link rel='next' title='The Post After This One' href='http://www.themelab.com/post-after/' />

Je n'ai pas encore trouvé de raison réelle de les conserver. Certains navigateurs peuvent utiliser ce code pour naviguer sur votre site, bien que vous puissiez probablement obtenir le même effet avec un thème bien conçu. Vous aurez besoin de trois lignes pour tous les supprimer.

remove_action('wp_head', 'start_post_rel_link');
remove_action('wp_head', 'index_rel_link');
remove_action('wp_head', 'adjacent_posts_rel_link');

Modèle functions.php

Pour votre commodité, voici tous combinés pour une copie et un collage faciles dans le fichier functions.php de votre propre thème.

<?php
remove_action('wp_head', 'rsd_link');
remove_action('wp_head', 'wlwmanifest_link');
remove_action('wp_head', 'wp_generator');
remove_action('wp_head', 'start_post_rel_link');
remove_action('wp_head', 'index_rel_link');
remove_action('wp_head', 'adjacent_posts_rel_link');
?>

En fait, c'est tout le fichier functions.php que j'utilise sur mon nouveau thème d'archive de tweets. Si vous regardez le code, la balise <head> ne contient que trois lignes : la déclaration de méta-jeu de caractères, la balise de titre et le lien de feuille de style.

Une note sur les thèmes publiés

Lorsque vous développez des thèmes à publier, faites attention à en supprimer certains, en particulier les deux premiers : le support XML-RPC et Windows Live Writer.

La raison devrait être assez évidente, car certains de vos utilisateurs utiliseront probablement quelque chose comme Windows Live Writer, et reviendront vous demander de l'aide lorsqu'ils ne comprendront pas pourquoi cela ne fonctionne pas avec votre thème.

Les autres éléments, la notice de générateur WordPress et les liens de relation de publication, peuvent probablement être supprimés en toute sécurité dans presque toutes les situations.

Conclusion

Comme je l'ai dit dans l'introduction, ce n'est pas un énorme problème si vous ne supprimez pas ces éléments et je n'appellerais pas cela un « indispensable » sur chaque nouveau site WordPress que vous développez. Si vous êtes comme moi et que vous n'aimez pas les lignes de code inutiles, vous voudrez probablement quand même le faire juste pour que les choses fonctionnent aussi proprement que possible.

Pouvez-vous penser à d'autres fonctions que vous utilisez pour supprimer des lignes de code WordPress inutiles ? Faites-le moi savoir dans les commentaires.

Commentaires   Laisser une réponse

  1. Bonjour, j'ai besoin d'aide sur WordPress car après avoir créé la page dans WP, j'ai vu dans le code (code source) qu'avec chaque nom de classe, le constructeur de page avait ajouté son nom, ce qui me confond. Par exemple, j'utilise ELEMENTOR et en créant une page, j'ai vu dans le code source le nom de classe ".elementor-column-wrap"… maintenant le problème est que je veux supprimer les mots elementor avant le nom de classe. Je veux que le nom de classe soit aussi simple que cela. aucun nom de constructeur de page ne devrait y figurer… s'il vous plaît, faites-le moi savoir.

    1. Vous ne pouvez pas le supprimer ou vous allez casser Elementor

  2. Bonjour,

    S'il vous plaît, dites-moi où mettre ce code dans functions.php ?
    Certains blogs ont dit qu'il devait être mis à la fin, d'autres qu'il pouvait être mis au début ?

    Merci d'avance

    1. La position n'a aucune importance. Vous pouvez l'ajouter au début ou à la fin.

  3. Comment puis-je supprimer de wp_head()

  4. Bonjour,
    Merci pour cet article, mais veuillez également ajouter du code pour supprimer le script emoji.
    Cordialement

      1. Merci beaucoup pour votre aide. Je voulais juste vous dire que mon site a atteint une vitesse de 99 sur mobile et 98 sur ordinateur dans le test de vitesse de page Google grâce au code mentionné ci-dessus dans l'article et au code de suppression d'emoji.

        1. Je suis content que cela ait aidé !

  5. Je ne sais pas pourquoi les développeurs de thèmes mettent ces éléments par défaut dans leurs thèmes en premier lieu.

    J'ai utilisé un thème très basique et je l'ai modifié pour l'adapter à mon site web, mais toutes ces saletés étaient toujours dans mon en-tête (avec d'autres saletés que WordPress charge automatiquement).

    Merci pour cet article, je l'ai trouvé très utile.

  6. Je viens de trouver cet article basé sur adjacent_posts_rel_link_wp_head – Cela pourrait fonctionner pour vous et votre public, donc je pense que c'est pertinent… j'essaie de ne pas faire de spam mais…
    J'ai jeté une poignée de fonctions et de trucs de nettoyage qui, je l'espère, fonctionneront pour les installations de tout le monde afin d'aider à nettoyer et à se débarrasser de certaines des saletés comme les trucs wp_head que vous avez publiés ici.

    le plugin, faute de mieux, s'appelle Selfish Fresh Start... égoïste car c'est le genre de choses que je pense qu'il faudrait supprimer de chaque installation lol.

    http://wordpress.org/extend/plugins/selfish-fresh-start/

  7. Oui, il utilisait wp_head. Est-ce quelque chose dont je devrais m'inquiéter ?

  8. Je n'ai rien de tout cela dans mon en-tête, à l'exception du générateur WordPress – dans mon thème, c'est dans un commentaire avec "laissez ceci pour les statistiques s'il vous plaît".

    Qu'est-ce que c'est ?

    1. Votre thème utilise-t-il le hook wp_head ? Il semble que ce "laissez ceci pour les statistiques" soit codé en dur dans le fichier header.php de votre thème.

  9. Excellent travail, bien que je doive ajouter qu'il y a eu un petit changement dans WP 3.0 avec adjacent_posts_rel_link. Il s'appelle maintenant adjacent_posts_rel_link_wp_head (je ne sais pas pourquoi il a changé).

    Je l'ai découvert en allant sur /wp-includes/default-filters.php et en inversant ce qui était listé dans la section add_action.

    Avez-vous une idée de pourquoi cela aurait changé ?

    1. Nous avons changé son nom car nous avons modifié (amélioré) son fonctionnement d'une manière incompatible avec les versions précédentes. C'est bien pour le cœur, car c'est une amélioration, mais si un plugin utilisait le plugin original de la manière dont le cœur le fait, nous ne voulons pas altérer cette fonctionnalité.

      La nouvelle fonction appelle en fait l'ancienne fonction — http://core.trac.wordpress.org/ticket/10867

  10. Bonjour. Savez-vous comment je peux supprimer l'appel automatique de jquery ? Évidemment, il doit être appelé sur le site d'administration, mais côté client, j'utilise mootools, donc je ne veux pas que deux bibliothèques js soient appelées.

    Merci
    Tom

  11. Excellent article Leland ! Les liens relationnels m'ont toujours un peu dérangé mais je n'ai jamais cherché comment les supprimer.

    Je pense qu'il est également utile de mentionner qu'une grande partie du code ajouté par les plugins peut également être supprimée : http://wptheming.com/2009/12/optimize-plug-in-script-wordpress/

    1. Salut Devin, merci pour ton commentaire. C'est un bon point concernant le code des plugins. Surtout quand des plugins comme Contact Form 7 chargent automatiquement du CSS et du JS sur chaque page, alors que vous n'en avez généralement besoin que sur une seule page (ou sur toute page où vous avez réellement un formulaire de contact).

Ajouter un commentaire

Nous sommes ravis que vous ayez choisi de laisser un commentaire. Veuillez garder à l'esprit que tous les commentaires sont modérés conformément à notre politique de confidentialité, et tous les liens sont nofollow. N'utilisez PAS de mots-clés dans le champ du nom. Ayons une conversation personnelle et significative.

Liste de contrôle de lancement WordPress

La checklist ultime pour lancer un WordPress

Nous avons compilé tous les éléments essentiels de la liste de contrôle pour le lancement de votre prochain site Web WordPress dans un ebook pratique.
Oui, envoyez-moi l'eBook gratuit !