Optimización de Core Web Vitals en WordPress sin plugins extra

Optimización de Core Web Vitals en WordPress sin plugins extra

Los Core Web Vitals son un conjunto de métricas que el Sr. Google utiliza para evaluar la experiencia de usuario en una web. Estas métricas afectan directamente al SEO y a la satisfacción de los visitantes.y del propio Sr Google (¿por qué negarlo?)

Índice

CWV  WordPress

¿Qué son los Core Web Vitals?

  • LCP (Largest Contentful Paint): mide el tiempo que tarda en mostrarse el contenido principal.
  • FID (First Input Delay) → ahora INP (Interaction to Next Paint): mide la rapidez de respuesta a la primera interacción del usuario.
  • CLS (Cumulative Layout Shift): mide la estabilidad visual (evitar que los elementos “salten” mientras carga la página).

Optimizar LCP

  • Optimiza imágenes (WebP, AVIF, tamaños adecuados).
  • Usa loading="lazy" en imágenes no críticas.
  • Elimina o combina CSS que no uses para reducir peso (con cuidado que la puedes liar).

En WordPress: puedes quitar CSS innecesario en el functions.php de tu tema hijo con wp_dequeue_style():


// functions.php en tu tema hijo
function remove_unused_styles() {
    if ( ! is_page('contacto') ) {
        wp_dequeue_style('contact-form-7'); 
    }
}
add_action('wp_enqueue_scripts', 'remove_unused_styles', 20);

Optimizar INP

  • Reduce JavaScript pesado y elimina lo que no uses con wp_dequeue_script(). (Si algo deja de funcionar vuelve a dejarlo como estaba)
  • Mueve scripts al footer para que no bloqueen el renderizado inicial.

Ejemplo en functions.php de tu tema hijo:


// functions.php en tu tema hijo
function move_scripts_footer() {
    if (is_admin()) return;

    remove_action('wp_head', 'wp_print_scripts');
    remove_action('wp_head', 'wp_print_head_scripts', 9);
    add_action('wp_footer', 'wp_print_scripts', 5);
    add_action('wp_footer', 'wp_print_head_scripts', 5);
}
add_action('wp_enqueue_scripts', 'move_scripts_footer', 20);

Optimizar CLS

  • Reserva espacio en CSS para imágenes y banners (usa width y height o aspect-ratio).
  • Evita cargar fuentes de Google sin display=swap.

En tu functions.php del tema hijo añade:


function cargar_fuentes_google() {
  echo '<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>' . "\n";
  wp_enqueue_style(
    'google-fonts-roboto',
    'https://fonts.googleapis.com/css2?family=Roboto&display=swap',
    false
  );
}
add_action('wp_head', 'cargar_fuentes_google', 5);

Cómo detectar scripts innecesarios

  1. Ver código fuente: busca todos los <script src="...js">.
  2. DevTools > Network > JS: revisa el peso y el origen de cada archivo.
  3. Query Monitor plugin (solo para auditar): te lista qué plugin o tema añadió cada script y estilo.

Una vez identifiques un script que no necesitas en todas las páginas, puedes desactivarlo con algo como:


// functions.php en tu tema hijo
function optimizar_scripts() {
    // Quitar Contact Form 7 excepto en su página
    if ( ! is_page('contacto') ) {
        wp_dequeue_script('contact-form-7'); 
        wp_dequeue_style('contact-form-7');
    }
}
add_action('wp_enqueue_scripts', 'optimizar_scripts', 20);

⚠️ Siempre revisa la web después de quitar un script. Si algo deja de funcionar (un slider, un menú, un formulario), vuelve a activarlo: significa que sí era necesario.

Conclusión

Para mejorar los Core Web Vitals, no basta con pegar código: hay que auditar qué se carga y eliminar lo innecesario de forma segura. Hazlo siempre en el functions.php de tu tema hijo, prueba los cambios en un entorno de staging si puedes, y mide después con PageSpeed Insights o Lighthouse para confirmar las mejoras. (si no las notas tampoco te extrañes, el Sr.Google si lo va a notar)

¿A qué esperas?. Ponte Manos a la web para optimizar tu site

Cómo evitar el registro de bots en WordPress

Cómo evitar el registro de bots en WordPress

Aunque tengas los comentarios desactivados y no muestres ningún formulario de registro en tu web, WordPress mantiene activa por defecto la página estándar de registro en la URL /wp-login.php?action=register. Los bots la conocen bien y aprovechan para crear cuentas de suscriptor de forma automática.

La buena noticia es que existen varias formas de bloquear este tipo de registros no deseados. A continuación, repasamos las principales opciones, con sus pros y contras.

Bots evitar acceso

1. Desactivar el registro de usuarios desde ajustes

La forma más sencilla de cortar el problema de raíz es ir a Ajustes > Generales y desmarcar la opción “Cualquiera puede registrarse”.

  • Ventajas: No requiere plugins ni código. Solución inmediata y nativa de WordPress.
  • Inconvenientes: Si en algún momento necesitas que los usuarios puedan registrarse (por ejemplo, en una tienda online o comunidad), tendrás que volver a activarlo.

2. Bloquear la URL de registro

Aunque desactives el registro, algunos bots seguirán intentando acceder a la URL /wp-login.php?action=register. Para bloquearla puedes hacerlo de dos maneras:

Vía .htaccess (servidores Apache):

<Files "wp-login.php">
    <If "%{QUERY_STRING} =~ /action=register/">
        Require all denied
    </If>
</Files>

Vía functions.php o un mu-plugin:

add_action('login_form_register', function() {
    wp_die('Registro deshabilitado.');
});
  • Ventajas: Bloqueo total de la URL de registro. Mayor seguridad incluso con registro activado.
  • Inconvenientes: Requiere tocar código o archivos del servidor. Puede ser demasiado restrictivo si en el futuro quieres habilitar el registro.

3. Usar un plugin de seguridad o anti-spam

Existen plugins que bloquean registros falsos de forma automática:

  • Stop Spammers
  • Disable User Registration
  • Wordfence o iThemes Security
  • Ventajas: No necesitas tocar código. Suelen incluir más funciones de seguridad adicionales. Útiles si planeas permitir registro de usuarios reales.
  • Inconvenientes: Añaden carga extra al sitio. Dependencia de un plugin externo para algo que se puede resolver de forma más ligera.

4. Añadir un CAPTCHA

Si realmente necesitas que los usuarios se registren, añadir un CAPTCHA o reCAPTCHA en el formulario es la mejor forma de evitar registros automáticos.

  • Ventajas: Mantienes abierto el registro a personas reales. Dificulta casi por completo el registro de bots.
  • Inconvenientes: Añade fricción al proceso de registro. Puede afectar a la experiencia del usuario.

Conclusión

La mejor opción depende del uso que tenga tu web:

  • Si no necesitas ningún registro: desactiva la opción de “Cualquiera puede registrarse” y bloquea la URL de registro para mayor seguridad.
  • Si necesitas registros reales: activa el registro pero añade un plugin anti-spam o un CAPTCHA para filtrar a los bots.

Con estas medidas, tu WordPress estará protegido contra registros falsos y evitarás llenar tu base de datos de cuentas basura.

Error Crítico en WordPress por actualización de plugins

Error Crítico en WordPress por actualización de plugins

Actualizaciones Constantes de WordPress y sus plugins: Incompatibilidades y soluciones

WordPress, como una de las plataformas de gestión de contenido más populares del mundo, está en constante evolución. Las actualizaciones frecuentes del núcleo de WordPress y sus plugins son esenciales para mejorar la funcionalidad, la seguridad y la experiencia del usuario. Sin embargo, estas actualizaciones también pueden traer consigo problemas de incompatibilidad que pueden afectar el funcionamiento del sitio web, incluyendo la posibilidad de que no se pueda acceder ni al backend. En este artículo, exploraremos las causas de estas incompatibilidades y proporcionaremos una guía sobre cómo desactivar todos los plugins a través de la base de datos para recuperar el acceso al backend.

La Importancia de las Actualizaciones en WordPress

Seguridad
Las actualizaciones regulares son fundamentales para mantener la seguridad del sitio web. Las vulnerabilidades en el núcleo de WordPress o en los plugins pueden ser explotadas por atacantes para comprometer el sitio. Por lo tanto, los desarrolladores lanzan actualizaciones para corregir estas fallas de seguridad.

Funcionalidad
Las actualizaciones también traen nuevas características y mejoras de rendimiento. Estas pueden incluir desde mejoras en la interfaz de usuario hasta optimizaciones en el código que hacen que el sitio web sea más rápido y eficiente.

Compatibilidad
A medida que el entorno tecnológico evoluciona, las actualizaciones aseguran que WordPress y sus plugins sigan siendo compatibles con las últimas versiones de PHP, navegadores web y otros componentes de software.

Problemas de Incompatibilidad

Incompatibilidades entre Plugins
Las actualizaciones de plugins pueden causar conflictos entre ellos. Esto puede suceder si un plugin se actualiza para ser compatible con la última versión de WordPress, pero otro plugin aún no ha sido actualizado para soportar esa misma versión.

Dependencias de Versiones
Algunos plugins dependen de versiones específicas del núcleo de WordPress o de otros plugins. Si se actualiza el núcleo de WordPress, pero los plugins dependientes no se actualizan, esto puede causar problemas de compatibilidad.

Acceso al Backend (Error crítico)
Una de las consecuencias más frustrantes de estas incompatibilidades es la imposibilidad de acceder al backend de WordPress. Esto puede suceder cuando un conflicto de plugins o una incompatibilidad con el núcleo de WordPress causa un error fatal que bloquea el acceso al panel de administración.

Solución: Desactivar Plugins Mediante la Base de Datos

Cuando no puedes acceder al backend de WordPress debido a un problema de compatibilidad, una solución es desactivar todos los plugins a través de la base de datos. A continuación, se detalla cómo hacerlo:

Paso 1: Acceder a phpMyAdmin

  1.  Accede al Panel de Control de tu Hosting
    1. Inicia sesión en el panel de control de tu proveedor de hosting (cPanel, Plesk, etc.).
  2. Abrir phpMyAdmin
    1. Busca y selecciona phpMyAdmin para gestionar las bases de datos de tu sitio web.

Paso 2: Seleccionar la Base de Datos de WordPress

  1. Selecciona la Base de Datos de tu wordpress. Si solo tienes un blog, será (probablemente) la única que haya
    1. En phpMyAdmin, selecciona la base de datos que corresponde a tu instalación de WordPress. El nombre de la base de datos generalmente se puede encontrar en el archivo `wp-config.php` en el directorio raíz de tu sitio WordPress.

Paso 3: Editar la Tabla `wp_options`

  1. Encontrar la Tabla `wp_options`
    1. En la lista de tablas, busca y selecciona `wp_options` (el prefijo `wp_` puede variar si has cambiado el prefijo de tu base de datos).
  2. Editar la Fila `active_plugins`
    1. Busca la fila con el `option_name` que es `active_plugins`. Esto puede estar en la primera página de resultados o deberás buscarla entre las diferentes páginas de la tabla.
  3. Modificar el Valor de `active_plugins`
    1. Edita esta fila y cambia el valor del campo `option_value` a: `a:0:{}`. Este cambio desactivará todos los plugins.

Paso 4: Verificar el Acceso al Backend

  1. Acceder al Backend
    1. Una vez que hayas realizado los cambios en la base de datos, intenta acceder nuevamente al panel de administración de WordPress. Deberías poder iniciar sesión sin problemas ahora que todos los plugins están desactivados.

Paso 5: Reactivar los Plugins uno por uno

  1. Reactiva los Plugins
    1. Desde el panel de administración de WordPress, ve a la sección de plugins y reactiva los plugins uno por uno. Esto te permitirá identificar cuál plugin está causando el problema de compatibilidad.
  2. Solucionar Problemas de Incompatibilidad
    1. Una vez identificado el plugin problemático, puedes buscar una actualización para el mismo, contactar al desarrollador del plugin para soporte, o considerar usar un plugin alternativo que ofrezca la misma funcionalidad sin causar conflictos.

Conclusión

Las actualizaciones constantes de WordPress y sus plugins son esenciales para la seguridad y el rendimiento, pero pueden traer problemas de incompatibilidad. Desactivar todos los plugins a través de la base de datos es una solución eficaz cuando estas incompatibilidades impiden el acceso al backend. Siguiendo los pasos descritos, puedes recuperar el control de tu sitio web y gestionar las actualizaciones de manera más efectiva para evitar futuros conflictos.

Por todo ello es muy importante que cuando instales wordpress, guardes a buen recaudo el nombre de la base de datos, el usuario de acceso a la misma y su contraseña.

Como crear temas ‘child’ en WordPress

Como crear temas ‘child’ en WordPress

Los temas child en WordPress sirven para no perder cambios que hayamos realizado en nuestro tema activo cunado lo actualicemos. Algunas veces ‘tocamos’ algo de nuestro tema WordPress para adaptarlo a nuestros gustos y/o necesidades y cuando nos llega una actualización del tema…. lo perdemos todo!!. Nos queda otra vez como al principio y, por supuesto, no nos acordamos de dónde puñetas hicimos los cambios.   Para evitar este dolor de cabeza, WordPress nos da una solución: Los temas ‘child’ (hijos). No, no es un tema completo. Es un tema en el que sólo incluiremos aquellos ficheros que vayamos a modificar.

(más…)