StayTick — centro de mando de localización · SEO · AI-SEO · panel read-only
Catálogo vendible = 138.251 hoteles (fuente _seo_hotel_inv, ≥3★ + nombre + geo + foto, medido 2026-07-22; el feed puede actualizarlo vía targets.sellable_hotels). «Localizado completo» = traducido a los 9 idiomas activos además del español.
La escritura del texto en español va a ~4.000 hoteles/noche. La traducción a los 9 idiomas está con un freno de emergencia puesto (50 hoteles/noche) desde que se detectó que árabe, ruso, ucraniano y alemán fallaban siempre: el fallo ya está arreglado, pero el freno solo se quita con la decisión de presupuesto y ritmo. Coste del catálogo completo tras el abaratamiento del 31-jul (modo lote + memoria de traducción): ≈2.860 € (antes ~6.600 €). Ritmos: 10.000/día ≈ 14 noches · 6.000/día ≈ 24 · 3.000/día ≈ 46.
| # | Ciudad | País | Estado | Hoteles localizados |
|---|
Orden de trabajo oficial: por posición del ranking (Paris primero, Muğla último), y dentro de cada ciudad 5★ → 4★ → 3★. Estado por ciudad: hoy se deriva de los destinos con hoteles enriquecidos que publica el motor (destinations de status.json); «completada» solo cuando el feed lo declare (top100[], campo en construcción — ver contrato al pie).
Enriquecimiento (amenities grounded + prosa, matcher + Haiku 4.5 sobre hechos verificados, cero fabricación) y traducción (worker Haiku 4.5) en la infra propia de StayTick. Datos leídos en vivo desde ./status.json (mismo origen), regenerado por el motor nocturno.
Destinos cubiertos (hoteles enriquecidos, base español):
Muestra de hoteles traducidos (últimos por idioma — nombre, ciudad, fecha real):
| Idioma | Hotel | Ciudad | Traducido |
|---|
| Idioma | Hoteles traducidos | Última traducción | Enriquecidos (base) | Último enriquecimiento |
|---|
El feed del motor aún no publica el corte por categoría (by_category). La sección se enciende sola cuando el campo exista — el motor on-demand está en construcción (PR abierto en staytick-crm/content-engine). Sin números inventados: hasta entonces, aquí no se muestra ninguna cifra.
Motor técnico: cada búsqueda en la web se registra en search_log; un cron horario cruza con localization_status y encola lo no localizado en localization_queue (prioridad = nº de búsquedas); un worker vacía la cola. Activo desde el día 1 también durante la Fase 1. El feed (on_demand en status.json) aún no existe — cuando el motor lo publique, aquí se verán pendientes, procesados hoy/semana y qué búsqueda disparó cada localización.
El rating se obtiene bajo demanda (mismo disparador que la localización on-demand) y se refresca a los 6 meses. El feed (google_ratings en status.json) aún no existe — sin números inventados hasta que el motor lo publique.
| Idioma | Estado | Landing | UI parity | Ciudades nativas | Temas | SEO | AI-SEO | QA / CMO | PR | Nota |
|---|
| Segmento / tema | Estado | Filtro (amenity) | Idiomas |
|---|
| Continente | Universo (≥8 hoteles) | Tier primario |
|---|---|---|
| Europa | 9.542 | 430 |
| Asia | 6.160 | 190 |
| LatAm | 2.155 | 150 |
| Norteamérica | 1.577 | 91 |
| Oriente Medio | 587 | 85 |
| África | 542 | 95 |
| Oceanía | 505 | 60 |
PR #147 fusionado 2026-07-10. Medido solo con inventario propio de StayTick (Regla #1 — nunca datos de Trekko): destinos con ≥8 alojamientos reservables en ~20km (haversine sobre accommodations). Tier primario: continent-balanced, cap por país, dedup por proximidad. Long-tail: resuelto al primer visitante/crawler, con notFound() si el inventario real está vacío. Reparos del inspector resueltos en PR #148 (fusionado 2026-07-10).
Modelo (mandato CEO 2026-07-15): siembra única por página — cada landing se busca una sola vez (00:00–07:00 Madrid, máx 20 búsquedas/min, auto-freno si el vendor se estresa) y nunca se re-busca en masa. El precio capturado vive en la caché de datos de Vercel (unstable_cache, stale-while-revalidate): no caduca — la visita sirve el último precio al instante y solo lo refresca perezosamente en segundo plano. Nunca un "0": si el vendor no responde, se sirve el último precio guardado. El cobro siempre se valida en vivo al reservar (nunca se cobra sobre caché). Fuente: ./seed_status.json (mismo origen, regenerado al cierre de cada run nocturno).
Honestidad del dato: aquí se muestran URLs enviadas y el estado de cada canal, nunca «indexadas» sin verificación del buscador. Cuando GSC esté de alta y Bing WMT conectado, esta sección pasará a leer indexadas-vs-enviadas por idioma desde el feed (indexing en status.json — campo en construcción).
Bitácora curada por sesión de trabajo (se sella con fecha; no es un feed automático). Objetivo: que se vea el movimiento real de cada día sin entrar en GitHub.