← Volver al catálogo

🧹 Merchant Final Cleanup (reparar en vez de excluir)

Archivo: agentes/marketing/merchant-final-cleanup.ts · Plist: _(ninguno)_ · Horario: Manual / one-shot

Qué hace

Cierre del trabajo de Merchant Center: en lugar de excluir, REPARA los productos que activan vehicles_policy renombrándolos (quita palabras-flag como "Moto Cross", "1000W", "Tank", "DGT") y moviendo el título original al cuerpo HTML para conservar SEO. Además verifica con peticiones HEAD una muestra de URLs reportadas como landing_page_error, excluye del feed un producto en árabe sin contexto, e imprime un reporte de estado final con los pendientes manuales (language_mismatch, mercados no traducidos, imágenes pequeñas).

Cómo funciona

1. Carga .env y pagina productos activos.

2. Recorre RENAMES (regex → nuevo título + razón); por match: construye newBody insertando el título original como <strong> y hace PUT /products/{id} con title+body_html.

3. Busca el producto en árabe (زي اليوم/Z10) y lo excluye (tag google_excluded + metafield excluded_destination).

4. Hace fetch HEAD (redirect manual) a una lista fija de URLs públicas en varios idiomas/mercados y clasifica 200/3xx/404.

5. Imprime reporte final y enlaces a Shopify Markets, Translate&Adapt y Merchant Center.

Datos/APIs

  • Shopify Admin API (2024-10): products read, products PUT, metafields POST.
  • HTTP público a www.rifkings.com (verificación de landing pages).
  • Vars .env: SHOPIFY_STORE, SHOPIFY_ACCESS_TOKEN.

Cómo probarlo

cd /Users/user/rifai-agents && npx tsx agentes/marketing/merchant-final-cleanup.ts

Espera: renombrados aplicados (original → nuevo), chequeo de URLs con ✅/↪️/❌ y un reporte "ESTADO FINAL MERCHANT CENTER". Escribe en Shopify (renombra productos reales).

Si se rompe / recuperar

  • Sin plist. Acción de cierre puntual; las reglas RENAMES y TEST_URLS están hardcodeadas.
  • Logs: stdout (redirigir a /Users/user/rifai-agents/logs/merchant-final-cleanup.log).
  • Los pendientes (language_mismatch, mercados) requieren admin Shopify manual.

Cómo replicarlo

  • Tabla RENAMES (regex → título nuevo, conservando SEO en el body).
  • Exclusión del producto sin contexto (árabe).
  • Verificación HEAD de landing pages multimercado.
  • Reporte final con URLs de admin. Complementa merchant-exclude-vehicles.ts (enfoque opuesto: reparar vs excluir).