Programa standalone para reescribir backup .wpress (All-in-One WP Migration) con OpenAI y generar nuevo .wpress no duplicado (SEO), cambiando títulos + slugs + H1/H2/H3, SIN romper menús ni Divi/Elementor

Job ID: 40232185

Budget: $30 – $250 USD

OBJETIVO

Necesito un programa externo (standalone) (preferiblemente Python) que reciba un archivo .wpress generado con All-in-One WP Migration, reescriba automáticamente todo el contenido con OpenAI para evitar duplicidad en Google manteniendo intención SEO y estructura, y genere un nuevo .wpress listo para importar en otro dominio con All-in-One WP Migration.

El resultado debe mantener la web funcional y con la misma estructura visual, sin romper menús, cabecera/footer, builder (Divi/Elementor) ni la navegación.



ENTRADA / SALIDA (OBLIGATORIO)
• Input: backup.wpress
• Output: backup_rewritten.wpress
• El archivo de salida debe importarse correctamente con All-in-One WP Migration en un WordPress limpio.



OPENAI (OBLIGATORIO)

Integración con la API oficial de OpenAI:
• Configuración de la key mediante:
• variable de entorno OPENAI_API_KEY y/o .env y/o parámetro CLI
• Modelo configurable por CLI (ej: --model gpt-4.1-mini o equivalente disponible)
• Manejo de:
• rate limits (reintentos con backoff)
• errores por item
• logs detallados por página/post reescrito

Reglas de reescritura (OBLIGATORIO)

La reescritura debe ser profunda (no “spinning” de sinónimos) y mantener:
• Intención de búsqueda y temática
• Keyword principal (derivada del título o por regla)
• Estructura de encabezados H1/H2/H3
• Longitud similar (±15%)
• No romper HTML, shortcodes, bloques, ni estructuras del builder

La IA debe devolver SOLO el contenido final reescrito (sin explicaciones).



QUÉ SE DEBE REESCRIBIR (OBLIGATORIO)

Para cada elemento (Pages / Posts / CPT configurables):
1. wp_posts.post_title → título nuevo
2. wp_posts.post_content → contenido nuevo
3. wp_posts.post_excerpt → extracto nuevo (si existe)
4. Encabezados H1/H2/H3 dentro del contenido → mantener jerarquía, reescribir texto
5. Metas SEO (si existen):
• Yoast o RankMath (detectar y reescribir en wp_postmeta)
• Meta Title + Meta Description
6. ALT de imágenes:
• reescribir ALT si está en contenido o metadatos accesibles



SLUGS (OBLIGATORIO – NO NEGOCIABLE)

El programa debe cambiar TODOS los slugs de los elementos reescritos:
• Campo: wp_posts.post_name
• El slug debe generarse desde el NUEVO título
• SEO-friendly:
• minúsculas
• sin tildes
• sin caracteres especiales
• separado por guiones -
• longitud razonable (3–8 palabras ideal)
• Debe mantener la keyword principal
• Evitar duplicados:
• si ya existe, añadir sufijo -2, -3, etc.



NO ROMPER MENÚS / NAVEGACIÓN (OBLIGATORIO)

Los menús deben quedar EXACTAMENTE funcionales tras importar el .wpress nuevo.

El programa NO debe modificar estructuras de menús:
• wp_terms, wp_term_taxonomy, wp_term_relationships, wp_termmeta
• CPT nav_menu_item y sus postmeta
• asignación de ubicaciones de menú (theme options)

Importante: aunque cambien slugs, la navegación y menús deben seguir funcionando.
(Si algún link estuviera “hardcodeado” por URL/slug en contenido, debe actualizarse en enlaces internos o incluir una solución equivalente.)



COMPATIBILIDAD DIVI / ELEMENTOR (OBLIGATORIO)

El programa debe reescribir solo texto humano sin romper:
• Shortcodes de Divi
• JSON / estructura interna de Elementor
• HTML estructural
• IDs / atributos internos críticos del builder

No se permite “limpiar” o “reformatear” el contenido si rompe el builder.



DATOS SERIALIZADOS (OBLIGATORIO)

Debe manejar correctamente valores en wp_postmeta con PHP serialized data (si contienen texto a reescribir) sin corromperlos.



BATCH / CONTROL / LOGS (OBLIGATORIO)
• Procesamiento por lotes: --batch 10/50/100
• Parámetros para:
• elegir post types (pages, posts, CPT)
• excluir por ID/slug/patrón
• Marcar items ya reescritos para evitar repetir (flag interno)
• Log en archivo:
• ID, tipo, título anterior/nuevo (o resumen)
• slug anterior/nuevo
• estado (OK/ERROR)
• errores detallados + reintentos



IMPLEMENTACIÓN TÉCNICA (OBLIGATORIO)
• El programa debe:
1. Unpack del .wpress
2. Procesar la base de datos (SQL) en BD temporal (Docker MariaDB/MySQL o equivalente)
3. Actualizar contenido en tablas correspondientes
4. Exportar SQL actualizado
5. Pack para generar *_rewritten.wpress

CLI requerida (ejemplo)

python rewrite_wpress.py --in backup.wpress --out backup_rewritten.wpress --batch 50 --model gpt-4.1-mini --rewrite-slugs true --seo auto --exclude "/legal|/cookies"



ENTREGABLES
• Código completo del programa (repo o zip)
• requirements.txt
• Script CLI ejecutable
• Documentación paso a paso (1–2 páginas):
• instalación
• ejecución
• configuración OpenAI
• troubleshooting
• Logs de ejemplo
• Garantía de que el .wpress resultante se importa correctamente



CRITERIOS DE ACEPTACIÓN (PRUEBA FINAL)

Yo importaré el .wpress final en un WP limpio y debe cumplirse:
1. Import correcto sin errores
2. La web carga y el builder no está roto
3. Menús funcionan y mantienen estructura
4. Títulos, contenidos y headings reescritos
5. Slugs cambiados y coherentes con los nuevos títulos
6. Metas SEO reescritas si existían
7. No hay contenido idéntico al original en las páginas reescritas



EXTRAS VALORADOS (NO OBLIGATORIOS)
• Generar mapa de redirects 301 si cambian slugs (recomendado)
• Modo “dry-run” (solo reporte sin modificar)
• Comparador de similitud por página
• UI opcional mínima (no necesaria si CLI funciona perfecto)



NOTA IMPORTANTE (FILTRO)

No quiero “plugins existentes” ni “spinners” de sinónimos.
Quiero desarrollo real con control de builders (Divi/Elementor) y cuidado con serializados.