Tweaks y trucos para WordPress

Dificultad del post: facilmediadificil
[Total: 1   Promedio: 5/5]
tweaks trucos wordpress

Antes de nada, quiero decir que la mayoría de tweaks y trucos que voy a enseñar en este post puedes conseguir implementarlos mediante plugins de los que ya he hablado anteriormente (como, por ejemplo, Perfmatters o Machete). Sin embargo, mucha gente es reticente a la implementación de plugins para cosas simples, por lo que siempre tiene que existir una alternativa para realizar esto.

tweaks wordpress

La gran mayoría de estos tweaks son fragmentos de código o snippets que se cargan en el functions.php del theme activo y que se ejecutan en toda la web.

Antes de nada, si no sabes cómo editar el functions.php del theme activo, a continuación te dejo un vídeo que tengo publicado en mi canal de YouTube:

Existen otra opción para editar el functions.php con menos complicaciones: el plugin Code Snippets, que podemos encontrar de forma gratuita en el repositorio de WordPress y con el que podemos tener todo mucho más controlado. Aquí tienes un vídeo sobre él:

Debes tener mucho cuidado, ya que si el código introducido no está bien en cuanto a sintaxis, tu sitio web puede caerse y dar error. Si te ocurre esto, creo que el post sobre solución de errores en WordPress que publiqué hace algún tiempo te será de utilidad: https://alvarofontela.com/solucion-problemas-errores-wordpress/

A continuación, te dejo el listado completo de tweaks para WordPress que puedes ver en este post. Si quieres ampliar información, aquí encontraras otros snippets para el functions.php que yo no creo que sean relevantes para una configuración básica, pero quiero que sepas que existen: https://www.wpbeginner.com/wp-tutorials/25-extremely-useful-tricks-for-the-wordpress-functions-file/

 

Eliminar y desactivar los query strings

Los query strings son un problema, ya que pueden llegar a dificultar el cacheo en cache o CDN y, en la práctica, tan solo sirven para establecer una versión del archivo cacheado (hay otras formas de identificar estos archivos).

Por si no lo sabes, los query strings son los números que salen al final de las URL, tal que así:

Y con este código puedes desactivarlos por completo:

Esta es una de las primeras cosas que deberías hacer después de instalar tu WordPress, ya que vas a solucionar problemas en tres frentes diferentes.

 

Desactivar la carga de Google Fonts

Con un pequeño código en el functions.php del theme activo puedes desactivar por completo la carga de Google Fonts, aunque estén “llamadas” desde la maquetación de la web.

Este código es útil para themes multipurpose sobrecargados de los que puedes encontrar en ThemeForest, aunque tienes que tener cuidado de que no “rompa” nada en tu web.

 

Cargar Google Fonts en asíncrono

Si has visto post míos de WPO como el de optimizar el JS y CSS en WordPress, ya entenderás la necesidad de cargar recursos como el JS y el CSS en asíncrono.

Durante la carga asíncrona se cargan los estilos y los scripts en paralelo. Por el contrario, durante la carga síncrona se cargan de forma secuencial.

Este script debes insertarlo en la cabecera del sitio web, entre las etiquetas <head></head> del theme activo, o mediante algún plugin para meter scripts en la cabecera:

Recuerda que debes personalizarlo con las fuentes que tú utilices justo donde en el código pone el comentario “Ejemplo”. En caso contrario, el código no funcionará.

Esto también puedes hacerlo con el plugin que te explico en este artículo sobre la optimización de la carga de Google Fonts en WordPress: https://alvarofontela.com/optimizar-la-carga-de-google-fonts-wordpress/

 

Eliminar el enlace de respuesta de comentarios

Esto afecta al archivo comment-reply.min.js que carga WordPress. Es el encargado de que, cuando respondemos a un comentario, podamos contestar al que nosotros queramos. Esto es, en parte, con lo que se hacen los comentarios anidados en los blogs creados con WordPress.

Podemos desactivar el comment-reply.min.js (si no lo utilizamos) con el siguiente código en el functions.php del theme activo:

Recuerda que esto no va a afectar a la posibilidad de que tus lectores dejen comentarios en WordPress, pero sí a que puedan responder a los comentarios que previamente han dejado otros lectores.

Con este método ahorraremos una petición a un archivo JS, que nunca está de más para el WPO de un sitio WordPress.

 

Eliminar jQuery Migrate en WordPress

jQuery Migrate es una librería dependiente de jQuery que sirve como transición para versiones antiguas de jQuery (1.9 y anteriores).

Si no la utilizas, ya que tienes la certeza de que todos los plugins que tienes utilizan las últimas versiones de jQuery, puedes desactivarlo con el siguiente código en el functions.php del theme activo:

Con esto ahorraremos una petición a un JS que, en la mayoría de los casos y si tenemos todos los plugins actualizados, no vamos a necesitar.

 

Cargar jQuery desde el CDN de Google

Otra cosa que se suele hacer con plugins, pero que también podemos hacer con un snippet PHP en el functions.php del theme activo.

Google y CloudFlare tienen a disposición de los administradores de sitios web un CDN para ciertas librerías, entre ellas jQuery, la librería Javascript más utilizada.

Puedes cargar jQuery desde el CDN de Google con este código en el functions.php del theme activo:

Y si quieres cargarlo desde el CDN de CloudFlare (que a mí me encanta) puedes hacerlo con este código en el functions.php del theme activo:

Evidentemente, en ambos casos puedes modificarlo para personalizar la versión de jQuery que vamos a cargar desde el CDN. En los scripts anteriores puedes ver como ejemplo la versión 1.12.4 de jQuery.

 

Desactivar el REST API de WordPress

En algunos casos (la gran mayoría), no necesitamos el REST API de WordPress para nada y podemos desactivarla para evitar que sea el foco de ataques indeseados.

Si queremos desactivar el REST API de WordPress, podemos hacerlo con el siguiente código en el functions.php del theme activo:

Repito: es necesario asegurarse de que no va a interferir con ningún plugin o funcionalidad que vayamos a utilizar.

El REST API puede ser objeto de ataques de fuerza bruta que no solo lleguen a dañar el rendimiento, sino también el rendimiento.

 

Desactivar el REST API para usuarios NO autentificados

Desactivar el acceso al REST API para usuarios que NO estén autentificados es una opción para los sitios web que, por algún plugin, no puedan desactivar por completo el REST API.

Con este código podemos hacer que el REST API no funcione para usuarios NO autentificados. También hay que meterlo en el functions.php del theme activo:

Los plugins podrán seguir accediendo y los bots externos no tendrán acceso.

 

Deshabilitar oEmbed en WordPress

Mediante oEmbed podemos incrustar un contenido dentro de otro contenido. Mediante este método automático, podemos incrustar contenido de las principales redes sociales dentro de WordPress (incluidos vídeos de Youtube). Además, también podemos incrustar un post dentro de otro post.

Esta funcionalidad no la usa mucha gente. Algunos, como yo, preferimos insertar los vídeos con el código HTML en lugar de usar oEmbed.

Con este código podemos desactivar esta funcionalidad si lo introducimos en el functions.php del theme activo.

Con esto nos ahorramos una petición HTTP a un Javascript, algo que no está del todo mal si lo miramos desde el punto de vista del WPO.

 

Controlar el API Heartbeat de WordPress

Del API Heartbeat y de sus ventajas e inconvenientes ya hemos hablado varias veces en este blog. De hecho, he publicado un post sobre el tema.

tweaks wordpress

En las siguientes URLs puedes ver cómo manipular el API Heartbeat con snippets:

Simplemente a modo de recordatorio: el API Heartbeat es un API que permite que el código AJAX dinámico interactúe con el núcleo de WordPress. El API Heartbeat es la “culpable” de que puedas añadir productos al carrito de un WooCommerce sin necesidad de recargar la página, por ejemplo.

 

Desactivar widgets de sidebar y footer en WordPress

WordPress, de forma predeterminada, trae una serie de widgets nativos que podemos utilizar en ciertas zonas como el sidebar (lo más común) o en el footer en algunos themes. Aunque en sitios web creados íntegramente con Elementor Pro no hace realmente falta, en la mayoría de themes se utilizan los widgets e incluso se declaran nuevos widgets.

tweaks wordpress

Este código es el que tienes que utilizar para desactivar los widgets. Simplemente debes utilizarlo en el functions.php del theme activo:

Como puedes ver, solo con comentar //ON en la línea correspondiente al widget que NO quieres desactivar, puedes seleccionar los que no utilizas y así dejarlos inactivos.

Esta medida no ahorra peticiones, pero sí algo de carga de CPU en la ejecución de PHP.

 

Desactivar los feeds RSS en WordPress

Los feeds RSS pueden ser una muy buena herramienta para la sindicación de contenido, pero también pueden tener un doble filo, ya que los bots pueden scrapear contenido a través del feed.

Yo suelo desactivarlos salvo en proyectos formato blog donde sé que mis lectores utilizan servicios como Feedly. En webs corporativas o proyectos nicho siempre lo desactivo para evitar problemas.

Puedes desactivar los feeds RSS con este código PHP en el functions.php del theme activo:

Algunos servicios externos pueden necesitar el feed para funcionar, por lo que debes tener cuidado.

 

Desactivar los comentarios en WordPress

Los plugins no son la única forma de desactivar los plugins en WordPress, ya que con el siguiente fragmento de código en el functions.php del theme activo puedes desactivar por completo los comentarios en todo el sitio web (ten en cuenta que esto no ocultará los ya existentes).

Y si quieres ocultar y cerrar los comentarios actuales que ya están publicados, puedes usar el mismo código en el functions.php del theme activo:

Si utilizas un sistema de comentarios externo como Disqus, no desactives los comentarios: para que funcione, tiene que cargar el template por defecto. Si los desactivamos, no lo carga.

 

Desactivar los emojis en WordPress

Los emojis son bastante utilizados en sitios web y blogs informales, pero en otros ámbitos no se utilizan y por esa razón puede que queramos desactivarlos.

Podemos desactivar los emojis en WordPress (tanto en contenido como en comentarios) usando el siguiente snippet en el functions.php:

Con esto nos ahorramos una petición a un JS y eso nunca está mal para el WPO de un sitio web.

 

Desactivar el enlace RSD en WordPress

Es una funcionalidad que se enlaza desde la cabecera y que les indica a ciertos clientes donde se encuentra el XMLRPC, una funcionalidad que es recomendable desactivar para evitar problemas de seguridad actualmente.

Con el siguiente código añadido en el functions.php del theme activo podemos desactivar el enlace RSD:

Con esto nos ahorramos una petición en la cabecera y, además, mejoramos la seguridad del sitio web.

 

Desactivar el XML-RPC.PHP de WordPress

Como hemos dicho antes, es importante desactivar el XML-RPC.PHP porque puede ser objeto de ataques de fuerza bruta. Actualmente, solo conozco un plugin que haga uso de esta funcionalidad y es Jetpack, un plugin que tampoco es muy recomendable por el alto uso de recursos.

En este caso, el código debemos introducirlo AL FINAL del wp-config.php de la instalación:

Si necesitas más información sobre el wp-config.php de WordPress puedes encontrarla en este post publicado hace algunos meses: https://alvarofontela.com/configurar-wp-config-php-wordpress/

Si complementamos la desactivación del XML-RPC mediante .htaccess con este tweak, conseguiremos hacer desaparecer por completo la brecha de seguridad.

 

Desactivar el enlace a WLW en WordPress

En la cabecera de cualquier WordPress también se hace una petición para añadir compatibilidad con WLW (Windows Live Writer), una aplicación que ya está en desuso y que se utilizaba para publicar en blogs.

Windows Live Writer era una aplicación de escritorio que estaba en el “pack” de Messenger y que ya no se actualiza.

Podemos desactivar esta compatibilidad con este código en el functions.php:

Con esto, mejoramos la seguridad y limpiamos el código de la cabecera de la instalación WordPress.

 

Desactivar los shortlinks o enlaces cortos de WordPress

De forma nativa, WordPress genera enlaces cortos para cada contenido con un acortador propio de Automattic. Aunque estos enlaces redireccionan, pueden ser bastante molestos e incluso llegar a causar ciertos conflictos.

Lo ideal es desactivarlos. Podemos hacerlo con el siguiente snippet en el functions.php:

Así también limpiamos el código de la cabecera y eliminamos un enlace que es bastante “inútil”, ya que quien quiere acortar un enlace normalmente utiliza otro servicio.

 

Desactivar la versión de WordPress en el código

De forma nativa, WordPress incluye en el código (y en los query strings) la versión de WordPress con la que se está ejecutando el sitio web, y claro…esto puede llegar a ser un problema para la seguridad del sitio web en caso de no estar actualizado.

Con este código en el functions.php podemos desactivar esta función nativa:

De todas formas, aunque desactivemos esta función, un consultor WordPress experimentado puede llegar a conocer la versión de WordPress con alguna extensión del navegador o mediante la revisión de la estructura de archivos descargado al navegador del visitante.

 

Desactivar pingbacks en WordPress

Los pingbacks, al igual que los trackbacks, pueden llegar a ser innecesarios actualmente porque muy poca gente los usa.

Con el siguiente código en el functions.php del theme activo, puedes desactivar los Pingbacks por completo:

Otra razón para eliminar y desactivar los Pingbacks por completo es que nos pueden llegar a descontrolar el enlazado interno.

Share on twitter
Twitter
Share on facebook
Facebook
Share on linkedin
LinkedIn

Tal vez te interese...

Álvaro Fontela
Álvaro Fontela
Soy ponente en eventos de marketing digital, consultor WordPress y co-fundador de Raiola Networks, amante del mundo del motor (coches japoneses) y tecnófilo empedernido.

2 comentarios en “Tweaks y trucos para WordPress”

Deja un comentario

¿Quieres recibir mi contenido semanal?
¡Te enviare todas las semanas mi contenido!
Cabecera del formulario de suscripción
  • RESPONSABLE:

    RAIOLA NETWORKS, S.L.

    C.I.F.: B27453489

    Avda de Magoi, 66, Semisótano, Dcha., 27002 Lugo (Lugo)

    Telefono: +34 982776081

    e-mail: info@raiolanetworks.es

    FINALIDAD:Atender solicitudes de información, ejecución de la contratación de servicios y remisión de comunicaciones comerciales.
    LEGITIMACIÓN:Consentimiento del interesado y contratación de productos y/o servicios del Responsable
    DESTINATARIOS:

    No se ceden datos a terceros, salvo obligación legal.

    Personas físicas o jurídicas directamente relacionadas con el Responsable

    Encargados de Tratamiento adheridos al Privacy Shield

    DERECHOS:Acceder, rectificar y suprimir los datos, portabilidad de los datos, limitación u oposición a su tratamiento, derecho a no ser objeto de decisiones automatizadas, así como a obtener información clara y transparente sobre el tratamiento de sus datos.
    INFORMACIÓN ADICIONAL:Se puede consultar la política de privacidad de forma más detallada aquí.
  • Este campo es un campo de validación y debe quedar sin cambios.