WordPress incluye muchas cosas a través del hook wp_head() incluido en la mayoría de los temas. Considero que la mayoría de estas cosas son innecesarias. Unas pocas líneas de código extra en tu encabezado probablemente no ralentizarán tu sitio demasiado, pero me gusta mantener las cosas lo más limpias y eficientes posible.
En esta publicación rápida, explicaré cómo eliminar lo siguiente de la salida a través del hook wp_head.
- Enlace Really Simple Discovery (RSD)
- Enlace Windows Live Writer
- Aviso de generador de WordPress
- Enlaces relacionales de publicaciones
Continúa leyendo para ver la descripción de cada uno de estos y determinar si los necesitas o no, y cómo eliminarlos.
Really Simple Discovery
Este es el código que muestra el siguiente código en tu encabezado:
<link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://example.com/xmlrpc.php?rsd" />
Este es el mecanismo de descubrimiento utilizado por los clientes XML-RPC. Si no tienes idea de qué significa esto y/o no integras servicios como Flickr con tu sitio de WordPress, probablemente sea seguro eliminarlo con el siguiente código en el archivo functions de tu tema.
remove_action('wp_head', 'rsd_link');
Windows Live Writer
Esta es la razón por la que ves el siguiente código en tu encabezado.
<link rel="wlwmanifest" type="application/wlwmanifest+xml" href="http://example.com/wp-includes/wlwmanifest.xml" />
Si no usas Windows Live Writer, entonces este código es completamente inútil para ti y debería ser eliminado.
remove_action('wp_head', 'wlwmanifest_link');
Generador de WordPress
Esto es lo que muestra el número de versión de tu WordPress en tu encabezado.
<meta name="generator" content="WordPress 2.8.4" />
Nadie realmente necesita saber la versión exacta de WordPress que estás usando, así que es seguro eliminar esta línea de código.
remove_action('wp_head', 'wp_generator');
Enlaces Relacionales de Publicaciones
Los enlaces relacionales de publicaciones son la razón por la que estas cosas se muestran en varias páginas.
<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/' />
Aún no he encontrado una razón real para mantener esto. Algunos navegadores pueden usar este código para navegar por tu sitio, aunque probablemente puedas obtener el mismo efecto de un tema bien diseñado. Necesitarás tres líneas para eliminarlos todos.
remove_action('wp_head', 'start_post_rel_link');
remove_action('wp_head', 'index_rel_link');
remove_action('wp_head', 'adjacent_posts_rel_link');
Plantilla Functions.php
Para tu conveniencia, aquí están todos combinados para copiarlos y pegarlos fácilmente en el archivo functions.php de tu propio tema.
<?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');
?>
De hecho, este es el archivo functions.php completo que estoy usando en mi nuevo tema archivo de tweets. Si le echas un vistazo al código, la etiqueta <head> solo contiene tres líneas: la declaración meta charset, la etiqueta title y el enlace a la hoja de estilos.
Una nota sobre los temas publicados
Cuando desarrolles temas para su publicación, ten cuidado al eliminar algunos de estos, especialmente los dos primeros: soporte XML-RPC y Windows Live Writer.
La razón debería ser bastante obvia, porque algunos de tus usuarios probablemente usarán algo como Windows Live Writer y volverán a ti pidiendo soporte cuando no entiendan por qué no funciona con tu tema.
Los otros elementos, el aviso del generador de WordPress y los enlaces de relación de publicaciones, probablemente se puedan eliminar de forma segura en casi cualquier situación.
Conclusión
Como dije en la introducción, no es un problema *enorme* si no eliminas estas líneas y no lo llamaría un "imprescindible" en cada nuevo sitio de WordPress que desarrolles. Si eres como yo y no te gustan las líneas de código inútiles, probablemente querrás hacerlo de todos modos solo para mantener las cosas funcionando de la manera más limpia posible.
¿Se te ocurren otras funciones que uses para eliminar líneas de código innecesario de WordPress? Hazmelo saber en los comentarios.
Hola, necesito ayuda con WordPress, ya que después de crear la página en WP, vi en el código (código fuente) que con cada nombre de clase, el page builder ha añadido su nombre, lo cual me confunde. Por ejemplo, estoy usando ELEMENTOR y al crear una página, vi en el código fuente el nombre de clase ".elementor-column-wrap"… ahora el problema es que quiero eliminar las palabras de elementor antes del nombre de la clase. Quiero que el nombre de la clase sea lo más simple posible. No debería haber ningún nombre de page builder… por favor, háganmelo saber.
No puedes eliminarlo o romperás Elementor
Hola,
Por favor, dime dónde poner este código en functions.php?
Algunos blogs dijeron que debería ir al final, otros blogs que puede ir al principio?
Gracias de antemano
La posición no importa en absoluto. Puedes añadirlo al principio o al final.
¿Cómo puedo eliminar de wp_head()
Hola,
Gracias por esta publicación, pero por favor, añade también el código para eliminar el script de emojis.
Saludos
¡Lo puedes encontrar aquí, Ali!
https://www.isitwp.com/remove-emoji-scripts-wordpress-head/
Muchas gracias por la ayuda. Solo quiero decirte que mi sitio obtuvo una velocidad de 99 en móvil y 98 en escritorio en la prueba de velocidad de página de Google debido al código mencionado anteriormente en la publicación y al código de eliminación de emojis.
¡Me alegra que haya ayudado!
No sé por qué los desarrolladores de temas incluyen esto en sus temas por defecto en primer lugar.
Usé un tema muy básico y lo modifiqué para adaptarlo a mi sitio web, pero toda esta basura todavía estaba en mi encabezado (junto con otra basura que WordPress carga automáticamente).
Gracias por esta publicación, la encontré muy útil.
Acabo de encontrar esta publicación basada en adjacent_posts_rel_link_wp_head – Esto podría funcionar para ti y tu audiencia, así que creo que es relevante… no estoy intentando hacer spam, pero…
He añadido un puñado de funciones y cosas de limpieza que espero que funcionen en las instalaciones de todos para ayudar a limpiarlas y deshacerse de algunas de las porquerías como el contenido de wp_head que has publicado aquí.
el plugin, a falta de un mejor nombre, es Selfish Fresh Start… egoísta porque es el material que creo que debería eliminarse de cada instalación, ¡jaja!
http://wordpress.org/extend/plugins/selfish-fresh-start/
Sí, usaba wp_head. ¿Es algo de lo que necesito preocuparme?
No tengo nada de esto en mi encabezado, excepto el generador de WordPress; en mi tema, esto está en un comentario con "déjalo para estadísticas, por favor".
¿De qué se trata eso?
¿Tu tema usa el hook
wp_head? Parece que esa parte de "déjalo para estadísticas" está codificada directamente en el archivo header.php de tu tema.Genial, aunque debería añadir que ha habido un pequeño cambio en WP 3.0 con adjacent_posts_rel_link. Ahora es adjacent_posts_rel_link_wp_head (no estoy seguro de por qué cambió).
Descubrí eso yendo a /wp-includes/default-filters.php y revirtiendo lo que aparecía en la sección add_action.
¿Alguna idea de por qué eso habría cambiado?
Cambiamos su nombre porque modificamos (mejoramos) su funcionamiento de una manera incompatible con versiones anteriores. Bien para el núcleo, ya que es una mejora, pero si un plugin usaba el plugin original de la manera en que lo hace el núcleo, no queremos alterar esa funcionalidad.
La nueva función en realidad solo llama a la función antigua — http://core.trac.wordpress.org/ticket/10867
Hola. ¿Sabes cómo puedo eliminar que jquery se llame automáticamente? Obviamente, necesita ser llamado en el sitio de administración, pero en el lado del cliente, uso mootools, así que no quiero que se llamen dos bibliotecas de js.
Gracias
Tom
¡Excelente publicación Leland! Los enlaces relacionales siempre me molestaron un poco, pero nunca investigué cómo eliminarlos.
Creo que también vale la pena mencionar que mucho del código agregado por los plugins también se puede eliminar: http://wptheming.com/2009/12/optimize-plug-in-script-wordpress/
Hola Devin, gracias por el comentario. Ese es un buen punto sobre el código de los plugins. Especialmente cuando plugins como Contact Form 7 cargan automáticamente CSS y JS en cada página, cuando usualmente solo lo necesitas en una (o en cualquier página donde realmente tengas un formulario de contacto).