Tu web es WordPress: cinco cosas que tienes que revisar cada mes

Tabla de contenidos

WordPress es fantástico. Es flexible, se puede editar sin saber programar y mueve una parte enorme de internet. Pero tiene una condición: hay que cuidarlo. Una web WordPress abandonada es como un coche sin revisiones: funciona perfectamente, hasta que no.

Lo decimos con conocimiento de causa. En septiembre nuestra propia web sufrió un ataque de malware. Lo detectamos, lo limpiamos y aprendimos. Esta es la lista que revisamos cada mes, y la que te recomendamos.

La respuesta corta

Una vez al mes, revisa estas cinco cosas en tu web WordPress: actualizaciones (WordPress, tema, plugins y PHP), copias de seguridad, seguridad (usuarios y avisos de malware), velocidad en el móvil y que los formularios y el contacto funcionen. Te lleva media hora y te ahorra disgustos.

1. Actualizaciones

La mayoría de ataques aprovechan fallos ya conocidos y ya corregidos. Si no actualizas, la puerta sigue abierta.

  • Actualiza WordPress, el tema y los plugins.
  • Borra los plugins que no uses, aunque estén desactivados. Un plugin olvidado es un agujero olvidado.
  • Revisa la versión de PHP del servidor. Es el motor de tu web, y también tiene fallos de seguridad. En octubre de 2026 salió uno de los más graves de su historia: te lo contamos en PHP2Shell: qué pasó y qué hacer.

Un consejo: antes de actualizar, haz una copia de seguridad. Y si tu web es importante para el negocio, prueba las actualizaciones grandes en una copia antes de aplicarlas en la web real.

2. Copias de seguridad

La pregunta no es si tienes copias, sino si funcionan.

  • Comprueba que se hacen de forma automática y con la frecuencia adecuada.
  • Asegúrate de que se guardan fuera del servidor de la web. Si el servidor cae, las copias que están dentro caen con él.
  • Una vez cada tanto, prueba a restaurar una. Una copia que nunca se probó es una esperanza, no una copia.

3. Seguridad

  • Revisa la lista de usuarios administradores. Si hay alguno que no reconoces, es una alarma.
  • Mira los avisos del escáner de malware de tu hosting, si lo tiene.
  • Usa contraseñas largas y únicas, y activa la verificación en dos pasos.
  • Busca en Google site:tudominio.com y fíjate si aparecen páginas que no creaste. Es una señal típica de infección.

4. Velocidad en el móvil

Las webs se van llenando de cosas con el tiempo: imágenes pesadas, plugins nuevos, scripts de terceros. Y un día carga lenta y nadie sabe por qué.

  • Mide tu web una vez al mes con PageSpeed Insights, en la pestaña de móvil.
  • Si la nota baja de golpe, revisa qué cambió ese mes.

Te contamos cómo hacerlo en por qué tu web no vende: la velocidad.

5. Que el contacto funcione

Parece obvio, y por eso nadie lo revisa. Hasta que descubres que el formulario lleva dos meses sin enviar nada.

  • Envía un mensaje de prueba desde cada formulario.
  • Comprueba que el botón de WhatsApp abre el chat correcto.
  • Revisa que los emails automáticos no estén cayendo en spam.

Lo que aprendimos del malware

  • Te enteras tarde. El malware no avisa. Lo que más ayuda es revisar con regularidad.
  • Afecta más que la seguridad. Puede crear páginas basura, perjudicar tu posición en Google y hacer que las IAs vean una web distinta de la que ves tú.
  • Limpiar no basta. Hay que cerrar la puerta por la que entraron: contraseñas, plugins y actualizaciones.

En resumen

Media hora al mes es todo lo que necesita una web WordPress para estar sana. Es poco comparado con lo que cuesta arreglarla cuando algo se rompe.

Si prefieres no tener que acordarte, escríbenos y vemos cómo podemos ayudarte a mantenerla.

") O en un plugin tipo "Insert Headers and Footers" ============================================ */document.addEventListener('DOMContentLoaded', function () {/* 1. Crear los elementos del cursor una sola vez */ var glow = document.createElement('div'); glow.id = 'custom-cursor-glow'; document.body.appendChild(glow);var cursor = document.createElement('div'); cursor.id = 'custom-cursor'; cursor.innerHTML = ''; document.body.appendChild(cursor);var cursorIcon = cursor.querySelector('i'); var cursorText = cursor.querySelector('span');/* 2. Config por variante: tamaño del circulo y tamaño de fuente al activarse */ var VARIANT_SIZE = { 'cursor-solid': 72, 'cursor-gradient': 72, 'cursor-glass': 66, 'cursor-outline': 66, 'cursor-square': 80, 'cursor-blur': 74, 'cursor-glow': 60, 'cursor-icon': 76 }; var VARIANT_FONT = { 'cursor-solid': 11, 'cursor-gradient': 11, 'cursor-glass': 11, 'cursor-outline': 10, 'cursor-square': 11, 'cursor-blur': 10, 'cursor-glow': 11, 'cursor-icon': 9 }; var ALL_VARIANTS = Object.keys(VARIANT_SIZE);/* 3. Movimiento con retardo (lerp) */ var mouseX = 0, mouseY = 0; var curX = 0, curY = 0; var ease = 0.16; var currentSize = 0; var targetSize = 0; var glowExtra = 30;document.addEventListener('mousemove', function (e) { mouseX = e.clientX; mouseY = e.clientY; });function loop() { curX += (mouseX - curX) * ease; curY += (mouseY - curY) * ease; currentSize += (targetSize - currentSize) * ease;cursor.style.opacity = currentSize > 0.5 ? '1' : '0'; cursor.style.width = currentSize + 'px'; cursor.style.height = currentSize + 'px'; cursor.style.transform = 'translate(' + (curX - currentSize / 2) + 'px,' + (curY - currentSize / 2) + 'px)'; var glowSize = currentSize > 0 ? currentSize + glowExtra : 0; glow.style.width = glowSize + 'px'; glow.style.height = glowSize + 'px'; glow.style.transform = 'translate(' + (curX - glowSize / 2) + 'px,' + (curY - glowSize / 2) + 'px)';requestAnimationFrame(loop); } loop();/* 4. Detectar hover sobre cualquier elemento con alguna clase cursor-* */ var selector = ALL_VARIANTS.map(function (v) { return '.' + v; }).join(', ');document.addEventListener('mouseover', function (e) { var target = e.target.closest(selector); if (!target) return;var variant = ALL_VARIANTS.find(function (v) { return target.classList.contains(v); }); if (!variant) return;/* limpia variantes anteriores y aplica la actual */ ALL_VARIANTS.forEach(function (v) { cursor.classList.remove(v); }); ALL_VARIANTS.forEach(function (v) { document.body.classList.remove(v); }); cursor.classList.add(variant); document.body.classList.add(variant, '__active'); target.classList.add('__active');targetSize = VARIANT_SIZE[variant] || 70;var text = target.getAttribute('data-cursor-text') || ''; var iconClass = target.getAttribute('data-cursor-icon') || ''; cursorText.textContent = text; cursorText.style.fontSize = text ? (VARIANT_FONT[variant] || 11) + 'px' : '0px'; cursorIcon.className = iconClass; cursorIcon.style.fontSize = iconClass ? (variant === 'cursor-icon' ? 16 : 14) + 'px' : '0px'; });document.addEventListener('mouseout', function (e) { var target = e.target.closest(selector); if (!target) return; var related = e.relatedTarget; if (related && target.contains(related)) return;target.classList.remove('__active'); document.body.classList.remove('__active'); ALL_VARIANTS.forEach(function (v) { document.body.classList.remove(v); }); targetSize = 0; cursorText.style.fontSize = '0px'; cursorIcon.style.fontSize = '0px'; });});