Contexto
La app no tiene SEO básico ni og:images. Para captar tráfico orgánico y compartir bien en Twitter/LinkedIn lo necesitamos.
Alcance
app/layout.tsx: metadata completa (title template, description, keywords, authors, openGraph, twitter).
app/sitemap.ts (dinámico, lista rutas públicas).
app/robots.ts (allow landing, disallow /app/*).
app/icon.tsx y app/apple-icon.tsx con next/og (favicon SVG dinámico).
app/opengraph-image.tsx con next/og: imagen 1200x630 con logo Faro, tagline y gradiente del branding.
- Metadata por ruta importante de la landing (si se llega a dividir).
- JSON-LD básico (Organization schema) en el layout.
Definition of done
- Compartir
https://faro.app (o equivalente) en Twitter/X genera card con la imagen.
- Lighthouse SEO = 100.
/sitemap.xml accesible y válido.
Por qué es seguro delegarlo
Solo metadata y generación de imágenes. No toca backend ni wallet.
Contexto
La app no tiene SEO básico ni og:images. Para captar tráfico orgánico y compartir bien en Twitter/LinkedIn lo necesitamos.
Alcance
app/layout.tsx: metadata completa (title template, description, keywords, authors, openGraph, twitter).app/sitemap.ts(dinámico, lista rutas públicas).app/robots.ts(allow landing, disallow/app/*).app/icon.tsxyapp/apple-icon.tsxcon next/og (favicon SVG dinámico).app/opengraph-image.tsxcon next/og: imagen 1200x630 con logo Faro, tagline y gradiente del branding.Definition of done
https://faro.app(o equivalente) en Twitter/X genera card con la imagen./sitemap.xmlaccesible y válido.Por qué es seguro delegarlo
Solo metadata y generación de imágenes. No toca backend ni wallet.