WordPress

Eliminar código innecesario del wp_head

Por defecto WordPress incluye una serie de meta-tags en la cabecera de nuestro sitio a través de la función wp_head(). La mayoría de estas etiquetas son innecesarias, y sobrecargan la página web con peticiones http, aumentando los tiempos de carga y disminuyendo el rendimiento del sitio.

Con el fin de optimizar la velocidad de carga y el rendimiento de nuestra página web, y mantener la cabecera lo más limpia y eficiente posible, podemos eliminar éstas etiquetas incluyendo una simple función en nuestro functions.php. Conseguiremos un mejor WPO (Web Performance Optimization) deshaciéndonos de ellas.

Las etiquetas que nos puede interesar borrar son:

wp_generator
Muestra en una etiqueta que la página web está hecha con WordPress, y su versión

rsd_link
Muestra en enlace a Really Simple Discovery

wlwmanifest_link
Para escribir en nuestro Blog desde Windows Live Writer

start_post_rel_link
Muestra el link relacional a la primera entrada

index_rel_link
Etiqueta que muestra cual es la Home de nuestra página web

wp_shortlink_wp_head
Inserta una etiqueta con el shortlink si está definido

adjacent_posts_rel_link
Muestra el link relacional a las entradas adyacentes de la entrada actual

parent_post_rel_link
Muestra el link al padre si está definido

feed_links_extra
Muestra enlace a feed extra como categorias

feed_links
Muestra enlaces al feed general

print_emoji_detection_script
Elimina la carga del JS necesario para los emoji icons en los comentarios

print_emoji_styles
Elimina la carga del CSS necesario para los emoji icons en los comentarios

Nuestra función quedaría de la siguiente manera:

// Removes some links from the header
function remove_headlinks() {
    remove_action( 'wp_head', 'wp_generator' );
    remove_action( 'wp_head', 'rsd_link' );
    remove_action( 'wp_head', 'wlwmanifest_link' );
    remove_action( 'wp_head', 'start_post_rel_link' );
    remove_action( 'wp_head', 'index_rel_link' );
    remove_action( 'wp_head', 'wp_shortlink_wp_head' );
    remove_action( 'wp_head', 'adjacent_posts_rel_link' );
    remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0 );
    remove_action( 'wp_head', 'parent_post_rel_link' );
    remove_action( 'wp_head', 'feed_links', 2 );
    remove_action( 'wp_head', 'feed_links_extra', 3 );
    remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
    remove_action( 'wp_print_styles', 'print_emoji_styles' );
    remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' );
    remove_filter( 'the_content_feed', 'wp_staticize_emoji' );
    remove_filter( 'comment_text_rss', 'wp_staticize_emoji' );
}
add_action( 'init', 'remove_headlinks' );

NOTA

Antes de incluir ésta función y eliminar de la cabecera todas las etiquetas, cerciórate que tu tema o alguno de tus plugins no haga uso de ninguna de ellas.

¿Te ha resultado útil esta información? 🍺

Si este post te ha resuelto un problema, invítame a un café o a una cerveza. Con este pequeño gesto me animas a seguir escribiendo.

Comentarios

8 comentarios en Eliminar código innecesario del wp_head

  1. Estoy trabajando con un servidor local y el wp_head() me genera unos estilos:

    html { margin-top: 32px !important; }
    * html body { margin-top: 32px !important; }
    @media screen and ( max-width: 782px ) {
    html { margin-top: 46px !important; }
    * html body { margin-top: 46px !important; }
    }Y quisiera eliminarlos. Ya probe con la funcion que das y no elimina esos estilos ¿Podrías ayudarme?

    1. Hola Carlos,

      Ese código tiene pinta que es lo que inyecta WordPress para la barra de administración. Es decir, cuando has iniciado sesión, en la parte superior aparece la barra de administración, y WordPress mete en wl wp_head una serie de estilos y javascript.

      Si cierras sesión y visitas la web como un usuario normal, verás que no tienes esos estilos

  2. Hola Pablo

    Aunque es antiguo este post, y no sé si pasarás por aquí, lo acabo de probar, pero solo con la función para eliminar el feed y no me ha servido. Se sigue mostrando. No sé si lo he colocado en el lugar equivocado o si será otra cosa. Bueno, si pasas por aquí y puedes echarme una mano te lo agradezco. En cualquier caso, gracias por los artículos.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *:

  • El fin del tratamiento es únicamente la moderación de comentarios para evitar spam
  • La legitimación es tu consentimiento al comentar
  • No se comunicará ningún dato a terceros salvo por obligación legal
  • Tienes derecho al acceso, rectificación y eliminación de los comentarios