Skip to content

feat(web): SEO/GEO — descubribilidad, datos estructurados y contenidos ampliados - #283

Merged
vgpastor merged 4 commits into
mainfrom
claude/nostalgic-elbakyan-46e528
Jul 1, 2026
Merged

feat(web): SEO/GEO — descubribilidad, datos estructurados y contenidos ampliados#283
vgpastor merged 4 commits into
mainfrom
claude/nostalgic-elbakyan-46e528

Conversation

@vgpastor

@vgpastor vgpastor commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Objetivo

Hacer ResponseGrid descubrible y citable por buscadores y motores de IA, y contar todo lo que hace la plataforma (hoy la home apenas mostraba una fracción de las features). Deriva de una auditoría GEO (score de partida ~30/100).

Cambios (base técnica)

  • app/sitemap.ts dinámico: home + páginas de info + una entrada por emergencia (/e/{slug}) desde GET /emergencies. Antes las emergencias no eran descubribles.
  • app/robots.ts en el origen apuntando al sitemap y excluyendo panel/auth/api. Nota: responsegrid.app va tras Cloudflare y su "Managed robots.txt" puede servir el suyo en el edge — hay que revisar allí que OAI-SearchBot, PerplexityBot y Googlebot (AI Overviews) estén permitidos.
  • public/llms.txt describiendo la plataforma y sus páginas para asistentes de IA.
  • JSON-LD: Organization + WebSite en el layout, y SpecialAnnouncement (el tipo schema.org para avisos de emergencia) en cada /e/{slug}. Escapado anti-inyección para strings de BBDD.
  • OpenGraph + Twitter + canonical en home y detalle; metadatos con términos reales de búsqueda ("puntos de acopio", "cómo ayudar", "donar material"…).

Cambios (contenido)

  • Home: nueva sección "Todo el operativo en una sola plataforma" con las 11 capacidades clave (puntos con inventario, necesidades validadas, matching, transporte, voluntariado, pre-registro con QR + seguimiento, mapa en tiempo real, partes de campo, niveles de confianza, API/open source).
  • Detalle de emergencia: párrafo intro citable (qué es, cómo ayudar, qué NO llevar) + atribución de fuente.
  • i18n es/en al día.

Verificación

  • pnpm --filter web lint ✅ (solo warning preexistente en apple-icon.tsx)
  • pnpm --filter @reliefhub/api-client build
  • pnpm --filter web build ✅ — /robots.txt estático, /sitemap.xml dinámico, /e/[slug] OK, sin errores de tipos.

Fuera de este PR (requiere acción manual)

  • Cloudflare: allow-list de bots de citación + política ai-input.
  • Search Console / Bing WMT: alta y envío del sitemap.
  • Outreach: menciones/enlaces desde fuentes que la IA ya cita (Wikipedia, directorios, prensa).

…s ampliados

- sitemap.ts dinámico (home + info + una entrada por emergencia)
- robots.ts en el origen apuntando al sitemap (nota: Cloudflare managed puede sombrearlo)
- public/llms.txt describiendo la plataforma para motores de IA
- JSON-LD: Organization + WebSite (layout) y SpecialAnnouncement por emergencia
- OpenGraph/Twitter + canonical en home y detalle de emergencia; metadatos con términos reales de búsqueda
- home: sección "Todo el operativo en una sola plataforma" con las 11 capacidades clave (antes no se contaban)
- detalle de emergencia: intro citable + atribución de fuente
- i18n es/en al día
@vercel

vercel Bot commented Jul 1, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
response-grid Ready Ready Preview, Comment Jul 1, 2026 8:54pm

Request Review

- opengraph-image.tsx en /e/[slug]: preview social 1200x630 con nombre y estado
  de la emergencia (next/og, sin tooling raster); twitter card a summary_large_image
- FAQ visible (4 preguntas reales) + JSON-LD FAQPage en el detalle de emergencia
- i18n es/en
… que hace la plataforma

- nueva /funcionalidades: 7 bloques que describen todas las capacidades (acopio+inventario,
  necesidades validadas+matching, logística/transporte, donaciones trazables con QR,
  voluntariado/cuadrillas/orgs, coordinación en tiempo real, confianza+API+open source)
- JSON-LD ItemList (inventario citable de funcionalidades)
- enlazada desde footer (Recursos), home (CTA bajo features), sitemap y llms.txt
- i18n es/en
…kyan-46e528

# Conflicts:
#	apps/web/src/app/layout.tsx
@vgpastor
vgpastor enabled auto-merge (squash) July 1, 2026 20:54
@vgpastor
vgpastor merged commit 9bc445c into main Jul 1, 2026
6 checks passed
@vgpastor
vgpastor deleted the claude/nostalgic-elbakyan-46e528 branch July 1, 2026 20:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant