<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Miguel Figueroa</title>
    <description>The latest articles on DEV Community by Miguel Figueroa (@miguel_figueroa_ec14fd8ee).</description>
    <link>https://dev.to/miguel_figueroa_ec14fd8ee</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3810657%2F3dc0873e-340c-48bb-9524-43add46d9011.jpeg</url>
      <title>DEV Community: Miguel Figueroa</title>
      <link>https://dev.to/miguel_figueroa_ec14fd8ee</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/miguel_figueroa_ec14fd8ee"/>
    <language>en</language>
    <item>
      <title>Core Web Vitals: Guía completa de optimización</title>
      <dc:creator>Miguel Figueroa</dc:creator>
      <pubDate>Sun, 08 Mar 2026 22:20:05 +0000</pubDate>
      <link>https://dev.to/miguel_figueroa_ec14fd8ee/core-web-vitals-guia-completa-de-optimizacion-4j87</link>
      <guid>https://dev.to/miguel_figueroa_ec14fd8ee/core-web-vitals-guia-completa-de-optimizacion-4j87</guid>
      <description>&lt;p&gt;⚡ INTRODUCCIÓN&lt;/p&gt;

&lt;p&gt;Core Web Vitals son &lt;strong&gt;3 métricas que Google usa EXPLÍCITAMENTE&lt;/strong&gt; en ranking desde mayo 2021.&lt;/p&gt;

&lt;p&gt;⚠️ &lt;strong&gt;Ignorarlas = perder 40-80 posiciones en búsqueda orgánica&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;💡 &lt;strong&gt;PERO:&lt;/strong&gt; Son relativamente fáciles de mejorar.&lt;/p&gt;

&lt;p&gt;🎯 QUÉ SON CORE WEB VITALS&lt;/p&gt;

&lt;p&gt;Son &lt;strong&gt;3 métricas críticas&lt;/strong&gt; para experiencia del usuario:&lt;/p&gt;

&lt;p&gt;1️⃣ &lt;strong&gt;LCP&lt;/strong&gt; (Largest Contentful Paint) - &lt;strong&gt;Velocidad de carga&lt;/strong&gt;&lt;br&gt;
2️⃣ &lt;strong&gt;CLS&lt;/strong&gt; (Cumulative Layout Shift) - &lt;strong&gt;Estabilidad visual&lt;/strong&gt;&lt;br&gt;
3️⃣ &lt;strong&gt;INP&lt;/strong&gt; (Interaction to Next Paint) - &lt;strong&gt;Responsividad&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;🔥 LCP - LARGEST CONTENTFUL PAINT&lt;/p&gt;

&lt;p&gt;❓ &lt;strong&gt;Qué mide:&lt;/strong&gt; Tiempo hasta que usuario VE el contenido principal.&lt;/p&gt;

&lt;p&gt;📊 &lt;strong&gt;Objetivos 2026:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Verde (Good):&lt;/strong&gt; &amp;lt; 2.5 segundos&lt;br&gt;
⚠️ &lt;strong&gt;Amarillo (Needs):&lt;/strong&gt; 2.5-4 segundos&lt;br&gt;
❌ &lt;strong&gt;Rojo (Poor):&lt;/strong&gt; &amp;gt; 4 segundos&lt;/p&gt;

&lt;p&gt;💬 &lt;strong&gt;¿Por qué importa?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Si tarda 4 segundos:&lt;br&gt;
• &lt;strong&gt;70% de usuarios se van&lt;/strong&gt;&lt;br&gt;
• Bounce rate DISPARA&lt;br&gt;
• Revenue CADE&lt;/p&gt;

&lt;p&gt;🚀 &lt;strong&gt;CÓMO MEJORAR LCP:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;1️⃣ &lt;strong&gt;Optimizar Imágenes AGRESIVAMENTE&lt;/strong&gt;&lt;br&gt;
   • Compresión máxima: -70-80%&lt;br&gt;
   • Convertir a WebP: -40-50%&lt;br&gt;
   • Lazy load: -20-30%&lt;br&gt;
   • Herramientas: TinyPNG, ImageOptim&lt;br&gt;
   📉 &lt;strong&gt;Impacto: -15-20% LCP&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;2️⃣ &lt;strong&gt;Minimizar CSS/JavaScript&lt;/strong&gt;&lt;br&gt;
   • Quitar código no usado (PurgeCSS)&lt;br&gt;
   • Minify todo (Terser para JS)&lt;br&gt;
   📉 &lt;strong&gt;Impacto: -10-15%&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;3️⃣ &lt;strong&gt;Preload Recursos Críticos&lt;/strong&gt;&lt;br&gt;
   &lt;br&gt;
   📉 &lt;strong&gt;Impacto: -10-15%&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;4️⃣ &lt;strong&gt;Usar CDN Global&lt;/strong&gt;&lt;br&gt;
   • Firebase, Cloudflare, AWS CloudFront&lt;br&gt;
   📉 &lt;strong&gt;Impacto: -30-40%&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;5️⃣ &lt;strong&gt;Mejorar Server Response Time&lt;/strong&gt;&lt;br&gt;
   • Caching en servidor&lt;br&gt;
   • Database optimization&lt;br&gt;
   • Reduce API calls&lt;br&gt;
   📉 &lt;strong&gt;Impacto: -10-20%&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;⚖️ CLS - CUMULATIVE LAYOUT SHIFT&lt;/p&gt;

&lt;p&gt;❓ &lt;strong&gt;Qué mide:&lt;/strong&gt; Cuánto "salta" o "se mueve" contenido mientras carga.&lt;/p&gt;

&lt;p&gt;😤 &lt;strong&gt;Escenario:&lt;/strong&gt; Estás leyendo artículo, imagen carga abajo, texto sube 100px. Accidentalmente clickeas botón equivocado. 😞&lt;/p&gt;

&lt;p&gt;📊 &lt;strong&gt;Objetivos 2026:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Verde:&lt;/strong&gt; &amp;lt; 0.1&lt;br&gt;
⚠️ &lt;strong&gt;Amarillo:&lt;/strong&gt; 0.1-0.25&lt;br&gt;
❌ &lt;strong&gt;Rojo:&lt;/strong&gt; &amp;gt; 0.25&lt;/p&gt;

&lt;p&gt;🚀 &lt;strong&gt;CÓMO MEJORAR CLS:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;1️⃣ &lt;strong&gt;Definir Dimensiones de Imágenes&lt;/strong&gt;&lt;br&gt;
   &lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/..." class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/..." width="800" height="400"&gt;&lt;/a&gt;&lt;br&gt;
   • Navegador reserva espacio ANTES de cargar&lt;br&gt;
   📈 &lt;strong&gt;Impacto: +30-40%&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;2️⃣ &lt;strong&gt;Evitar Contenido Dinámico&lt;/strong&gt;&lt;br&gt;
   • Ads que aparecen después&lt;br&gt;
   • Notificaciones que empujan&lt;br&gt;
   📈 &lt;strong&gt;Impacto: +20-30%&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;3️⃣ &lt;strong&gt;Transform/Opacity para Animaciones&lt;/strong&gt;&lt;br&gt;
   • NO cambiar width/height&lt;br&gt;
   .box { transform: translateX(100px); }&lt;br&gt;
   📈 &lt;strong&gt;Impacto: +15-25%&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;4️⃣ &lt;strong&gt;Fonts Sin FOIT/FOUT&lt;/strong&gt;&lt;br&gt;
   • font-display: swap en CSS&lt;br&gt;
   📈 &lt;strong&gt;Impacto: +10-20%&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;5️⃣ &lt;strong&gt;Evitar Scripts que Muevan DOM&lt;/strong&gt;&lt;br&gt;
   • JavaScript dinámico&lt;br&gt;
   📈 &lt;strong&gt;Impacto: +10-20%&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;⚡ INP - INTERACTION TO NEXT PAINT&lt;/p&gt;

&lt;p&gt;❓ &lt;strong&gt;Qué mide:&lt;/strong&gt; Tiempo para responder cuando clickeas.&lt;/p&gt;

&lt;p&gt;Clickeas "Add to Cart" - ¿cuánto esperas?&lt;/p&gt;

&lt;p&gt;📊 &lt;strong&gt;Objetivos 2026:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Verde:&lt;/strong&gt; &amp;lt; 200ms&lt;br&gt;
⚠️ &lt;strong&gt;Amarillo:&lt;/strong&gt; 200-500ms&lt;br&gt;
❌ &lt;strong&gt;Rojo:&lt;/strong&gt; &amp;gt; 500ms&lt;/p&gt;

&lt;p&gt;💡 &lt;strong&gt;200ms no suena mucho, PERO:&lt;/strong&gt;&lt;br&gt;
Es la diferencia entre "instantáneo" vs "lento"&lt;/p&gt;

&lt;p&gt;🚀 &lt;strong&gt;CÓMO MEJORAR INP:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;1️⃣ &lt;strong&gt;Reducir Main Thread Work&lt;/strong&gt;&lt;br&gt;
   • Operaciones computacionales pesadas&lt;br&gt;
   • Loops largos&lt;br&gt;
   • Canvas manipulation&lt;br&gt;
   📈 &lt;strong&gt;Impacto: +20-30%&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;2️⃣ &lt;strong&gt;Defer JavaScript No-Crítico&lt;/strong&gt;&lt;br&gt;
   • Cargar después de interacción&lt;br&gt;
   📈 &lt;strong&gt;Impacto: +10-20%&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;3️⃣ &lt;strong&gt;Web Workers para Cálculos Pesados&lt;/strong&gt;&lt;br&gt;
   • Off-thread computation&lt;br&gt;
   📈 &lt;strong&gt;Impacto: +30-50%&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;4️⃣ &lt;strong&gt;Debounce Event Listeners&lt;/strong&gt;&lt;br&gt;
   • Si evento dispara 100x/s, procesarlo cada 100ms&lt;br&gt;
   📈 &lt;strong&gt;Impacto: +15-25%&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;5️⃣ &lt;strong&gt;Code Splitting por Ruta&lt;/strong&gt;&lt;br&gt;
   • Cada ruta solo código necesario&lt;br&gt;
   📈 &lt;strong&gt;Impacto: +10-20%&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;🛠️ HERRAMIENTAS PARA MEDIR&lt;/p&gt;

&lt;p&gt;1️⃣ &lt;strong&gt;Google PageSpeed Insights&lt;/strong&gt;&lt;br&gt;
   ✓ Gratis, web, resultado en 10s&lt;br&gt;
   ✓ Simula 4G y mobile&lt;/p&gt;

&lt;p&gt;2️⃣ &lt;strong&gt;Chrome DevTools Lighthouse&lt;/strong&gt;&lt;br&gt;
   ✓ Integrado en navegador&lt;br&gt;
   ✓ Corre localmente, más control&lt;/p&gt;

&lt;p&gt;3️⃣ &lt;strong&gt;WebPageTest&lt;/strong&gt;&lt;br&gt;
   ✓ Gratuito, muy detallado&lt;br&gt;
   ✓ Múltiples locaciones&lt;/p&gt;

&lt;p&gt;4️⃣ &lt;strong&gt;Unlighthouse&lt;/strong&gt;&lt;br&gt;
   ✓ Scanea 1000s URLs automáticamente&lt;/p&gt;

&lt;p&gt;5️⃣ &lt;strong&gt;Real User Monitoring&lt;/strong&gt;&lt;br&gt;
   ✓ Datos reales de usuarios&lt;br&gt;
   ✓ Google Analytics, Sentry&lt;/p&gt;

&lt;p&gt;💎 CASO REAL: MEJORA DRAMÁTICA&lt;/p&gt;

&lt;p&gt;❌ &lt;strong&gt;ANTES&lt;/strong&gt; (sitio Ecommerce Chile):&lt;br&gt;
• LCP: 4.2 segundos&lt;br&gt;
• CLS: 0.35&lt;br&gt;
• INP: 280ms&lt;br&gt;
• Lighthouse: 38&lt;br&gt;
• Google Ranking: Posición 45-60&lt;/p&gt;

&lt;p&gt;⚙️ &lt;strong&gt;Optimizaciones (20 horas trabajo):&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;1️⃣ Compresión WebP imágenes (2h)&lt;br&gt;
2️⃣ Lazy load imágenes (1h)&lt;br&gt;
3️⃣ Minify CSS/JS (2h)&lt;br&gt;
4️⃣ Preload critical (1h)&lt;br&gt;
5️⃣ Image dimensions (2h)&lt;br&gt;
6️⃣ Font optimization (1h)&lt;br&gt;
7️⃣ Code splitting (3h)&lt;br&gt;
8️⃣ Debounce listeners (1h)&lt;br&gt;
9️⃣ Reduce main thread (4h)&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;RESULTADO FINAL:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;📊 &lt;strong&gt;Métricas:&lt;/strong&gt;&lt;br&gt;
• LCP: 1.8s (&lt;strong&gt;-57% mejora&lt;/strong&gt; 🎉)&lt;br&gt;
• CLS: 0.04 (&lt;strong&gt;-89% mejora&lt;/strong&gt; 🎉)&lt;br&gt;
• INP: 95ms (&lt;strong&gt;-66% mejora&lt;/strong&gt; 🎉)&lt;br&gt;
• Lighthouse: 92 (&lt;strong&gt;+54 puntos&lt;/strong&gt; 🎉)&lt;br&gt;
• Google Ranking: Posición 5-10 (después 2 meses)&lt;/p&gt;

&lt;p&gt;💰 &lt;strong&gt;Impacto negocio:&lt;/strong&gt;&lt;br&gt;
• Ranking: +40-55 posiciones&lt;br&gt;
• Traffic búsqueda: &lt;strong&gt;+40%&lt;/strong&gt; en 2 meses&lt;br&gt;
• Leads: &lt;strong&gt;+120/mes&lt;/strong&gt; nuevos&lt;br&gt;
• Conversión: &lt;strong&gt;+40%&lt;/strong&gt; (mejor UX)&lt;/p&gt;

&lt;p&gt;💵 &lt;strong&gt;Inversión vs ROI:&lt;/strong&gt;&lt;br&gt;
• Inversión: 2,000 USD (20 horas)&lt;br&gt;
• ROI: +500 USD/mes ingresos&lt;br&gt;
• Payback: &lt;strong&gt;4 meses&lt;/strong&gt; ⚡&lt;/p&gt;

&lt;p&gt;✨ CONCLUSIÓN&lt;/p&gt;

&lt;p&gt;🎯 &lt;strong&gt;Core Web Vitals no son complicadas&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Son 3 métricas medibles&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;🚀 &lt;strong&gt;Mejora las 3 y tu ranking sube dramáticamente&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;✨ &lt;strong&gt;Hazlo ahora&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>corewebvitals</category>
      <category>productivity</category>
      <category>angular</category>
      <category>firebase</category>
    </item>
    <item>
      <title>Firebase Hosting: SEO y performance para Angular</title>
      <dc:creator>Miguel Figueroa</dc:creator>
      <pubDate>Fri, 06 Mar 2026 22:57:37 +0000</pubDate>
      <link>https://dev.to/miguel_figueroa_ec14fd8ee/firebase-hosting-seo-y-performance-para-angular-43i2</link>
      <guid>https://dev.to/miguel_figueroa_ec14fd8ee/firebase-hosting-seo-y-performance-para-angular-43i2</guid>
      <description>&lt;p&gt;Firebase Hosting es la plataforma &lt;strong&gt;#1&lt;/strong&gt; para deployar Angular en 2026.&lt;/p&gt;

&lt;p&gt;❓ &lt;strong&gt;¿Por qué?&lt;/strong&gt; Porque combina:&lt;br&gt;
✅ Simplicidad&lt;br&gt;
✅ Rendimiento global&lt;br&gt;
✅ Precio increíble&lt;/p&gt;

&lt;p&gt;🌍 &lt;strong&gt;Qué te ofrece Firebase:&lt;/strong&gt;&lt;br&gt;
✓ CDN global con 37 data centers&lt;br&gt;
✓ Latency bajo (50ms típicamente)&lt;br&gt;
✓ HTTPS automático y gratuito&lt;br&gt;
✓ Deploy en 1 comando&lt;br&gt;
✓ Versionado automático&lt;br&gt;
✓ Integración Google Cloud&lt;br&gt;
✓ 1 GB almacenamiento gratis monthly&lt;/p&gt;

&lt;p&gt;⭐ VENTAJAS FIREBASE HOSTING&lt;/p&gt;

&lt;p&gt;1️⃣ &lt;strong&gt;Velocidad Global&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Content desde data center más CERCANO&lt;/p&gt;

&lt;p&gt;🌐 Santiago Chile?&lt;br&gt;
      → Content desde São Paulo o Miami&lt;/p&gt;

&lt;p&gt;⚡ Latency: 50ms vs 500ms hosting lejano&lt;/p&gt;

&lt;p&gt;🎯 CRÍTICO para SEO&lt;/p&gt;

&lt;p&gt;2️⃣ &lt;strong&gt;LCP RÁPIDO&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Usuarios ven contenido: 0.8-1.2 segundos&lt;/p&gt;

&lt;p&gt;📈 +30-80 posiciones Google ranking&lt;/p&gt;

&lt;p&gt;3️⃣ &lt;strong&gt;HTTPS Automático&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;✓ Certificado SSL automático&lt;br&gt;
   ✓ Se renueva automáticamente&lt;br&gt;
   ✓ Cero configuración&lt;br&gt;
   ✓ Google penaliza sin HTTPS&lt;/p&gt;

&lt;p&gt;4️⃣ &lt;strong&gt;Custom Domain Simple&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;✓ 1-click agregar dominio&lt;br&gt;
   ✓ Firebase maneja DNS, SSL, todo&lt;/p&gt;

&lt;p&gt;5️⃣ &lt;strong&gt;CI/CD Integración&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;✓ Conecta GitHub&lt;br&gt;
   ✓ Cada push deploya automáticamente&lt;br&gt;
   ✓ Zero downtime deployments&lt;/p&gt;

&lt;p&gt;6️⃣ &lt;strong&gt;Versionado Automático&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;✓ Cada deploy es una versión&lt;br&gt;
   ✓ Si falla, rollback en 1 click&lt;/p&gt;

&lt;p&gt;7️⃣ &lt;strong&gt;Cloud Functions&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;✓ Backend serverless (Node.js, Python, Go)&lt;br&gt;
   ✓ Integrado&lt;/p&gt;

&lt;p&gt;8️⃣ &lt;strong&gt;Real-time Database&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;✓ Si necesitas sync real-time&lt;br&gt;
   ✓ Firebase incluye&lt;/p&gt;

&lt;p&gt;❌ DESVENTAJAS FIREBASE&lt;/p&gt;

&lt;p&gt;1️⃣ &lt;strong&gt;Solo Estático&lt;/strong&gt;&lt;br&gt;
   • Para contenido estático&lt;br&gt;
   • SSR puro: opciones limitadas&lt;br&gt;
   • Debes usar Cloud Functions&lt;/p&gt;

&lt;p&gt;2️⃣ &lt;strong&gt;Cold Start&lt;/strong&gt;&lt;br&gt;
   • Cloud Functions: 2-3 segundos&lt;br&gt;
   • Primera ejecución&lt;br&gt;
   • Llamadas posteriores: 20ms&lt;/p&gt;

&lt;p&gt;3️⃣ &lt;strong&gt;Pricing Post 1GB&lt;/strong&gt;&lt;br&gt;
   • 1 GB/mes: GRATIS&lt;br&gt;
   • Después: 0.15 USD/GB&lt;br&gt;
   • A escala puede ser caro&lt;br&gt;
   • Normalmente NO es problema&lt;/p&gt;

&lt;p&gt;4️⃣ &lt;strong&gt;Vendor Lock-in&lt;/strong&gt;&lt;br&gt;
   • Cloud Functions + Firestore + Auth&lt;br&gt;
   • 100% dependiente de Google&lt;/p&gt;

&lt;p&gt;🚀 OPTIMIZACIÓN PARA SEO EN FIREBASE&lt;/p&gt;

&lt;p&gt;📌 &lt;strong&gt;Paso 1: Cache Headers Óptimos&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;En &lt;strong&gt;firebase.json&lt;/strong&gt;, configura headers específicos:&lt;/p&gt;

&lt;p&gt;💾 index.html&lt;br&gt;
   → NUNCA cachear (revalidar cada visita)&lt;/p&gt;

&lt;p&gt;💾 *.js files&lt;br&gt;
   → Cache 30 días (users ven update mínimo 30 días)&lt;/p&gt;

&lt;p&gt;💾 *.css files&lt;br&gt;
   → Cache 365 días&lt;/p&gt;

&lt;p&gt;💾 /assets/&lt;br&gt;
   → Cache 365 días&lt;/p&gt;

&lt;p&gt;⚠️ &lt;strong&gt;CRÍTICO:&lt;/strong&gt; Si cacheas index.html 30 días, usuarios verán versión vieja por UN MES&lt;/p&gt;

&lt;p&gt;📌 &lt;strong&gt;Paso 2: SSR con Angular Universal&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;🔧 &lt;strong&gt;Build commands:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;npm run build:prod &amp;amp;&amp;amp; ng run myapp:server:production&lt;/p&gt;

&lt;p&gt;Deploy a &lt;strong&gt;Cloud Functions&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;📈 &lt;strong&gt;Resultado:&lt;/strong&gt; LCP cae de 3-4s a &lt;strong&gt;1.2s&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;📌 &lt;strong&gt;Paso 3: Optimizar Imágenes AGRESIVAMENTE&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;✓ Convertir a WebP (40-50% menor)&lt;br&gt;
✓ Lazy load&lt;br&gt;
✓ Responsive images&lt;br&gt;
✓ Herramientas: sharp, ImageOptim, tinypng&lt;/p&gt;

&lt;p&gt;📉 &lt;strong&gt;Impacto:&lt;/strong&gt; -30-40% bundle size&lt;/p&gt;

&lt;p&gt;📌 &lt;strong&gt;Paso 4: Lazy Load Componentes&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;✓ No todos necesitan initial bundle&lt;br&gt;
✓ Angular lazy loading por route&lt;/p&gt;

&lt;p&gt;📉 &lt;strong&gt;Resultado:&lt;/strong&gt; -50% bundle size&lt;/p&gt;

&lt;p&gt;📌 &lt;strong&gt;Paso 5: Code Splitting&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Angular CLI automáticamente:&lt;br&gt;
✓ Chunk separado por ruta&lt;br&gt;
✓ Cada ruta su propio JS file&lt;/p&gt;

&lt;p&gt;📉 &lt;strong&gt;Resultado:&lt;/strong&gt; -60% first page load&lt;/p&gt;

&lt;p&gt;📊 CASO REAL: MEJORA PERFORMANCE&lt;/p&gt;

&lt;p&gt;❌ &lt;strong&gt;ANTES&lt;/strong&gt; (Firebase sin optimizaciones):&lt;br&gt;
• LCP: 4.2 segundos&lt;br&gt;
• CLS: 0.35&lt;br&gt;
• Lighthouse: 42&lt;br&gt;
• Google Ranking: Posición 35-50&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;DESPUÉS&lt;/strong&gt; (Firebase + SSR + Images + Code splitting):&lt;br&gt;
• LCP: 1.2 segundos (-57% 🎉)&lt;br&gt;
• CLS: 0.04 (-89% 🎉)&lt;br&gt;
• Lighthouse: 92 (+50 puntos 🎉)&lt;br&gt;
• Google Ranking: Posición 2-8 (después 2-3 meses)&lt;/p&gt;

&lt;p&gt;📈 &lt;strong&gt;Impacto:&lt;/strong&gt; +180% traffic búsqueda orgánica&lt;/p&gt;

&lt;p&gt;💰 PRICING FIREBASE 2026&lt;/p&gt;

&lt;p&gt;📊 &lt;strong&gt;Tabla comparativa:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Hasta 1 GB/mes      → &lt;strong&gt;GRATIS&lt;/strong&gt; ✅&lt;br&gt;
Crecimiento +10 GB  → 1.5 USD/mes&lt;br&gt;
Gigantesco +100 GB  → 15 USD/mes&lt;/p&gt;

&lt;p&gt;⚡ &lt;strong&gt;VS AWS CloudFront:&lt;/strong&gt; 85-200 USD/mes&lt;/p&gt;

&lt;p&gt;✨ Firebase es &lt;strong&gt;10-15x más barato&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;⚙️ DEPLOY EN 3 COMANDOS&lt;/p&gt;

&lt;p&gt;1️⃣ npm install -g firebase-tools&lt;br&gt;
2️⃣ firebase init hosting&lt;br&gt;
3️⃣ firebase deploy&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;¡LISTO!&lt;/strong&gt; Tu app está en internet:&lt;br&gt;
✓ HTTPS automático&lt;br&gt;
✓ CDN global&lt;br&gt;
✓ Performance optimizado&lt;/p&gt;

&lt;p&gt;✨ CONCLUSIÓN&lt;/p&gt;

&lt;p&gt;🚀 &lt;strong&gt;Firebase Hosting + Angular = PRÁCTICAMENTE PERFECTA en 2026&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;✅ Velocidad&lt;br&gt;
✅ SEO&lt;br&gt;
✅ Precio&lt;/p&gt;

&lt;p&gt;😊 Difícil de mejorar sin ir a soluciones custom enterprise.&lt;/p&gt;

</description>
      <category>seo</category>
      <category>angular</category>
      <category>firebase</category>
      <category>performance</category>
    </item>
  </channel>
</rss>
