Evaluación inicial sin contraseñas Presupuesto antes de intervenir Especialista responsable de principio a fin

Measurement And Symptom Isolation

Por qué WordPress va rápido para ti pero lento para los visitantes

Descubre por qué WordPress parece rápido en tu ordenador pero falla a clientes por caché, ubicación, móvil o diferencias entre datos reales y pruebas.

Abres la portada, visitas un producto y todo responde enseguida. Sin embargo, un cliente afirma que la web tarda. Las dos experiencias pueden ser ciertas: tu visita usa tu dispositivo, conexión, ubicación, cookies y, a menudo, una caché ya preparada. Un usuario nuevo con un móvil medio recorre otro camino.

La investigación no consiste en decidir quién tiene razón, sino en encontrar la condición que separa las visitas rápidas de las lentas.

Definir exactamente qué significa «lento»

Pide una URL, una acción y un momento concretos. No es lo mismo una pantalla en blanco inicial que una imagen principal tardía, un menú bloqueado, una búsqueda lenta o un checkout que se detiene tras introducir la dirección.

Cada síntoma apunta a una capa diferente. Un primer byte lento puede proceder de PHP, MySQL o una API; una página que llega rápido pero tarda en reaccionar suele exigir revisar imágenes, CSS, JavaScript, fuentes y terceros. Instalar otro plugin de optimización antes de aislar el retraso puede ocultar la causa.

Comparar caché fría y caliente

Tus visitas repetidas pueden aprovechar HTML en caché, recursos guardados en el navegador, DNS resuelto, conexión TLS abierta y el nodo CDN ya poblado. El primer visitante quizá no tenga ninguna de esas ventajas.

Prueba la URL exacta en una ventana privada, aunque eso no garantiza que la caché del servidor o CDN esté vacía. Comprueba las cabeceras:

curl -q --silent --show-error --max-time 20 --dump-header - --output /dev/null https://example.com/pagina/

Busca valores como cache-control, age, x-cache, cf-cache-status o la cabecera propia del hosting. Si una petición repetida muestra HIT y la primera MISS, ya existe una diferencia medible.

Separar el servidor de la carga visual

Mide el tiempo hasta el primer byte aparte del tiempo total:

curl -q --silent --show-error --max-time 20 --output /dev/null --write-out 'http=%{http_code} dns_s=%{time_namelookup} connect_s=%{time_connect} tls_s=%{time_appconnect} first_byte_s=%{time_starttransfer} total_s=%{time_total}\n' https://example.com/pagina/

En Windows PowerShell, usa curl.exe y NUL:

curl.exe -q --silent --show-error --max-time 20 --output NUL --write-out 'http=%{http_code} first_byte_s=%{time_starttransfer} total_s=%{time_total}\n' https://example.com/pagina/

En PowerShell utiliza curl.exe. Repite la medición varias veces; una sola ejecución no demuestra nada. Si el primer byte es alto de forma consistente, revisa WordPress, PHP, consultas MySQL, llamadas externas y capacidad del hosting. Si el HTML comienza pronto pero la página aparece tarde, analiza el trabajo del navegador.

Probar desde la ubicación y el dispositivo del público

Una web alojada en Europa puede parecer inmediata en Barcelona y tardar mucho más en América o Australia. Prueba desde una región parecida a la del visitante y compara primer byte, Largest Contentful Paint, bytes transferidos, número de peticiones, estado de caché y recurso más lento.

Un portátil moderno con fibra también oculta trabajo que un teléfono tarda en descargar, interpretar y dibujar. En las herramientas del navegador aplica una vista móvil y limitación razonable de CPU y red. Revisa si:

  • la imagen principal empieza a descargarse demasiado tarde;
  • se envía una imagen de escritorio a una pantalla estrecha;
  • un script ocupa el hilo principal;
  • las fuentes bloquean el texto;
  • el gestor de consentimiento retrasa funciones;
  • el diseño salta cuando llegan recursos tardíos.

Comparar usuarios conectados y visitantes nuevos

Los administradores suelen probar con la sesión abierta. Muchos sistemas excluyen de la caché las peticiones con cookie de usuario; además, la barra de administración y ciertos plugins añaden recursos. A la vez, algunos anuncios, consentimientos o scripts públicos pueden no ejecutarse para el administrador.

Compara cuatro estados: administrador conectado, usuario desconectado, primera visita sin cookies y visita repetida con recursos cacheados. Optimiza el recorrido comercial afectado, no el estado que produzca la cifra más llamativa.

Entender laboratorio y usuarios reales

PageSpeed Insights puede mostrar una prueba de laboratorio controlada y datos de campo agregados de visitas reales de Chrome. Pueden discrepar porque cambian dispositivos, redes, ubicaciones, páginas, caché, consentimiento y periodo histórico.

Comprobar plantillas y recorridos distintos

WordPress no es una sola página. Crea un conjunto reducido con portada, página de servicio, landing más pesada, búsqueda, producto, carrito, checkout y área de cuenta cuando existan.

Si solo falla una plantilla, una migración o cambio global de caché resulta excesivo. Un producto puede enviar todas sus variaciones mediante JavaScript mientras el resto del sitio funciona bien. Reparar esa plantilla es más seguro que reconstruir toda la configuración.

También busca presión intermitente: copias, cron, picos de tráfico o falta de procesos PHP pueden hacer que la web funcione bien justo cuando el administrador la revisa.

Conservar evidencias antes de cambiar

No apiles plugins, minificación y varias cachés ni cambies de servidor sin un caso rápido y otro lento comparables. Esos cambios pueden romper JavaScript, cachear páginas dinámicas de WooCommerce y borrar la evidencia original.

Anota URL, país, dispositivo, hora, primera o sucesivas visitas, estado de sesión, cascada disponible y cambios recientes. Añade cabeceras de una petición rápida y otra lenta. No envíes contraseñas inicialmente.

El resultado correcto no es que la portada alcance 95 una vez. Es que el recorrido del visitante afectado mejore de forma medible y se entienda por qué. La solución puede ser reducir el primer byte, corregir imágenes adaptables, retirar trabajo del navegador, excluir checkout de la caché o reprogramar una tarea pesada. El cambio mínimo verificado suele ser más fiable que activar un paquete completo de optimizaciones.

Observación del HTML y estados de visitante que faltan por probar

El 24 de octubre de 2026 a las 23:40 UTC hicimos tres GET por perfil de User-Agent a la versión inglesa de esta guía, desde un cliente Python sin cookies ni autenticación. Los seis devolvieron 200. El tiempo hasta el primer byte del cuerpo fue 149,99; 143,91 y 139,68 ms con User-Agent de escritorio, y 152,73; 130,82 y 149,49 ms con el móvil.

Este tiempo incluye conexión y preparación de la respuesta. No es el TTFB de Navigation Timing, una carga completa ni una comparación de dispositivos reales. No cargamos recursos, ejecutamos JavaScript, vaciamos cachés de producción ni probamos cuentas conectadas. Repetir peticiones no demuestra caché fría o caliente; las huellas del cuerpo variaron, por lo que tampoco acredita contenido idéntico.

La conclusión se limita a esas peticiones anónimas de HTML satisfactorias bajo las condiciones registradas. No descartan lentitud de menú, renderizado móvil o sesión personalizada. La explicación de web.dev sobre laboratorio y campo ayuda a separar esas poblaciones.

Conserva URL y contenido al comparar una visita anónima nueva, una recurrente, el consentimiento y una sesión iniciada autorizada. Registra navegador, viewport, red y evidencia de caché. Los dos experimentos de abajo ya miden el consentimiento guardado y los estados nuevo, recurrente y autenticado con perfiles de escritorio y móvil emulado. El teléfono físico y la acción afectada de un cliente necesitan una reproducción representativa.

El ejemplo observado de PageSpeed en escritorio y móvil responde otra pregunta de carga inicial. No restes estos tiempos HTTP de su LCP: cambian cliente y condiciones. Solicita un diagnóstico de rendimiento con URL, acción y sesión concretas para definir la comparación pertinente.

ANTES DE ENVIAR LA SOLICITUD

Preguntas frecuentes.

¿Pedís contraseñas en el formulario?+

No. El formulario público nunca solicita accesos. Los datos seguros se piden únicamente después de aprobar el alcance y el presupuesto.

¿Quién revisa la incidencia?+

La solicitud llega a Jordi Ensenyat, fundador de Code Barcelona y especialista WordPress con más de 15 años de experiencia.

¿Se cambia algo antes del presupuesto?+

No. Primero se revisan los síntomas visibles y se define el alcance. La intervención empieza tras la aprobación y con una vía de vuelta preparada.

¿Trabajáis con webs en inglés y fuera de España?+

Sí. WP Repair atiende incidencias WordPress y WooCommerce en inglés y español, con servicio remoto.

Evaluar mi incidencia↗