¿Qué es el mantenimiento web y por qué importa en 2026?
El mantenimiento web es el conjunto de tareas periódicas que mantienen un sitio web seguro, rápido, posicionado y funcional. No es un servicio opcional ni un «añadido»: es la diferencia entre una web que genera negocio y una web que genera problemas.
En 2026, el contexto ha cambiado respecto a años anteriores en cuatro dimensiones:
- El ecosistema WordPress es más atacado que nunca. Con el 43% de la web global corriendo sobre WordPress (W3Techs, enero 2026), es el objetivo número uno de bots automatizados. WPScan tiene catalogadas más de 57.000 vulnerabilidades conocidas, y se publican entre 15 y 25 nuevas cada semana.
- Core Web Vitals afectan directamente al ranking. Google usa LCP, INP y CLS como señales de ranking desde 2024. Una web lenta no solo frustra a los usuarios: posiciona peor. Sin mantenimiento de rendimiento, tu posición en Google se erosiona mes a mes.
- La IA indexa tu contenido. ChatGPT, Perplexity y Google AI Overviews rastrean webs para responder preguntas. Si tu sitemap tiene errores, si tu contenido no carga correctamente o si tienes errores 404 no resueltos, quedas fuera de esa capa de visibilidad emergente.
- La regulación de datos ha endurecido las multas. La AEPD ha incrementado sus inspecciones de oficio. Una política de privacidad desactualizada o un aviso de cookies mal implementado puede costar entre 900€ y 20.000€ en sanciones para una pyme.
Tipos de mantenimiento web
| Tipo | Frecuencia | Ejemplo de tareas |
|---|---|---|
| Técnico | Semanal/mensual | Actualizaciones core, plugins, PHP, backups |
| Seguridad | Continuo + mensual | Firewall WAF, escaneo malware, 2FA, logs |
| Rendimiento | Mensual/trimestral | Caché, CDN, optimización imágenes, BBDD |
| SEO técnico | Mensual | Errores 404, sitemap, rastreabilidad, robots.txt |
| Contenido | Trimestral/anual | Textos legales, fotos desactualizadas, copys |
| Uptime | Continuo | Monitorización 24/7, alertas caídas |
Sin un plan que cubra todos estos tipos, el riesgo se acumula silenciosamente hasta que algo explota: un hackeo, una penalización de Google, una caída que dura horas sin que nadie se entere.
Anatomía de una web mal mantenida (señales)
Antes de hablar de qué hacer, conviene reconocer los síntomas. Una web mal mantenida suele mostrar varios de estos indicadores, a veces todos a la vez:
Señales de alarma técnicas
- «Este plugin tiene una actualización disponible» — y lleva meses sin actualizarse. Un plugin desactualizado no es solo un problema de funcionalidad: es un vector de ataque abierto. Wordfence reporta que el 97% de los ataques a WordPress explotan vulnerabilidades conocidas en plugins y themes, no zero-days.
- PHP desactualizado. PHP 7.4 llegó al end-of-life en noviembre 2022. Si tu web corre sobre PHP 7.4 o inferior en 2026, no recibe parches de seguridad. PHP 8.1 está en soporte activo hasta finales de 2025; PHP 8.2 y 8.3 son los mínimos recomendados en 2026.
- Certificado SSL caducado o con advertencias. Chrome y Firefox muestran «Conexión no segura» en pantalla completa. El porcentaje de rebote en esas situaciones supera el 85%.
- Tiempo de carga superior a 3 segundos. El 53% de los usuarios móviles abandona una web que tarda más de 3 segundos (Google, 2024). Si no hay nadie optimizando rendimiento periódicamente, las webs se degradan solas a medida que se añade contenido.
Señales de alarma de negocio
- Formularios que no llegan. Un cambio en el servidor de correo, un plugin de SMTP desconfigurado o un filtro antispam agresivo puede hacer que los formularios de contacto no lleguen durante semanas sin que nadie lo note.
- Links rotos internos. Páginas eliminadas sin redirección, productos descatalogados sin 301, links a URLs antiguas. Google Penalizes heavily páginas con muchos errores 404 internos.
- Política de privacidad del año de la polka. «Según la Ley 15/1999 LOPD...» en 2026 es una señal inequívoca de abandono. La normativa vigente es el RGPD y la LOPDGDD; la LOPD fue derogada en 2018.
- Horarios, precios o servicios incorrectos. Un cambio de horario no actualizado en la web puede derivar en reseñas negativas de clientes que se presentaron en horario erróneo.
Señales de alarma de seguridad
- Redirecciones inesperadas a webs de terceros (síntoma clásico de inyección de spam SEO).
- Google Search Console muestra «Esta web puede haber sido hackeada».
- El hosting te avisa de uso anómalo de recursos o de un archivo .php sospechoso.
- Aparecen páginas en el sitemap que nunca creaste (farmacéuticas, casinos, etc.).
Si reconoces más de 3 de estas señales, el mantenimiento reactivo ya no es suficiente: necesitas una auditoría y un plan estructurado.
Mantenimiento técnico: actualizaciones WordPress core, plugins, themes
Las actualizaciones son el pilar del mantenimiento técnico. El proceso correcto no es simplemente pulsar «Actualizar todo» en el panel de WordPress: es un flujo con entorno de staging, tests funcionales y rollback planificado.
Flujo correcto de actualizaciones
- Backup completo ANTES de actualizar (ver sección de backups). Nunca actualices sin snapshot previo.
- Actualizar en staging primero si la web tiene WooCommerce o plugins de pago activos.
- Orden correcto: PHP → WordPress Core → Plugins → Themes. El core siempre antes que los plugins para evitar incompatibilidades.
- Test funcional post-actualización: home, formulario de contacto, proceso de compra (si hay tienda), login.
- Deploy a producción si staging pasa los tests.
Comandos WP-CLI para mantenimiento
WP-CLI es la herramienta de línea de comandos oficial de WordPress. Con acceso SSH al servidor, estos son los comandos de mantenimiento más útiles:
# Ver versiones actuales y pendientes de actualización
wp core version
wp plugin list --update=available --format=table
wp theme list --update=available --format=table
# Actualizar WordPress core
wp core update
wp core update-db
# Actualizar todos los plugins (sin confirmación interactiva)
wp plugin update --all
# Actualizar un plugin específico
wp plugin update woocommerce
# Actualizar themes
wp theme update --all
# Limpiar caché tras actualizaciones
wp cache flush
wp rewrite flush
# Verificar integridad de archivos core de WordPress
wp core verify-checksums
# Listar plugins activos con versión
wp plugin list --status=active --fields=name,version,update,update_version
# Optimizar base de datos
wp db optimize
# Limpiar revisiones antiguas de posts (libera espacio BBDD)
wp post delete $(wp post list --post_type=revision --format=ids) --force
# Limpiar transients caducados
wp transient delete --expired
# Ver tamaño de la base de datos por tabla
wp db size --tables --format=tableGestión de versiones PHP
PHP es el motor de WordPress. La gestión de versiones PHP es crítica porque los saltos de versión pueden romper plugins incompatibles:
| Versión PHP | Estado en 2026 | Recomendación |
|---|---|---|
| PHP 7.4 | EOL desde nov 2022 | Migrar urgente, sin parches de seguridad |
| PHP 8.0 | EOL desde nov 2023 | Migrar urgente |
| PHP 8.1 | Security only hasta dic 2025 | Migrar a 8.2+ |
| PHP 8.2 | Activo, soporte hasta dic 2026 | Mínimo recomendado |
| PHP 8.3 | Activo, soporte hasta dic 2027 | Recomendado para webs nuevas |
| PHP 8.4 | Activo desde nov 2024 | Estable, para early adopters |
Antes de migrar PHP, ejecuta: wp plugin list --format=csv junto con el plugin PHP Compatibility Checker o usa una herramienta como PHP Compatibility Checker (plugin) para detectar código incompatible.
Política de actualizaciones: automáticas vs manuales
WordPress permite configurar actualizaciones automáticas. La configuración recomendada para una web de negocio:
# En wp-config.php
# Actualizaciones menores de seguridad: SÍ automático
define('WP_AUTO_UPDATE_CORE', 'minor');
# Las actualizaciones mayores (5.x → 6.x) NUNCA automáticas
# Los plugins críticos (WooCommerce, Elementor) NUNCA automáticos sin stagingPara plugins, usa un plugin como Easy Updates Manager para control granular: automático para plugins simples, manual para plugins que tocan transacciones o layouts.
Backup WordPress automático (estrategia 3-2-1)
El backup no es mantenimiento: es el seguro de vida de tu web. La estrategia 3-2-1 es el estándar de la industria y el mínimo que cualquier web de negocio debería implementar.
La estrategia 3-2-1 explicada
- 3 copias de tus datos en total.
- 2 soportes diferentes (servidor + nube externa).
- 1 copia offsite, fuera del entorno de producción.
Aplicado a WordPress:
- Copia 1: Backup diario en el mismo servidor de hosting (copia local rápida).
- Copia 2: Backup semanal en un proveedor cloud externo (Amazon S3, Backblaze B2, Google Cloud Storage).
- Copia 3: Backup mensual descargado y archivado en local (ordenador o NAS propio).
Qué debe incluir un backup completo
Un backup de WordPress tiene dos componentes inseparables. Hacer backup solo de la base de datos o solo de los archivos es un backup incompleto que puede no servirte en el momento que más lo necesitas:
- Base de datos MySQL: todo el contenido de WordPress (posts, páginas, opciones, usuarios, pedidos si hay WooCommerce).
- Archivos del servidor: wp-content/ completo (plugins, themes, uploads — tus imágenes y documentos), wp-config.php y el directorio raíz.
Herramientas de backup recomendadas
| Herramienta | Tipo | Destinos cloud | Coste | Mejor para |
|---|---|---|---|---|
| UpdraftPlus Premium | Plugin WP | S3, Dropbox, GDrive, B2 | ~70€/año | La mayoría de webs |
| BackupBuddy | Plugin WP | S3, BackupBuddy Stash | ~99€/año | Webs con muchos archivos |
| WP Time Capsule | Plugin WP | S3, Dropbox, GDrive | ~49€/año | Backups incrementales |
| BlogVault | SaaS externo | Propio + S3 | ~89€/año | Agencias con múltiples webs |
| rsync + cron | Script servidor | Cualquiera con SSH | Solo coste almacenamiento | Técnicos con acceso SSH |
Backup con WP-CLI + rsync (producción real)
#!/bin/bash
# Script backup WordPress — ejecutar via cron
DATE=$(date +%Y%m%d_%H%M%S)
SITE="midominio.com"
WP_PATH="/var/www/html/"
BACKUP_DIR="/backups/wordpress/"
S3_BUCKET="s3://mi-bucket-backups/$SITE/"
# 1. Backup base de datos
wp --path=$WP_PATH db export "$BACKUP_DIR${SITE}_db_${DATE}.sql" --add-drop-table
# 2. Comprimir archivos wp-content
tar -czf "$BACKUP_DIR${SITE}_files_${DATE}.tar.gz" \
--exclude="$WP_PATH/wp-content/cache" \
--exclude="$WP_PATH/wp-content/upgrade" \
"$WP_PATH/wp-content/"
# 3. Subir a S3 (requiere AWS CLI configurado)
aws s3 sync $BACKUP_DIR $S3_BUCKET \
--storage-class STANDARD_IA \
--delete
# 4. Limpiar backups locales con más de 7 días
find $BACKUP_DIR -name "${SITE}_*" -mtime +7 -delete
echo "[$(date)] Backup completado: $DATE" >> /var/log/wp-backups.logFrecuencia recomendada según tipo de web
| Tipo de web | Frecuencia BBDD | Frecuencia archivos | Retención |
|---|---|---|---|
| Blog/brochure | Diaria | Semanal | 30 días |
| Web con formularios | Diaria | Semanal | 30 días |
| Tienda WooCommerce | Cada 4-6h | Diaria | 90 días |
| Web con membresías | Cada 4h | Diaria | 90 días |
Test de restauración: el paso que nadie hace
Un backup no probado no es un backup: es un archivo comprimido del que no sabes si sirve. La restauración debe probarse al menos una vez al trimestre. Proceso de test:
- Crear un subdominio de prueba: staging.tudominio.com.
- Restaurar el backup en ese staging.
- Verificar que la web carga, el panel de WP es accesible y los datos están completos.
- Documentar cuánto tarda la restauración completa (ese es tu RTO real).
Seguridad WordPress 2026: firewall, hardening, 2FA, monitoring
La seguridad WordPress en 2026 no se implementa una vez y se olvida: es un proceso continuo. Los atacantes automatizan sus escaneos; si algo falla, lo explotan en minutos. El objetivo del hardening es aumentar el coste del ataque hasta que el bot pase al siguiente objetivo más fácil.
Capas de seguridad WordPress
- WAF (Web Application Firewall): filtra tráfico malicioso antes de que llegue a PHP.
- Hardening del core: desactivar funciones innecesarias, proteger archivos sensibles.
- Autenticación robusta: 2FA, contraseñas seguras, protección del login.
- Monitorización activa: alertas en tiempo real de cambios de archivos y logins fallidos.
- Actualizaciones continuas: ventana de exposición mínima entre vulnerabilidad publicada y parche aplicado.
Firewall WAF: opciones
| Solución | Tipo | Coste | Pros |
|---|---|---|---|
| Cloudflare Free | DNS proxy | Gratis | Oculta IP real, DDoS básico |
| Cloudflare Pro | DNS proxy | 20$/mes | WAF avanzado, bot management |
| Wordfence Premium | Plugin WP | ~119$/año | Reglas en tiempo real, threat feed |
| Sucuri Firewall | Proxy web | ~199$/año | Limpieza incluida, CDN |
| NinjaFirewall | Plugin WP (pre-PHP) | ~59$/año | Filtra antes de cargar WP |
Hardening WordPress: configuraciones críticas
# Proteger wp-config.php en .htaccess
<files wp-config.php>
order allow,deny
deny from all
</files>
# Bloquear acceso directo a /wp-admin/ por IP
<Files wp-login.php>
Order deny,allow
Deny from all
Allow from 1.2.3.4
</Files>
# Bloquear ejecución de PHP en uploads
<Directory "/var/www/html/wp-content/uploads">
<Files "*.php">
Order deny,allow
Deny from all
</Files>
</Directory>
# Desactivar XML-RPC si no lo usas
# En functions.php del theme hijo:
add_filter('xmlrpc_enabled', '__return_false');
# Ocultar versión de WordPress
remove_action('wp_head', 'wp_generator');Configuraciones WP-CLI para hardening
# Verificar usuarios con rol Administrator
wp user list --role=administrator --format=table
# Forzar cambio de contraseña a todos los admins
wp user list --role=administrator --format=ids | \
xargs -I{} wp user update {} --user_pass=$(openssl rand -base64 16)
# Detectar archivos PHP en uploads (síntoma de webshell)
find /var/www/html/wp-content/uploads -name "*.php" -type f
# Comparar checksums de archivos core con los oficiales
wp core verify-checksums
# Escanear plugins contra base de datos de vulnerabilidades
wp plugin list --format=csv | wpscan --stdin --format cli-no-colour
# Ver intentos de login fallidos (con plugin de log activo)
wp db query "SELECT user_login, COUNT(*) as intentos FROM wp_wfHits
WHERE actionDescription LIKE '%login%' AND attackLogTime > UNIX_TIMESTAMP(NOW()-86400)
GROUP BY user_login ORDER BY intentos DESC LIMIT 10;"2FA (Autenticación en dos pasos)
El 2FA es la medida con mejor ratio coste/beneficio en seguridad WordPress. Implementaciones recomendadas:
- WP 2FA (plugin gratuito): compatible con Google Authenticator, Authy. Fácil de configurar, permite forzar 2FA a roles específicos.
- Wordfence Login Security (incluido en Wordfence): 2FA + reCAPTCHA + bloqueo por país.
- A nivel servidor con Google Authenticator PAM: protege también el acceso SSH y cPanel.
Monitoring de seguridad
Alertas que debes configurar:
- Cambio en archivos core de WordPress (Wordfence file integrity monitoring).
- Nuevo usuario administrador creado.
- Más de 5 intentos de login fallidos desde la misma IP en 1 hora.
- Plugin o theme desactivado/eliminado inesperadamente.
- Cambio en wp-config.php o .htaccess.
Optimización rendimiento (caché, CDN, imágenes, BBDD)
El rendimiento web no es solo experiencia de usuario: desde mayo 2021, los Core Web Vitals son señal de ranking en Google. En 2026, con INP (Interaction to Next Paint) sustituyendo a FID, el umbral de rendimiento se ha endurecido. Una web que no pasa los CWV pierde posiciones gradualmente frente a competidores que sí los pasan.
Core Web Vitals 2026: umbrales
| Métrica | Bueno | Necesita mejorar | Malo |
|---|---|---|---|
| LCP (Largest Contentful Paint) | <2.5s | 2.5s - 4.0s | >4.0s |
| INP (Interaction to Next Paint) | <200ms | 200ms - 500ms | >500ms |
| CLS (Cumulative Layout Shift) | <0.1 | 0.1 - 0.25 | >0.25 |
Stack de optimización de rendimiento
1. Caché
- WP Rocket (~49$/año): page cache, minificación CSS/JS, preload, lazy load. La solución más completa con menor fricción de configuración.
- LiteSpeed Cache (gratis): si tu hosting usa LiteSpeed web server. Caché a nivel servidor, muy eficiente.
- W3 Total Cache (gratis, complejo): para quien necesita control granular y tiene conocimientos técnicos.
2. CDN
Un CDN distribuye tu contenido estático (imágenes, CSS, JS) desde servidores geográficamente cercanos al usuario. En España, esto reduce la latencia para visitantes fuera de donde está tu servidor:
- Cloudflare (gratis/pro): la opción por defecto para webs españolas. Requiere cambiar los DNS.
- BunnyCDN (desde 1$/mes de uso): CDN puro sin proxy, muy rápido, barato para imágenes.
- Amazon CloudFront: para proyectos con infraestructura AWS.
3. Optimización de imágenes
# Convertir todas las imágenes de uploads a WebP con cwebp
find /var/www/html/wp-content/uploads -name "*.jpg" -o -name "*.png" | \
xargs -I{} cwebp -q 82 {} -o {}.webp
# Verificar tamaño medio de imágenes en uploads
find /var/www/html/wp-content/uploads -name "*.jpg" -exec du -sh {} \; | \
awk '{sum+=$1} END {print "Total:", sum, "KB"}'
# Con WP-CLI + plugin Smush/Imagify: regenerar thumbnails
wp media regenerate --yes
# Ver imágenes más pesadas
find /var/www/html/wp-content/uploads -name "*" -size +500k -exec ls -lh {} \;Plugins recomendados: ShortPixel (compresión + WebP, ~4$/mes), Imagify (compresión + WebP, ~4.99$/mes), Smush Pro (~7.50$/mes con CDN propio).
4. Optimización de base de datos
# Análisis de tablas más pesadas
wp db query "SELECT table_name,
ROUND(((data_length + index_length) / 1024 / 1024), 2) AS 'Size_MB'
FROM information_schema.TABLES
WHERE table_schema = DATABASE()
ORDER BY (data_length + index_length) DESC LIMIT 10;"
# Limpiar revisiones (ajusta el número según tus necesidades)
wp post delete $(wp post list --post_type=revision --format=ids --posts_per_page=500) --force
# Eliminar comentarios spam
wp comment delete $(wp comment list --status=spam --format=ids) --force
# Limpiar transients caducados
wp transient delete --expired
# Optimizar todas las tablas de WordPress
wp db optimize
# Limpiar opciones autoload pesadas (carga en cada petición)
wp db query "SELECT option_name, LENGTH(option_value) as size
FROM wp_options WHERE autoload='yes'
ORDER BY size DESC LIMIT 20;"5. Configuración PHP-FPM para rendimiento
# php-fpm pool config optimizado para WordPress
; /etc/php/8.2/fpm/pool.d/www.conf
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
request_terminate_timeout = 300
# OPcache — caché de bytecode PHP (crítico para rendimiento)
opcache.enable=1
opcache.memory_consumption=256
opcache.max_accelerated_files=10000
opcache.revalidate_freq=2
opcache.save_comments=1
Mantenimiento SEO (rastreabilidad, errores 404, sitemap)
El SEO no es solo crear contenido: requiere mantenimiento técnico continuo para que Google pueda rastrear, indexar y posicionar correctamente tu web. Ignorar el SEO técnico durante meses equivale a dejar que se acumule suciedad en los cimientos de tu posicionamiento.
Auditoría SEO técnica mensual
Estas son las comprobaciones mínimas que deben hacerse mensualmente:
- Google Search Console: revisar informe de Cobertura para detectar páginas excluidas o con errores. Revisar Core Web Vitals por tipo de URL. Verificar que el sitemap sigue enviado y sin errores.
- Errores 404: detectar y resolver enlaces internos rotos con redirecciones 301.
- Sitemap XML: verificar que incluye todas las páginas indexables y ninguna página excluida (draft, noindex).
- Robots.txt: comprobar que no bloquea recursos críticos (CSS, JS que Google necesita renderizar).
- Canonicals: verificar que cada página tiene su canonical correcta, sin duplicados.
WP-CLI para SEO técnico
# Ver todas las URLs de tu WordPress (posts publicados)
wp post list --post_status=publish --fields=ID,post_title,post_date,post_type --format=table
# Verificar que el sitemap de Yoast/RankMath está generado
wp option get wpseo_sitemap_index_created
# Detectar páginas con noindex activado (Yoast)
wp db query "SELECT p.ID, p.post_title, pm.meta_value
FROM wp_posts p
JOIN wp_postmeta pm ON p.ID = pm.post_id
WHERE pm.meta_key = '_yoast_wpseo_meta-robots-noindex'
AND pm.meta_value = '1'
AND p.post_status = 'publish';"
# Buscar posts con meta description vacía (Yoast)
wp db query "SELECT p.ID, p.post_title
FROM wp_posts p
LEFT JOIN wp_postmeta pm ON p.ID = pm.post_id
AND pm.meta_key = '_yoast_wpseo_metadesc'
WHERE p.post_type = 'post'
AND p.post_status = 'publish'
AND (pm.meta_value IS NULL OR pm.meta_value = '');"
# Ver permalinks y estructura de URLs
wp option get permalink_structure
# Regenerar estructura de permalinks
wp rewrite flush --hardGestión de errores 404 y redirecciones
Cada error 404 interno (un link tuyo que apunta a una página que no existe) es un fallo de rastreabilidad que penaliza la experiencia y consume crawl budget. El proceso de gestión:
- Detectar: Search Console (Informe de páginas → Excluidas → No encontrado 404) o Screaming Frog rastreando el sitio.
- Priorizar: URLs con backlinks externos primero (tienen más impacto en autoridad), URLs en el sitemap segundo, errores internos tercero.
- Resolver: plugin Redirection para crear 301s desde el panel de WP, o directamente en .htaccess para mayor rendimiento.
# Redireccionamiento 301 en .htaccess
# Redirigir una URL antigua a la nueva
Redirect 301 /vieja-url/ https://tudominio.com/nueva-url/
# Redirigir toda una sección antigua a nueva
RedirectMatch 301 /blog/categoria-antigua/(.*) /blog/nueva-categoria/$1Datos estructurados (Schema Markup)
Los datos estructurados son el puente entre tu contenido y los AI Overviews de Google. En 2026, las webs con FAQ Schema, HowTo Schema y LocalBusiness Schema tienen significativamente más probabilidades de aparecer citadas en las respuestas de IA. El mantenimiento de schema implica:
- Verificar mensualmente con Rich Results Test que los schemas no tienen errores.
- Añadir schema a nuevas páginas relevantes (servicios, artículos de blog, FAQs).
- Actualizar datos en LocalBusiness schema cuando cambien horarios, teléfono o dirección.
Monitorización uptime + alertas
Si tu web está caída y no lo sabes, el coste es silencioso pero real: visitas perdidas, leads que no llegan, posición SEO que se erosiona. El promedio de tiempo de inactividad tolerable para una web de negocio es cero: cada minuto caída es dinero que no entra.
Herramientas de monitorización uptime
| Herramienta | Frecuencia | Canales alerta | Coste | Mejor para |
|---|---|---|---|---|
| UptimeRobot | 5 min (free) | Email, SMS, Slack | Gratis (50 monitores) | La mayoría de webs |
| Better Uptime | 30 seg | Email, SMS, llamada | Gratis / 20$/mes | Webs críticas de negocio |
| Pingdom | 1 min | Email, SMS, integr. | ~15$/mes | Análisis rendimiento incluido |
| StatusCake | 1 min (free) | Email, Slack, webhook | Gratis / 24$/mes | Multi-location checks |
| Freshping | 1 min | Email, Slack, webhooks | Gratis hasta 50 checks | Agencias con múltiples clientes |
Qué monitorizar más allá del uptime
El uptime básico (¿responde HTTP 200?) no es suficiente. Una web puede responder 200 y estar completamente rota (PHP fatal error que muestra pantalla en blanco, BBDD desconectada, WooCommerce sin poder procesar pagos). Checks adicionales recomendados:
- Monitor de keyword: verificar que una palabra clave específica de la home aparece en el HTML (confirma que la web carga contenido real, no solo el servidor).
- Monitor de formulario: enviar un formulario de prueba cada X horas y verificar que llega al email.
- Monitor de certificado SSL: alertar cuando el certificado venza en menos de 30 días.
- Monitor de tiempo de respuesta: alertar cuando supere los 3 segundos (degradación de rendimiento).
- Monitor de blacklist: verificar que la IP del servidor no está en listas de spam (afecta al email corporativo).
Configurar alerta SSL con script bash
#!/bin/bash
# check_ssl_expiry.sh — alertar si SSL caduca en menos de 30 días
DOMAIN="tudominio.com"
THRESHOLD=30
EXPIRY=$(echo | openssl s_client -servername $DOMAIN \
-connect $DOMAIN:443 2>/dev/null | \
openssl x509 -noout -enddate | \
sed 's/notAfter=//')
EXPIRY_DATE=$(date -d "$EXPIRY" +%s 2>/dev/null || \
date -j -f "%b %d %T %Y %Z" "$EXPIRY" +%s)
NOW=$(date +%s)
DAYS_LEFT=$(( ($EXPIRY_DATE - $NOW) / 86400 ))
if [ $DAYS_LEFT -lt $THRESHOLD ]; then
echo "ALERTA: SSL de $DOMAIN caduca en $DAYS_LEFT días ($EXPIRY)"
# Enviar email o notificación Slack aquí
fiSLA de recuperación: qué esperar
Define antes de que ocurra un problema cuánto tiempo tienes para resolverlo y qué pasos seguir:
| Incidencia | RTO objetivo | Primera acción |
|---|---|---|
| Web caída (servidor OK) | <15 min | Revisar errores PHP, reactivar caché |
| Servidor caído | <2h | Contactar hosting, preparar restauración |
| Hackeo/malware | <4h | Poner en mantenimiento, restaurar backup |
| BBDD corrompida | <2h | Restaurar backup BBDD |
Soporte técnico: SLAs reales que esperar
El soporte técnico web es uno de los campos con mayor disparidad entre lo que se promete y lo que se entrega. Entender qué es un SLA real y qué métricas exigir evita sorpresas desagradables cuando más lo necesitas.
Métricas de SLA que importan
- Tiempo de primera respuesta: cuánto tarda en responderte alguien. No confundir con tiempo de resolución. Un acuse de recibo automático no es respuesta.
- Tiempo de resolución por severidad: los tickets no son todos iguales. Una web caída (P1) no puede esperar lo mismo que un ajuste de diseño (P4).
- Disponibilidad del soporte: L-V en horario de oficina es insuficiente para una tienda online que puede caerse un sábado.
- Canales de escalado: qué pasa si el soporte de primer nivel no puede resolver el problema. ¿Hay un nivel 2?
Tabla SLA por tipo de incidencia
| Severidad | Ejemplo | Respuesta aceptable | Resolución aceptable |
|---|---|---|---|
| P1 - Crítico | Web caída, hackeo, BBDD inaccesible | <1h | <4h (o backup activo <2h) |
| P2 - Alto | Formularios no funcionan, errores PHP visibles, pago roto | <4h | <24h |
| P3 - Medio | Página específica con error, imagen rota, plugin conflicto | <8h hábiles | <72h |
| P4 - Bajo | Ajuste texto, cambio menor, pregunta general | <24h hábiles | <5 días hábiles |
Red flags al contratar mantenimiento
- «Respuesta en 24-48h» para incidencias P1 (inaceptable: tu web puede estar caída 48h).
- Sin ticket system: el soporte por WhatsApp no escala y no deja trazabilidad.
- Sin informe mensual de actividad: no saber qué se actualizó o qué se resolvió.
- «Mantenimiento incluido en el precio» sin especificar qué tareas cubre (suele significar «nada en concreto»).
- Backup no incluido o «bajo demanda» (los backups deben ser automáticos y verificados, no manuales).
Qué debe incluir un contrato de mantenimiento
- Listado específico de tareas incluidas y excluidas.
- Frecuencia de cada tarea (diaria, semanal, mensual).
- SLA por severidad de incidencia.
- Política de backups: frecuencia, retención, destino, prueba de restauración.
- Informe mensual de actividad.
- Procedimiento de cancelación y portabilidad de datos.
Mantenimiento contenido (legales, fotos, copys)
El contenido de una web tiene fecha de caducidad. Un texto legal desactualizado, precios incorrectos o imágenes que ya no representan el negocio generan desconfianza y pueden acarrear sanciones. El mantenimiento de contenido es el tipo más olvidado y uno de los que más impacta en la conversión.
Contenido legal: qué actualizar y cuándo
| Documento | Revisión mínima | Triggeres de actualización |
|---|---|---|
| Política de privacidad | Anual | Cambio de proveedor de email/analytics/CRM, nuevos formularios |
| Aviso de cookies | Anual | Cambio de herramientas de tracking, nueva normativa AEPD |
| Aviso legal | Bianual | Cambio de domicilio, forma jurídica, actividad principal |
| Condiciones de venta (WooCommerce) | Anual | Cambio de política de devoluciones, nuevas formas de pago, cambio precios |
| Política de envío | Trimestral | Cambio de transportista, nuevas zonas, cambio de tarifas |
Revisión de contenido comercial
Más allá de los legales, el contenido comercial envejece y reduce conversiones:
- Fotos: imágenes de stock genéricas o fotos del negocio desactualizadas (reformas, nuevos equipos, cambio de equipo) transmiten abandono. Una revisión fotográfica anual mínimo.
- Testimonios y reseñas: testimonios de hace 4 años sin fecha visible generan dudas. Actualizar con reseñas recientes de Google Business Profile.
- Precios: si hay precios en la web, deben actualizarse cada vez que cambien. Un precio incorrecto puede generar conflictos legales (obligación de venta al precio anunciado en consumidor).
- Servicios y productos: eliminar servicios descatalogados, añadir nuevos. Una página de servicio con «consultar disponibilidad» para algo que ya no ofreces erosiona la confianza.
- Equipo: personas que ya no trabajan en la empresa apareciendo en «Nuestro equipo» genera confusión y mal primer impresión.
Checklist legal RGPD básico
- El aviso de cookies aparece en la primera visita y tiene opciones de aceptar/rechazar/configurar (no solo «aceptar»).
- Los formularios tienen checkbox de aceptación de política de privacidad desmarcado por defecto.
- La política de privacidad indica qué datos se recogen, con qué finalidad, cuánto tiempo se guardan y los derechos del usuario (ARCO+).
- Si usas Google Analytics, Hotjar, Meta Pixel u otras herramientas de tracking, están listadas en la política de privacidad y en el gestor de cookies.
- Si tienes tienda online, hay Condiciones Generales de Venta accesibles antes del pago y en el email de confirmación.
Coste real mantenimiento (tabla planes 19-99€/mes vs DIY)
El mantenimiento web tiene un coste, pero no tenerlo tiene un coste mayor. Un hackeo con limpieza profesional cuesta entre 300€ y 1.500€. Una caída no detectada durante 8 horas en una tienda online con 50 pedidos/día puede suponer 2.000-3.000€ de pérdidas directas. El mantenimiento es la inversión con mayor ROI en gestión web.
Planes de mantenimiento web: rangos reales de mercado
| Plan | Precio/mes | Qué incluye | Ideal para |
|---|---|---|---|
| Básico | 19-29€ | Actualizaciones semanales, backup mensual, informe email | Web brochure sin crítica de negocio |
| Estándar | 39-59€ | Actualizaciones + backup diario offsite + monitorización uptime + soporte P3 48h | Web de negocio con formularios |
| Profesional | 69-99€ | Todo lo anterior + staging, backup cada 4h, soporte P1 <4h, optimización mensual, informe detallado | Tiendas WooCommerce, webs de alta visibilidad |
| Enterprise | 150-300€ | SLA P1 <1h, DevOps dedicado, múltiples entornos, disaster recovery documentado | E-commerce volumen alto, SaaS, portales |
Coste DIY vs profesional: comparativa real
| Concepto | DIY (tú mismo) | Profesional |
|---|---|---|
| Tiempo mensual | 4-8h/mes | 0h tu tiempo |
| Coste de tu tiempo | 120-400€/mes (a 50€/h) | 0€ |
| Herramientas (plugins, backup SaaS) | 30-80€/mes | Incluido |
| Curva de aprendizaje | Alta (20-40h iniciales) | No aplica |
| Riesgo de error humano | Alto | Bajo |
| Respuesta ante hackeo | Sin experiencia, horas/días | Protocolo establecido <4h |
Qué NO incluyen los planes baratos
Los planes de «mantenimiento» de 5-10€/mes que ofrece el hosting o algunos marketplaces suelen ser solo:
- Backup automático sin verificación y sin restore garantizado.
- Actualizaciones automáticas sin staging ni test (pueden romper la web).
- Sin soporte real ni SLA.
- Sin monitorización de seguridad activa.
La diferencia entre un plan de 5€ y uno de 49€ no es el margen del proveedor: es la cobertura real de riesgo.
Cómo calcular el mantenimiento que necesitas
- ¿Cuánto pierdes por hora si la web está caída? Si la respuesta es más de 50€/h, necesitas mínimo plan Profesional con SLA P1.
- ¿Cuántos leads/ventas vienen de la web al mes? Si la web genera más de 2.000€/mes, el mantenimiento profesional (49-99€/mes) representa menos del 5% de lo que protege.
- ¿Tienes WooCommerce activo? Sí → mínimo plan Estándar con backup diario. Pagos online → Profesional.
Cuándo hacer rediseño vs seguir manteniendo
Hay un punto en el ciclo de vida de una web en el que el mantenimiento ya no basta: el estado técnico o estético del sitio es tan limitante que invertir en mantenerlo tiene menor ROI que rediseñar. Identificar ese punto es un ahorro real.
Señales de que es hora de rediseñar
- PHP y WordPress no pueden actualizarse sin romper todo. Si tu web depende de un plugin abandonado que no es compatible con PHP 8+ o WordPress 6+, el coste de mantenimiento seguro supera el coste de rediseñar con stack actualizado.
- El tema (theme) está abandonado. Un theme sin actualizar en 2+ años o con vulnerabilidades conocidas sin parche es un riesgo que no se puede mitigar con mantenimiento.
- Tiempo de carga por encima de 5 segundos pese a optimización. Hay arquitecturas que no se pueden optimizar más sin reescribirlas: demasiadas consultas BBDD, templates ineficientes, shortcodes anidados en Elementor/Divi que generan bloat insalvable.
- Tasa de conversión <1% pese a tráfico estable. Si la web recibe visitas pero no convierte, el problema es de diseño y UX, no de mantenimiento técnico.
- Más de 5 años sin rediseño. No como regla absoluta, pero las expectativas visuales de los usuarios evolucionan. Una web de 2019 proyecta una imagen desactualizada en 2026.
Señales de que el mantenimiento es suficiente
- La web convierte bien y el problema es solo técnico (lentitud, desactualizaciones).
- El rediseño tendría un coste desproporcionado respecto al volumen de negocio del sitio.
- Los problemas son puntuales (un plugin conflictivo, una función desactualizada) no estructurales.
- La marca y el diseño siguen siendo relevantes y representativos del negocio.
Coste comparativo
| Escenario | Opción A: Seguir manteniendo | Opción B: Rediseñar |
|---|---|---|
| Web brochure con theme desactualizado pero funcional | 49€/mes — viable | 599-999€ pago único — valorar ROI |
| WooCommerce con plugin de pago abandonado | Riesgo alto, parche temporal | Rediseño obligatorio con timeline |
| Web de 2018 con PHP 7.2 y Elementor antiguo | No recomendable: deuda técnica insostenible | Rediseño + migración recomendados |
Checklist mensual mantenimiento web
Este checklist cubre las tareas mínimas que debe ejecutar cualquier persona responsable del mantenimiento de una web WordPress. Adapta la frecuencia según el plan y el tipo de web.
Semanal
- Verificar que los backups automáticos se están ejecutando (revisar logs de UpdraftPlus o herramienta equivalente).
- Comprobar alertas de Wordfence o Sucuri: nuevas amenazas bloqueadas, cambios en archivos.
- Revisar alertas de uptime de la última semana: ¿alguna caída? ¿cuánto duró?
- Revisar actualizaciones disponibles en el panel de WordPress.
Mensual — Técnico
- Actualizar WordPress core, plugins y themes (en staging primero si hay WooCommerce).
- Ejecutar
wp core verify-checksumspara detectar modificaciones en archivos core. - Limpiar BBDD: revisiones, transients, comentarios spam (
wp db optimize). - Verificar versión de PHP activa y comprobar si hay actualización disponible en el hosting.
- Revisar usuarios administradores y eliminar accesos obsoletos.
- Verificar que el certificado SSL tiene más de 60 días de vida.
Mensual — SEO y rendimiento
- Revisar Google Search Console: errores de cobertura, Core Web Vitals, manual actions.
- Comprobar Google PageSpeed Insights en home y página principal del servicio.
- Revisar errores 404 en Search Console y crear redirecciones para los relevantes.
- Verificar sitemap.xml: que esté enviado a GSC y sin errores.
- Purgar caché de páginas y regenerar caché limpia.
Mensual — Seguridad
- Revisar log de intentos de login y verificar que el bloqueo por IP está activo.
- Ejecutar escaneo completo de malware (Wordfence scan o Sucuri scanner).
- Verificar que no hay nuevos plugins o themes instalados sin autorización.
- Revisar reglas del firewall: ¿alguna IP bloqueada que debería estar permitida?
Trimestral
- Test de restauración de backup en entorno de staging.
- Revisar y actualizar política de privacidad y aviso de cookies si ha habido cambios en herramientas.
- Auditoría de velocidad completa: GTmetrix o WebPageTest con video de carga.
- Revisar y actualizar contenido de precios, servicios y equipo.
- Comprobar que los formularios envían correctamente y llegan al email destino.
Anual
- Revisar y renovar dominio (con mínimo 30 días de antelación).
- Revisión completa de textos legales.
- Auditoría SEO técnica completa con Screaming Frog.
- Valorar si el plan de hosting sigue siendo adecuado (recursos, ubicación, soporte).
- Evaluar si el diseño y UX siguen siendo competitivos respecto a los mejores del sector.
Preguntas frecuentes
Las actualizaciones menores de seguridad (5.x.1 → 5.x.2) deben aplicarse en menos de 48h desde que se publican. Las actualizaciones mayores (6.4 → 6.5) en un plazo de 1-2 semanas tras verificar compatibilidad de plugins. Los plugins con vulnerabilidades críticas publicadas deben actualizarse el mismo día. En la práctica, un ciclo de actualizaciones semanal es el mínimo aceptable para cualquier web de negocio.
A corto plazo (1-3 meses), nada visible. A medio plazo (3-6 meses), los plugins desactualizados acumulan vulnerabilidades conocidas y el rendimiento se degrada. A largo plazo (6-18 meses), la probabilidad de hackeo supera el 40% para webs con tráfico regular. El 97% de los hackeos de WordPress explotan vulnerabilidades conocidas con parche disponible, es decir, prevenibles con mantenimiento.
El rango de mercado en 2026 es de 19€/mes para planes básicos (actualizaciones + backup mensual) hasta 99-150€/mes para planes profesionales con staging, backup cada 4h, SLA de respuesta en menos de 4h y soporte prioritario. El precio justo para una web de negocio estándar con formularios y sin tienda online es entre 39€ y 59€/mes.
Depende del contrato. El mantenimiento técnico estándar no incluye creación de contenido nuevo (posts, páginas, productos). Sí suele incluir pequeños cambios de texto existente, actualización de datos de contacto y ajustes menores. Si necesitas creación de contenido recurrente, debe contratarse como servicio separado o como plan que explícitamente lo contemple.
La estrategia 3-2-1 establece mantener 3 copias de los datos en 2 soportes diferentes con 1 copia offsite. Para WordPress: copia diaria en el servidor de hosting, copia semanal en un bucket de Amazon S3 o Backblaze B2 (proveedor externo al hosting), y copia mensual descargada en local. Si el servidor de hosting tiene un fallo catastrófico, las copias en S3 garantizan la recuperación.
Los síntomas más comunes: Google muestra 'Este sitio puede haber sido hackeado' en los resultados de búsqueda. Redirecciones inesperadas a webs de spam, farmacias online o casinos. El hosting te avisa de uso anómalo de recursos. Aparecen páginas en tu sitemap que nunca creaste. Wordfence o Sucuri detectan archivos modificados. Algunos hackeos son invisibles para el visitante (hidden spam SEO injection) y solo los detecta un escáner de malware.
Sí, pero con condiciones. Necesitas acceso SSH al servidor (o cPanel), conocimiento básico de WP-CLI, entender qué puede romperse al actualizar y tener un plan de rollback. El tiempo real de mantenimiento mensual, si se hace bien, es de 4-8 horas. Para un negocio donde tu tiempo tiene un valor económico, el coste de hacerlo tú (4-8h a tu tarifa) suele superar el coste de un plan de mantenimiento profesional de 39-59€/mes.
Hardening es el proceso de reducir la superficie de ataque de WordPress mediante configuraciones adicionales más allá de la instalación estándar: proteger wp-config.php con permisos restrictivos, bloquear el acceso a wp-admin por IP, deshabilitar XML-RPC si no se usa, impedir la ejecución de PHP en la carpeta de uploads, ocultar la versión de WordPress, usar 2FA en todos los accesos de administrador, y configurar un WAF (Cloudflare, Wordfence, NinjaFirewall) que filtre tráfico malicioso.
Para una tienda WooCommerce con volumen de pedidos regular, el backup de la base de datos debe ser cada 4-6 horas. Los pedidos, clientes y transacciones son datos críticos que no pueden perderse. El backup de archivos (imágenes de productos, plugins) puede ser diario. Con WooCommerce, usa BackupBuddy o BlogVault que tienen opciones de backup incremental frecuente sin impacto en rendimiento.
El mínimo recomendado en 2026 es PHP 8.2 (soporte activo hasta diciembre 2026). Lo óptimo es PHP 8.3 o 8.4 para nuevas instalaciones. PHP 8.1 está en modo security-only desde diciembre 2024. PHP 7.4 y 8.0 llevan sin parches de seguridad desde 2022 y 2023 respectivamente: si tu web corre sobre alguna de estas versiones, actualizarla es la primera prioridad de mantenimiento.
El rediseño compensa cuando: el theme o un plugin crítico está abandonado y sin actualizaciones de seguridad, la web no puede migrar a PHP 8+ sin reescribir la base, la tasa de conversión es persistentemente baja pese a tráfico estable (problema de UX, no técnico), o el coste acumulado de mantener una web obsoleta supera el coste de un rediseño en 12-18 meses. Un rediseño no es un gasto: es una capitalización si la web es el canal principal de adquisición.
Directamente sí, en varios aspectos: mantener una velocidad de carga rápida impacta en Core Web Vitals (señal de ranking). Resolver errores 404 y crear redirecciones 301 preserva la autoridad de las URLs. Un sitemap actualizado facilita el rastreo de nuevo contenido. La seguridad activa evita hackeos que derivan en penalizaciones manuales de Google ('Este sitio puede ser peligroso'). Mantener el uptime alto evita que Google rastreé la web en momentos de caída y reduzca su confianza en el sitio.
En resumen
El mantenimiento web no es un gasto: es la capa de protección de todo lo que has invertido en construir tu presencia online. Una web bien mantenida posiciona mejor, convierte más, genera confianza y está protegida ante las amenazas reales de 2026.
Si estás valorando externalizar el mantenimiento de tu web, en WebsBarcelona ofrecemos planes de mantenimiento WordPress desde 19€/mes con actualizaciones, backup diario offsite, monitorización y soporte real con SLA. Sin sorpresas.
Y si no tienes aún una web profesional o tu web actual está por debajo del nivel que merece tu negocio, revisa nuestros planes de diseño web desde 99€.
¿Necesitas una web profesional en Barcelona?
Presupuesto cerrado en 24h sin compromiso. Desde 99€.
Pedir presupuesto →Somos tu diseño web en Barcelona para pymes y autónomos · Ver portfolio