De Next.js a PHP en 1 día (con IA) 🚀 140KB → 4KB

Tenía mi sitio personal en Next.js. Estaba bien, moderno, todo lindo… pero para una página súper simple era demasiado motor para tan poca bici. Me picó el bicho de la optimización y me propuse un desafío: migrarlo a PHP plano en un día, con ayuda de IA (Claude Code). Resultado: de 140 KB a 4 KB y la carga bajó de 1.5 s a 0.8 s. En el video te muestro el paso a paso y el antes / después en Lighthouse.

Qué hice y por qué

Cuando un framework te queda grande

Next.js es un cañón, pero mi sitio era una landing estática con un par de páginas. Mucho JavaScript para algo que básicamente es HTML y texto. Esa sobrecarga se sentía en el bundle y en la hidratación del cliente.

El plan de ataque

  • Sacar todo JS que no sea imprescindible.
  • Volver a HTML + CSS mínimo y usar PHP solo para includes y un ruteo simple.
  • Sin build step, sin dependencias, sin magia.
  • Mantenerlo fácil de autohospedar en una VPS.

La mano de la IA (Claude Code)

Usé Claude Code como copiloto:

  • Le pasé componentes de Next.js y me devolvió el HTML/CSS equivalente.
  • Reescribió estilos a CSS plano, sin Tailwind ni librerías.
  • Me ayudó a armar includes de PHP y un ruteo minimalista.

No es que la IA haga milagros sola, pero acelera muchísimo el refactor cuando vos sabés adónde querés llegar.

Optimizaciones que más sumaron

  • Cero JavaScript en la primera carga.
  • Tipografías del sistema (chau fuentes externas).
  • CSS mínimo, inline en la home.
  • SVGs inline en vez de icon libraries.
  • Imágenes optimizadas y solo cuando hacen falta.
  • Cache agresiva y compresión activada en el server.
VER:  Esta herramienta gratis va EXPLOTAR tu productividad - Fabric

Los números

  • Peso: de 140 KB a 4 KB.
  • Tiempo de carga: de ~1.5 s a ~0.8 s.
  • Lighthouse: todo más verde y estable, sin depender del runtime del cliente.

El esqueleto en PHP (simple y efectivo)

<?php
// public/index.php
$routes = [
  '/' => 'pages/home.php',
  '/about' => 'pages/about.php',
];

$uri = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
$file = $routes[$uri] ?? 'pages/404.php';

include 'partials/head.php';
include $file;
include 'partials/footer.php';

Con eso ya tengo includes, ruteo básico y cero dependencias. Si mañana quiero sumar un formulario o un poco de interactividad progresiva, lo agrego a medida.

¿Cuándo conviene algo así?

  • Tenés un sitio informativo o una landing mínima.
  • Querés tiempos de carga muy bajos.
  • Valorás simplicidad, control y costos bajos de hosting.
  • No necesitás features de framework (SSR complejo, routing dinámico pesado, data fetching avanzado).

¿No conviene? Cuando tu app sí necesita todo eso (y más), o tu equipo ya está montado sobre el ecosistema de React/Next y aporta valor real.

Video

Cierre

No es una cruzada anti-frameworks. Es una invitación a medir y a elegir la herramienta justa. A veces la mejor optimización es borrar cosas. Si tu sitio puede vivir sin toda la maquinaria, probá este enfoque minimalista: simple, rápido y barato de mantener. Y si te suma, lo construimos juntos. Nos vemos en el video.

Loading

Esta entrada fue publicada el youtube. Agregá a favoritos el enlace permalink.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *