tech stack

Framework web detectado

MetricSpot identifica el framework de JavaScript que renderiza la página (Next.js, Astro, Nuxt, SvelteKit, Remix, React, Vue). Informativo — adapta las recetas del resto de la auditoría.

Qué comprueba esta verificación

Identifica el framework de JavaScript que renderiza la página a partir de un conjunto en capas de firmas. La primera señal fiable gana, y el resultado es puramente informativo — esta regla nunca hace fallar una auditoría.

FrameworkFirmas principales
Next.js<script id="__NEXT_DATA__">, /_next/static/, runtime __next_f, x-powered-by: Next.js
Nuxtwindow.__NUXT__, /_nuxt/, <div id="__nuxt">, <script id="__NUXT_DATA__">
Astroelemento personalizado astro-island, atributos data-astro-cid-*, comentario <!-- generated by Astro -->, etiquetas de estilos View-Transitions
SvelteKit<script data-sveltekit-hydrate>, /_app/immutable/, globales __sveltekit_*
Remix / React Router 7window.__remixContext, /build/_assets/, <link rel="modulepreload" href="/build/, URLs _data estilo Remix
Gatsby/page-data/, window.___gatsby, <div id="___gatsby">
Create React App/static/js/main.*.js, /static/css/main.*.css, <div id="root"> sin marcado SSR
Vite + React/Vue/assets/index-*.js, <script type="module"> con entry hasheado, sin globales específicos del framework
Vue (standalone)<div id="app">, window.Vue, atributos scoped data-v-*
Angular<app-root>, atributo ng-version en el elemento raíz

Cuando MetricSpot no puede clasificar la página con confianza (builds muy personalizados, HTML renderizado en servidor con todas las firmas del framework eliminadas), informa “ningún framework detectado” y trata la auditoría como un sitio HTML renderizado en servidor.

Por qué importa

Igual que la verificación del CMS — es contexto que permite al resto de la auditoría elegir la receta correcta.

  • Una etiqueta canonical ausente en Next.js se arregla vía el export metadata en App Router; en Astro va en tu <Layout>; en CRA no hay arreglo real sin un servidor.
  • Un fallo en Largest Contentful Paint en Gatsby suele significar configuración mala del plugin de imágenes; en Next.js apunta a hints de prioridad de next/image o al límite de streaming; en una SPA de Vite suele ser renderizado client-side del contenido above-the-fold (el arreglo real es SSR).
  • Un fallo en Interaction to Next Paint en Remix o Next.js App Router apunta a client components demasiado grandes; en Astro apunta a islands que deberían ser client:visible en vez de client:load.
  • Un Sitemap XML es @astrojs/sitemap en Astro, next-sitemap en Next.js Pages Router, o sitemap.ts en App Router — la etiqueta del arreglo es distinta cada vez.

El framework también predice techos. Los sitios estáticos de Astro o Next.js puntúan habitualmente 95+ en Lighthouse performance; las SPAs de CRA o Vue puras renderizadas en cliente rara vez pasan de 70 sin code-splitting agresivo. Saber dónde estás te dice qué vale la pena optimizar y qué vale la pena migrar.

Cómo arreglarlo

No hay nada que arreglar — esta regla es informativa. La acción es leer el resto de tu auditoría con el prisma de las convenciones de tu framework.

Next.js (App Router) — casi todo arreglo de metadata es el export metadata en layout.tsx o page.tsx. Las cabeceras de seguridad van en next.config.js bajo async headers(). Las imágenes usan next/image con priority para LCP.

Next.js (Pages Router)<Head> en pages/_app.tsx para tags globales del sitio, <Head> por página para overrides. next-sitemap para sitemaps. Las cabeceras siguen en next.config.js.

Astro — todo lo de nivel de página va en tu componente <Layout> o en un bloque frontmatter por página. @astrojs/sitemap para sitemaps, import.meta.env nativo para datos de build time. El modelo “cero JS por defecto” de Astro significa que la mayoría de auditorías de rendimiento pasan sin intervención.

Nuxt 3 — composable useHead() o definePageMeta() para metadata. nuxt.config.ts para ajustes globales. @nuxtjs/sitemap para sitemaps.

SvelteKit<svelte:head> en +layout.svelte para tags globales; <svelte:head> por ruta para overrides. Las cabeceras vía hook handle en src/hooks.server.ts.

Remix — exports meta y headers por ruta. Export links para preloads y stylesheets.

Create React App / Vite SPA — la mayoría de hallazgos que requieren server (cabeceras de seguridad, URLs canónicas, tags OG) no se pueden arreglar del todo sin renderizado en servidor o un paso de build que inyecte meta. Considera migrar a Vite + SSR (con un framework como Astro o Remix) antes de pelearte con reglas individuales.

Vue (standalone) — usa vue-meta (Vue 2) o @unhead/vue (Vue 3) para head tags dinámicos. Para SEO de calidad SSR, usa Nuxt.

Ningún framework detectado — estás en HTML plano o en una plantilla server-side (PHP, Rails, Django, plantillas de Go). Cada arreglo es una edición directa al template fuente; tienes el máximo control y la mínima magia.

Esconde las firmas del framework si tienes que hacerlo. Puedes quitar las cabeceras x-powered-by y los comentarios <!-- generated by … -->, pero las firmas de runtime (IDs de nodo de montaje, rutas de assets hasheadas, globales de hidratación) están horneadas en el framework y quitarlas lo rompe. No vale la pena el esfuerzo.

Preguntas frecuentes

MetricSpot detectó mi framework mal. ¿Por qué?

El caso más habitual es detectar el framework envoltorio en vez del meta-framework. Un sitio Next.js es también un sitio React — MetricSpot informa Next.js porque es más específico. Un sitio Nuxt es también Vue; reportamos Nuxt. Si ves “React” pero estás en Next.js, tu build probablemente está quitando el script __NEXT_DATA__ — inusual, pero posible en modos de salida personalizados.

¿El framework afecta a mi puntuación de auditoría?

No, esta regla es sólo informativa. Sí cambia qué recetas ves — los fallos en otra parte de la auditoría recomendarán un arreglo apropiado a tu stack detectado.

¿Y si uso varios frameworks (micro-frontends)?

MetricSpot reporta el framework que renderiza la cáscara de la página. Si tu cáscara es Next.js pero una sección es un micro-frontend de Vue, reportaremos Next.js. Los setups de micro-frontend de una sola página son raros en superficies de marketing — si tienes uno, ya sabrás qué framework manda en cada ruta y podrás interpretar la auditoría en consecuencia.

Fuentes

Última actualización 2026-05-11