[{"data":1,"prerenderedAt":733},["ShallowReactive",2],{"blog-es":3},[4,229,474],{"id":5,"title":6,"author":7,"body":8,"date":215,"description":216,"extension":217,"image":218,"meta":219,"navigation":220,"path":221,"seo":222,"stem":223,"tags":224,"__hash__":228},"blogEs\u002Fes\u002Fblog\u002Fmigrar-vps-sin-downtime.md","Cómo migrar un VPS sin downtime: el método que llevamos años aplicando","Paco Cubel",{"type":9,"value":10,"toc":200},"minimark",[11,16,20,23,27,32,35,54,57,61,69,82,89,93,96,114,117,133,140,144,147,151,177,181,184,188,191],[12,13,15],"h2",{"id":14},"por-qué-importa-hacerlo-bien","Por qué importa hacerlo bien",[17,18,19],"p",{},"Cualquier negocio que viva online tiene una pesadilla recurrente: que su web se caiga justo cuando empieza una campaña, un fin de semana largo o el día que el cliente importante decide entrar. Y migrar el servidor es uno de los momentos donde ese riesgo se concentra más.",[17,21,22],{},"La buena noticia es que la mayoría de las migraciones se pueden hacer sin que nadie lo note. La mala es que requieren método, no improvisación.",[12,24,26],{"id":25},"el-método-en-cuatro-fases","El método en cuatro fases",[28,29,31],"h3",{"id":30},"_1-auditoría-del-entorno-actual","1. Auditoría del entorno actual",[17,33,34],{},"Antes de tocar nada, listamos:",[36,37,38,42,45,48,51],"ul",{},[39,40,41],"li",{},"Versiones exactas de cada software (PHP, MySQL, Nginx\u002FApache, Node, etc.).",[39,43,44],{},"Dependencias de sistema (extensiones de PHP, librerías nativas, paquetes APT).",[39,46,47],{},"Servicios externos que llaman al servidor (cron de terceros, webhooks, integraciones).",[39,49,50],{},"Volumen de datos en disco y en base de datos.",[39,52,53],{},"Reglas de firewall, certificados SSL y DNS actual.",[17,55,56],{},"Sin este mapa, cualquier migración es jugar a la lotería.",[28,58,60],{"id":59},"_2-réplica-en-paralelo","2. Réplica en paralelo",[17,62,63,64,68],{},"Construimos el servidor nuevo en paralelo, ",[65,66,67],"strong",{},"sin tocar producción",". Replicamos los datos:",[36,70,71,79],{},[39,72,73,74,78],{},"Archivos con ",[75,76,77],"code",{},"rsync -avz --delete",", programando varias pasadas hasta que el delta sea mínimo.",[39,80,81],{},"Base de datos con un volcado completo y, en bases grandes, replicación binlog para tener el destino casi al día.",[17,83,84,85,88],{},"Probamos la web nueva en un dominio interno o un ",[75,86,87],{},"\u002Fetc\u002Fhosts"," modificado. Validamos cada flujo: alta de usuarios, formularios, pagos si aplica, integraciones externas.",[28,90,92],{"id":91},"_3-plan-de-corte-con-vuelta-atrás","3. Plan de corte (con vuelta atrás)",[17,94,95],{},"Aquí está el secreto. Antes del corte:",[36,97,98,104,111],{},[39,99,100,103],{},[65,101,102],{},"Bajamos el TTL del DNS a 5 minutos"," 24 horas antes para que la propagación del cambio sea casi inmediata.",[39,105,106,107,110],{},"Escribimos un ",[65,108,109],{},"plan de vuelta atrás"," documentado: qué se cambia, en qué orden, y cómo deshacerlo si algo sale mal.",[39,112,113],{},"Avisamos al cliente del momento exacto y de la franja de bajo riesgo.",[17,115,116],{},"El día del corte, ejecutamos:",[118,119,120,127,130],"ol",{},[39,121,122,123,126],{},"Última pasada de ",[75,124,125],{},"rsync"," con el sitio en modo lectura (mínimos minutos).",[39,128,129],{},"Cambio de DNS al servidor nuevo.",[39,131,132],{},"Verificación inmediata: web responde, formulario funciona, certificado SSL válido.",[17,134,135,136,139],{},"Si todo va bien, seguimos. Si algo no responde, ",[65,137,138],{},"revertimos el DNS"," y la web sigue como estaba en el servidor antiguo, sin que nadie lo haya notado.",[28,141,143],{"id":142},"_4-validación-post-corte","4. Validación post-corte",[17,145,146],{},"24 horas vigilando logs, monitorización de uptime y métricas. Cualquier comportamiento extraño se diagnostica en caliente. Cuando tenemos varios días verdes, cerramos el servidor antiguo (no antes).",[12,148,150],{"id":149},"errores-frecuentes-que-evitar","Errores frecuentes que evitar",[36,152,153,159,165,171],{},[39,154,155,158],{},[65,156,157],{},"Migrar sin replicar antes",": mover en directo es jugársela. Siempre primero clon, luego pruebas, luego corte.",[39,160,161,164],{},[65,162,163],{},"Olvidarse de los cron",": los cron del servidor antiguo se quedan ahí ejecutándose si no los desactivas, y pueden generar duplicados o pagos repetidos.",[39,166,167,170],{},[65,168,169],{},"No probar formularios reales",": enviar un correo de prueba desde el servidor nuevo no es lo mismo que recibirlo en la cuenta del cliente.",[39,172,173,176],{},[65,174,175],{},"No bajar el TTL antes",": si el DNS tarda 24 horas en propagarse, la mitad del tráfico va al sitio viejo durante ese tiempo.",[12,178,180],{"id":179},"cuánto-suele-tardar","Cuánto suele tardar",[17,182,183],{},"Una migración estándar de un VPS pequeño se hace en 2–3 semanas: una de auditoría y réplica, una de pruebas y una para el corte y soporte. No se debe pretender hacerlo en un fin de semana, salvo casos triviales.",[12,185,187],{"id":186},"conclusión","Conclusión",[17,189,190],{},"Migrar un VPS sin downtime no es magia: es disciplina. La parte que cuesta más no es la técnica, es la planificación previa. El día del corte solo se ejecuta lo que ya está validado.",[17,192,193,194,199],{},"Si tienes una migración pendiente y prefieres que la lleve un equipo con cicatrices reales, ",[195,196,198],"a",{"href":197},"\u002Fes\u002Fcontacto\u002F","escríbenos"," y te contamos cómo lo plantearíamos en tu caso.",{"title":201,"searchDepth":202,"depth":202,"links":203},"",2,[204,205,212,213,214],{"id":14,"depth":202,"text":15},{"id":25,"depth":202,"text":26,"children":206},[207,209,210,211],{"id":30,"depth":208,"text":31},3,{"id":59,"depth":208,"text":60},{"id":91,"depth":208,"text":92},{"id":142,"depth":208,"text":143},{"id":149,"depth":202,"text":150},{"id":179,"depth":202,"text":180},{"id":186,"depth":202,"text":187},"2026-04-22","Una migración de servidor mal planificada cuesta dinero. Te contamos el método paso a paso que aplicamos en Atenea Systems para mover webs y servicios sin que el cliente final note nada.","md","\u002Fog\u002Fog-default.png",{},true,"\u002Fes\u002Fblog\u002Fmigrar-vps-sin-downtime",{"title":6,"description":216},"es\u002Fblog\u002Fmigrar-vps-sin-downtime",[225,226,227],"Migraciones","Linux","Servidores","LnFHWtaw_8XYl3MRGOR-lpGkhqKYqGbRUIF9w7B2XAM",{"id":230,"title":231,"author":7,"body":232,"date":463,"description":464,"extension":217,"image":218,"meta":465,"navigation":220,"path":466,"seo":467,"stem":468,"tags":469,"__hash__":473},"blogEs\u002Fes\u002Fblog\u002Fwordpress-lento-2026.md","Mi WordPress va lento en 2026: cómo diagnosticar y arreglarlo de verdad",{"type":9,"value":233,"toc":451},[234,238,241,244,248,251,281,284,288,291,296,307,311,314,318,329,333,336,340,362,366,369,373,384,388,391,395,420,424,435,439,442,444],[12,235,237],{"id":236},"el-problema-de-wordpress-en-2026","El problema de WordPress en 2026",[17,239,240],{},"WordPress sigue moviendo alrededor del 40 % de la web mundial. Y muchos de esos WordPress van lentos. Si la web es lenta, los clientes se van: en cada segundo extra de carga pierdes ventas y posiciones en Google.",[17,242,243],{},"La buena noticia: la mayoría de los WordPress lentos lo son por las mismas tres o cuatro razones. Vamos a verlas.",[12,245,247],{"id":246},"diagnóstico-antes-que-parche","Diagnóstico antes que parche",[17,249,250],{},"Antes de tocar nada, mide:",[36,252,253,265,275],{},[39,254,255,258,259,264],{},[65,256,257],{},"PageSpeed Insights"," (",[195,260,261],{"href":261,"rel":262},"https:\u002F\u002Fpagespeed.web.dev",[263],"nofollow",") — datos reales de Google.",[39,266,267,270,271,274],{},[65,268,269],{},"GTmetrix"," o ",[65,272,273],{},"WebPageTest"," — para ver waterfalls detallados.",[39,276,277,280],{},[65,278,279],{},"Query Monitor"," (plugin) — para ver qué consultas tarda más a la base de datos.",[17,282,283],{},"Si no mides, no estás arreglando: estás adivinando.",[12,285,287],{"id":286},"causa-1-demasiados-plugins","Causa #1: demasiados plugins",[17,289,290],{},"El plugin medio añade peticiones HTTP, scripts y consultas SQL. Un WordPress con 40 plugins activos rara vez carga rápido, por buena que sea la máquina.",[17,292,293],{},[65,294,295],{},"Qué hacer:",[36,297,298,301,304],{},[39,299,300],{},"Desactiva los plugins que llevan meses sin usarse.",[39,302,303],{},"Sustituye plugins que hacen 3 cosas pequeñas por uno que hace bien todas.",[39,305,306],{},"Si necesitas algo a medida, valora pedir un desarrollo en lugar de instalar otro plugin.",[12,308,310],{"id":309},"causa-2-tema-sobrecargado","Causa #2: tema sobrecargado",[17,312,313],{},"Muchos temas comerciales (los típicos \"todo en uno\" que vienen con 50 demos) cargan librerías que no necesitas: ralentizan todo y son difíciles de optimizar.",[17,315,316],{},[65,317,295],{},[36,319,320,323,326],{},[39,321,322],{},"Revisa qué scripts y CSS cargan en cada página con DevTools (pestaña Network).",[39,324,325],{},"Si hay 30 archivos de CSS o 25 de JS, el tema está mal.",[39,327,328],{},"Plantéate migrar a un tema ligero (GeneratePress, Astra, Kadence) o a uno hecho a medida.",[12,330,332],{"id":331},"causa-3-imágenes-pesadas","Causa #3: imágenes pesadas",[17,334,335],{},"Una imagen de 3 MB lastra cualquier servidor. Y siguen llegando webs en 2026 con imágenes subidas en 4000×3000 sin optimizar.",[17,337,338],{},[65,339,295],{},[36,341,342,345,355],{},[39,343,344],{},"Comprime al subir: ShortPixel, EWWW Image Optimizer o servicios externos como TinyPNG.",[39,346,347,348,270,351,354],{},"Convierte a ",[65,349,350],{},"WebP",[65,352,353],{},"AVIF"," (reducción del 30–60% sobre JPG).",[39,356,357,358,361],{},"Sirve imágenes con ",[75,359,360],{},"loading=\"lazy\""," y dimensiones adaptadas.",[12,363,365],{"id":364},"causa-4-hosting-compartido","Causa #4: hosting compartido",[17,367,368],{},"Hay alojamientos compartidos donde compartes recursos con cientos de webs. Si el vecino se descontrola, tu web se cae con él.",[17,370,371],{},[65,372,295],{},[36,374,375,378,381],{},[39,376,377],{},"Si la web genera ingresos, plantéate VPS dedicado. Cuesta más, pero responde mejor.",[39,379,380],{},"Configura caché de aplicación (Redis o memcached), caché de página (WP Rocket o LiteSpeed Cache) y CDN (Cloudflare gratuito ya hace mucho).",[39,382,383],{},"Mantén PHP en versión moderna (8.3 o superior). Cada salto de versión mejora rendimiento.",[12,385,387],{"id":386},"causa-5-base-de-datos-sucia","Causa #5: base de datos sucia",[17,389,390],{},"Después de años, la base de datos acumula revisiones de posts, transients caducados, comentarios de spam y restos de plugins desinstalados.",[17,392,393],{},[65,394,295],{},[36,396,397,407,417],{},[39,398,399,400,270,403,406],{},"Plugin como ",[65,401,402],{},"WP-Optimize",[65,404,405],{},"Advanced Database Cleaner"," para limpiar.",[39,408,409,410,413,414],{},"Limita revisiones en ",[75,411,412],{},"wp-config.php",": ",[75,415,416],{},"define('WP_POST_REVISIONS', 5);",[39,418,419],{},"Borra transients caducados regularmente.",[12,421,423],{"id":422},"lo-que-no-te-va-a-salvar","Lo que NO te va a salvar",[36,425,426,429,432],{},[39,427,428],{},"Comprar 5 plugins de optimización a la vez. Se pisan entre ellos.",[39,430,431],{},"Activar todo lo que un tutorial cualquiera dice \"que va bien\".",[39,433,434],{},"Cambiar de hosting sin haber medido antes.",[12,436,438],{"id":437},"cuánto-se-puede-mejorar","Cuánto se puede mejorar",[17,440,441],{},"Hemos visto casos en los que una web lenta pasa a tiempos buenos solo con limpieza, optimización de imágenes y un mejor hosting. Sin tocar el diseño.",[12,443,187],{"id":186},[17,445,446,447,450],{},"WordPress puede ir rápido en 2026. Hace falta orden, no más herramientas. Si tu web está atascada y no sabes por dónde empezar, ",[195,448,449],{"href":197},"pídenos una auditoría"," y te decimos qué tocar en orden de prioridad.",{"title":201,"searchDepth":202,"depth":202,"links":452},[453,454,455,456,457,458,459,460,461,462],{"id":236,"depth":202,"text":237},{"id":246,"depth":202,"text":247},{"id":286,"depth":202,"text":287},{"id":309,"depth":202,"text":310},{"id":331,"depth":202,"text":332},{"id":364,"depth":202,"text":365},{"id":386,"depth":202,"text":387},{"id":422,"depth":202,"text":423},{"id":437,"depth":202,"text":438},{"id":186,"depth":202,"text":187},"2026-04-18","Si tu WordPress tarda más de 3 segundos en cargar, estás perdiendo clientes y posiciones en Google. Repasamos las causas reales en 2026 y cómo solucionarlas sin instalar 17 plugins más.",{},"\u002Fes\u002Fblog\u002Fwordpress-lento-2026",{"title":231,"description":464},"es\u002Fblog\u002Fwordpress-lento-2026",[470,471,472],"WordPress","Rendimiento","SEO","ILJFcgmGUR3xmxzMyKY4yUxwDweSrpNMOhfqiwReAqo",{"id":475,"title":476,"author":7,"body":477,"date":724,"description":725,"extension":217,"image":218,"meta":726,"navigation":220,"path":727,"seo":728,"stem":729,"tags":730,"__hash__":732},"blogEs\u002Fes\u002Fblog\u002Fnginx-vs-apache-php-2026.md","Nginx vs Apache para PHP en 2026: cuál elegir y por qué",{"type":9,"value":478,"toc":714},[479,483,490,493,497,515,518,522,532,539,543,572,576,608,612,619,622,647,650,654,657,695,697,700,707],[12,480,482],{"id":481},"el-debate-sigue-vivo","El debate sigue vivo",[17,484,485,486,489],{},"\"¿Qué es mejor para PHP, Nginx o Apache?\" es una pregunta que llevamos respondiendo años en consultoría. La respuesta sincera es: ",[65,487,488],{},"depende",". Y la respuesta correcta en 2026 ha cambiado respecto a 2018.",[17,491,492],{},"Vamos por partes.",[12,494,496],{"id":495},"cómo-funcionan-versión-corta","Cómo funcionan (versión corta)",[36,498,499,509],{},[39,500,501,504,505,508],{},[65,502,503],{},"Apache"," procesa cada petición en un proceso o hilo. Con ",[75,506,507],{},"mod_php"," ejecuta PHP directamente, lo que es cómodo pero consume mucha memoria.",[39,510,511,514],{},[65,512,513],{},"Nginx"," es asíncrono y delega PHP a un proceso aparte (PHP-FPM). Esto le permite servir miles de peticiones concurrentes con poca memoria.",[17,516,517],{},"En condiciones de mucho tráfico estático, Nginx gana. En condiciones de muy alta concurrencia con PHP, Nginx + PHP-FPM también gana, generalmente con margen.",[12,519,521],{"id":520},"lo-que-ha-cambiado-en-2026","Lo que ha cambiado en 2026",[17,523,524,525,528,529,531],{},"Apache ha madurado. ",[65,526,527],{},"Apache event MPM + PHP-FPM"," rinde mucho mejor que el viejo ",[75,530,507],{},". La diferencia con Nginx ya no es abismal en muchos casos, especialmente con cargas medianas.",[17,533,534,535,538],{},"Es decir, la elección hoy no es solo de rendimiento, es de ",[65,536,537],{},"operación",".",[12,540,542],{"id":541},"cuándo-elegir-apache","Cuándo elegir Apache",[36,544,545,554,560,566],{},[39,546,547,553],{},[65,548,549,550],{},"Hosting compartido o web con muchos ",[75,551,552],{},".htaccess",": Apache lo gestiona de fábrica, sin tener que tocar configuración global.",[39,555,556,559],{},[65,557,558],{},"CMS antiguos"," que vienen optimizados para Apache (algunos plugins de WordPress, ciertos PrestaShop).",[39,561,562,565],{},[65,563,564],{},"Equipo que ya domina Apache",": cambiar a Nginx por tendencia y luego no saber operar el servidor es peor que mantener Apache bien configurado.",[39,567,568,571],{},[65,569,570],{},"Reglas mod_rewrite complejas"," ya escritas que reescribir en Nginx llevaría días.",[12,573,575],{"id":574},"cuándo-elegir-nginx","Cuándo elegir Nginx",[36,577,578,584,590,596,602],{},[39,579,580,583],{},[65,581,582],{},"Mucho tráfico concurrente",": webs con picos altos de visitas, especialmente si sirven mucho contenido estático junto al PHP.",[39,585,586,589],{},[65,587,588],{},"Sitios estáticos o JAMstack",": Nginx sirve HTML pre-renderizado sin esfuerzo.",[39,591,592,595],{},[65,593,594],{},"Servidores con poca memoria",": Nginx aprovecha mejor recursos limitados.",[39,597,598,601],{},[65,599,600],{},"Stack moderno"," con balanceadores, reverse proxy, cachés en frontal.",[39,603,604,607],{},[65,605,606],{},"WebSockets, HTTP\u002F2 y HTTP\u002F3",": Nginx tiene soporte excelente y configuración más sencilla.",[12,609,611],{"id":610},"lo-que-importa-más-que-el-motor","Lo que importa más que el motor",[17,613,614,615,618],{},"En la mayoría de webs reales que vemos, el cuello de botella ",[65,616,617],{},"no es Apache ni Nginx",": es PHP-FPM mal configurado, MySQL sin índices, imágenes no optimizadas o caché de aplicación inexistente.",[17,620,621],{},"Cambiar de Apache a Nginx esperando que la web vaya el doble de rápida sin tocar nada más suele decepcionar. Vale más:",[118,623,624,631,634,641,644],{},[39,625,626,627,630],{},"Activar ",[65,628,629],{},"OPcache"," en PHP.",[39,632,633],{},"Subir la versión de PHP a 8.3 o superior.",[39,635,636,637,640],{},"Usar ",[65,638,639],{},"caché de objetos"," (Redis, memcached).",[39,642,643],{},"Indexar bien la base de datos.",[39,645,646],{},"Servir imágenes con CDN.",[17,648,649],{},"Si después de eso aún hay problemas de rendimiento, entonces vale la pena replantearse la capa frontal.",[12,651,653],{"id":652},"configuración-mínima-recomendada-2026","Configuración mínima recomendada (2026)",[17,655,656],{},"Tanto en Apache como en Nginx:",[36,658,659,668,674,680,689],{},[39,660,661,664,665,667],{},[65,662,663],{},"PHP-FPM"," (no ",[75,666,507],{},").",[39,669,670,673],{},[65,671,672],{},"HTTP\u002F2"," activado y certificado SSL con Let’s Encrypt.",[39,675,676,679],{},[65,677,678],{},"Compresión Brotli"," además de gzip.",[39,681,682,685,686,667],{},[65,683,684],{},"Cabeceras de caché"," correctas para estáticos (1 año con ",[75,687,688],{},"immutable",[39,690,691,694],{},[65,692,693],{},"Logs de slow query"," activados para detectar cuellos en BD.",[12,696,187],{"id":186},[17,698,699],{},"En 2026 no hay un \"ganador\" claro entre Apache y Nginx para PHP. Hay una pregunta más útil: ¿qué domina tu equipo y qué opera mejor en producción?",[17,701,702,703,706],{},"Si arrancas de cero, ",[65,704,705],{},"Nginx + PHP-FPM"," suele ser más eficiente en recursos y más cómodo de configurar para casos modernos. Si vienes de Apache y todo funciona, no migres por moda: invierte ese tiempo en optimizar PHP, base de datos y caché.",[17,708,709,710,713],{},"Si tienes un servidor con PHP que va lento y no sabes por dónde meterle mano, ",[195,711,712],{"href":197},"te ayudamos a auditarlo"," sin compromiso.",{"title":201,"searchDepth":202,"depth":202,"links":715},[716,717,718,719,720,721,722,723],{"id":481,"depth":202,"text":482},{"id":495,"depth":202,"text":496},{"id":520,"depth":202,"text":521},{"id":541,"depth":202,"text":542},{"id":574,"depth":202,"text":575},{"id":610,"depth":202,"text":611},{"id":652,"depth":202,"text":653},{"id":186,"depth":202,"text":187},"2026-04-10","El debate Nginx vs Apache lleva años. En 2026 la respuesta no es la misma que en 2018. Te contamos cuándo elegir cada uno y por qué los benchmarks no dicen toda la verdad.",{},"\u002Fes\u002Fblog\u002Fnginx-vs-apache-php-2026",{"title":476,"description":725},"es\u002Fblog\u002Fnginx-vs-apache-php-2026",[227,226,731],"PHP","eVLBo7AxuFv4hcRC9fbyY4LoiCM7AHgjfeSTmzT1TzY",1777289996787]