WP Manifestindependent plugin directory
manifest / ai / generate-page-ai

Generate Page AI releases

Plugin de wordpress para duplicar paginas y cambiar sus campos personalizados con AI.

by franciscoblancojn · github.com/franciscoblancojn/generate-page-ai · website

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/franciscoblancojn/generate-page-ai/archive/refs/heads/master.zip

Version: 2.10.5 | License: GPLv2+

Generate Page AI es un plugin de WordPress que potencia tus páginas con inteligencia artificial 🤖. Conéctalo a Google Gemini, gestiona campos personalizados, datos Yoast SEO, datos GPAI SEO (con meta box, etiquetas <head> y Schema JSON-LD), crea variaciones de contenido en masa para posts, gestiona campos personalizados directamente desde el editor de Elementor, optimiza HTML estático generado por Static Page, y cuenta con auto-actualizador vía GitHub.


✨ Características

  • 🤖 Generación con IA — Usa Google Gemini para generar contenido único para campos personalizados, Yoast SEO y GPAI SEO.
  • 📄 Gestión de Posts — Selecciona cualquier página, edita sus campos personalizados y metadatos Yoast, GPAI SEO, escribe prompts y genera variaciones de contenido al instante.
  • 🎨 Campos Personalizados en Elementor — Botón flotante "Campos" en el editor de Elementor. Abre un panel arrastrable tipo Navigator para crear, editar y eliminar campos personalizados en tiempo real mientras diseñas la página.
  • 🔄 Variaciones en Masa — Genera múltiples variaciones de contenido desde un solo prompt. Revisa, aplica o descarta cada una.
  • 📤 Exportación/Importación JSON — Exporta campos personalizados, datos Yoast y GPAI SEO a JSON. Impórtalos después con un clic.
  • 🔗 Reemplazo en Frontend — Las variables {{key}} y __key__ se reemplazan automáticamente con sus valores al mostrar la página.
  • 🔍 Vista Previa — Previsualiza variaciones directamente en el editor de Elementor con los valores inyectados como parámetros.
  • 🧠 Prompts Base Editables — Personaliza los prompts base que usa la IA para generar contenido, SEO y optimización HTML. Acceso desde Configuración > Prompts Base.
  • 🏷️ GPAI SEO — Sistema completo de SEO con 27 campos en 5 grupos (Principales, Robots, Open Graph, Twitter, Schema). Meta box en el editor de posts, salida de etiquetas <head>, Schema JSON-LD con soporte para bloques adicionales (gpai_wpseo_schema_extra_json generado por IA), anulación de Yoast SEO, y botón Validar SEO que abre Schema.org validator con la URL del post.
  • 🔄 Auto-Update vía GitHub — El plugin se actualiza automáticamente desde GitHub Releases cuando hay una nueva versión.
  • 📋 Sistema de Logs — Registro de actividad del plugin accesible desde la barra de administración.
  • 🧹 Optimización HTML — Subpágina "Optimización HTML" (visible solo si Static Page está activo). Selecciona un post (con selección persistente entre cargas), verifica si tiene HTML estático generado por Static Page, y permite mejorar el HTML con IA usando Gemini para optimizarlo (más liviano, misma apariencia). Guarda el resultado como page-{id}-optimize.html y registra la ruta en STPA_PAGE_STATIC_HTML_FILE_OPTIMIZE. Incluye un botón para alternar entre HTML normal y optimizado intercambiando la ruta activa.
  • 🗺️ Site Maps — Subpágina completa para gestionar archivos XML de sitemaps en la raíz de WordPress. Lectura, edición, creación y eliminación de archivos. Generación de contenido XML con IA usando el prompt base de sitemaps más las URLs reales del sitio.
  • 🔗 URLs para Sitemaps — Pestaña dentro de Site Maps que lista todos los posts y páginas publicadas con checkboxes para activar/desactivar su inclusión. Genera XML con <url><loc><lastmod><changefreq><priority>. Configuración persistente de frecuencia y prioridad por tipo de contenido.
  • 🖼️ Imágenes en Sitemaps — Escaneo automático de imágenes destacadas, contenido y galerías de productos para cada URL. Se inyectan en el prompt de IA para generar <image:image> tags en el sitemap.
  • 🖼️ Ajustes de Imágenes — Nueva pestaña en la sección Post que carga todas las imágenes del post seleccionado (destacada, contenido, Elementor, galerías) y permite editar Texto Alternativo, Título, Leyenda y Descripción con vista previa y botón de descarga.
  • Confirmación en Generar SEO — El botón "Generar SEO con IA" ahora pide confirmación antes de sobrescribir los valores actuales.
  • 🧼 Limpieza de Schema Yoast — Filtro automático que remueve propiedades internas no estándar (description_schema_fallback) del schema de Yoast antes de renderizar.

📋 Requisitos


⚙️ Instalación

  1. Descarga el plugin desde Aqui.
  2. Subelo y Actívalo desde el menú Plugins de WordPress.
  3. Ve a Generate Page AI → Configuración e ingresa tu API Key de Gemini.
  4. ¡Listo! Comienza a gestionar posts. 🎉

🗂️ Estructura del Plugin

generate-page-ai/
├── index.php                     # Archivo principal (plugin header, constantes, updater vía Composer)
├── composer.json                 # Dependencias Composer
├── package.json                  # Scripts de release/versionado
├── libs/                         # Dependencias (Composer vendor renombrado)
├── src/
│   ├── _.php                     # Cargador maestro
│   ├── ai/                       # Capa de IA (cliente Gemini, generación de contenido)
│   │   ├── ai.php                # GPAI_AI - Cliente HTTP para Gemini
│   │   ├── content.php           # GPAI_CONTENT - Orquestador de generación con templates editables
│   │   ├── prompt.php            # GPAI_PROMPT - Mejora de prompts vía IA
│   │   └── harness.php           # GPAI_AI_HARNESS - Harness de pruebas para respuestas IA
│   ├── api/                      # API REST y handlers AJAX
│   │   ├── cf.php                # GPAI_CF - CRUD de campos personalizados (incl. endpoints Elementor)
│   │   ├── yoast.php             # GPAI_YOAST - API para metadatos Yoast SEO
│   │   ├── gpai_seo.php          # GPAI_SEO - API para campos SEO personalizados
│   │   ├── export_import.php     # GPAI_EXPORT_IMPORT - Exportación/Importación JSON
│   │   ├── sitemaps.php          # GPAI_SITEMAPS_API - AJAX para generar XML de sitemaps con IA
│   │   ├── imagenes.php          # GPAI_IMAGENES - AJAX para gestionar metadatos de imágenes del post
│   │   ├── analisis.php          # GPAI_ANALISIS - Análisis SEO, validación enlaces, PageSpeed
│   │   ├── seo_api.php           # GPAI_API_SEO - REST API para campos SEO
│   │   ├── cf_api.php            # GPAI_API_CF - REST API para custom fields
│   │   └── gf_api.php            # GPAI_API_GF - REST API para campos globales
│   ├── css/                      # Estilos CSS inline
│   │   ├── global.php            # Estilos generales del admin
│   │   ├── elementor-editor.css  # Estilos del panel flotante en editor Elementor
│   │   ├── gpai-edit.css         # Estilos panel edición frontend
│   │   └── sitemap.xsl           # Hoja XSL para sitemaps XML
│   ├── data/                     # Persistencia de datos (opciones de WP)
│   │   ├── base.php              # GPAI_USE_DATA_BASE - CRUD genérico con wp_options
│   │   ├── config.php            # GPAI_USE_DATA_CONFIG - Configuración del plugin
│   │   ├── duplicados.php        # GPAI_USE_DATA_DUPLICADOS - Variaciones de posts
│   │   ├── sitemaps_data.php     # GPAI_USE_DATA_SITEMAPS - CRUD de archivos XML de sitemaps
│   │   ├── global_fields_data.php# GPAI_USE_DATA_GLOBAL_FIELDS - Campos globales
│   │   └── htaccess_data.php     # GPAI_USE_DATA_HTACCESS - CRUD de archivos .htaccess
│   ├── elementor/                # Integración con Elementor
│   │   ├── editor.php            # Encola assets en el editor de Elementor
│   │   └── frontend.php          # Filtros de reemplazo {{key}} en frontend de Elementor
│   ├── frontend/                 # Salida en frontend
│   │   ├── gpai-seo-output.php   # GPAI_SEO_output - Etiquetas <head>, JSON-LD, anulación Yoast
│   │   └── gpai-edit.php         # GPAI_Edit_Assets - Assets panel edición frontend
│   ├── hook/                     # Hooks de WordPress
│   │   └── content.php           # GPAI_replace_custom_vars() - filtro the_content + reemplazo frontend
│   ├── js/                       # JavaScript
│   │   ├── global.php            # JS general del admin (tabs, modales, export/import)
│   │   ├── elementor-editor.js   # Panel flotante de campos personalizados en Elementor
│   │   └── gpai-edit.js          # JS panel edición frontend
│   ├── meta-box/                 # Meta boxes en el editor de posts
│   │   ├── gpai-seo.php          # GPAI SEO meta box (5 grupos, 27 campos, guardado AJAX)
│   │   ├── gpai-parent.php       # GPAI Parent meta box (contenido independiente)
│   │   └── gpai-box.php          # GPAI Box meta box (enlace a edición frontend)
│   ├── page/                     # Páginas del admin
│   │   ├── add.php               # Registro del menú principal
│   │   ├── page.php              # Layout con tabs
│   │   ├── pages/
│   │   │   ├── config/           # Página de configuración
│   │   │   │   ├── add.php       # Submenú "Configuración"
│   │   │   │   └── page.php      # Layout con tabs: IA, Prompts Base, Pruebas
│   │   │   ├── post/             # Página de posts
│   │   │   │   ├── add.php       # Submenú "Post"
│   │   │   │   └── page.php      # Layout con tabs
│   │   │   ├── html/             # Página de optimización HTML
│   │   │   │   ├── add.php       # Submenú "Optimización HTML" (solo si Static Page activo)
│   │   │   │   └── page.php      # Layout
│   │   │   ├── sitemaps/         # Página de Site Maps
│   │   │   │   ├── add.php       # Submenú "Site Maps"
│   │   │   │   └── page.php      # Layout con tabs
│   │   │   ├── htaccess/         # Página de .htaccess
│   │   │   │   ├── add.php       # Submenú ".htaccess"
│   │   │   │   └── page.php      # Layout
│   │   │   ├── campos_globales/  # Página de Campos Globales
│   │   │   │   ├── add.php       # Submenú "Campos Globales"
│   │   │   │   └── page.php      # Layout
│   │   │   └── api/              # Página de API
│   │   │       ├── add.php       # Submenú "API"
│   │   │       └── page.php      # Layout con tabs: SEO API, CF API, GF API
│   │   └── sections/             # Secciones de cada página
│   │       ├── config.php        # API Key, modelo, toggle de imágenes
│   │       ├── prompts_base.php  # Editor de prompts base (templates editables)
│   │       ├── test.php          # Pruebas (dev mode)
│   │       ├── post.php          # Gestión de posts
│   │       ├── imagenes.php      # Ajustes de imágenes del post (alt, título, leyenda, descripción, descarga)
│   │       ├── procesar_contenido.php# Variaciones de contenido
│   │       ├── analisis.php      # Análisis SEO, validación de enlaces, PageSpeed
│   │       ├── html.php          # Optimización HTML (selector de post, estado static, mejora con IA)
│   │       ├── sitemaps.php      # Site Maps: listado de archivos XML con edición y generación IA
│   │       ├── config-sitemaps.php# Site Maps: configuración de URLs por tipo de contenido
│   │       ├── crear_sitemap.php # Site Maps: formulario para crear nuevos archivos XML
│   │       ├── campos_globales.php# CRUD de campos globales
│   │       ├── htaccess.php      # Editor de archivos .htaccess
│   │       ├── api_seo.php       # Config API key para REST SEO
│   │       ├── api_cf.php        # Config API key para REST Custom Fields
│   │       └── api_gf.php        # Config API key para REST Global Fields
│   └── templates/                # Helpers de renderizado
│       ├── table_fields.php      # GPAI_Table_Fields() - Tabla genérica clave/valor
│       ├── custom_fields.php     # GPAI_Custom_Fields() - Campos personalizados
│       ├── custom_yoast.php      # GPAI_Custom_Yoast() - Campos Yoast
│       ├── custom_gpai_seo.php   # GPAI_Custom_Gpai_Seo() - Campos GPAI SEO (incl. grouped)
│       ├── table_post_by_url.php # GPAI_Table_Post_By_Url() - Tabla de posts con checkboxes para sitemaps
│       ├── imagenes_post.php     # GPAI_Imagenes_Post() - Tabla de imágenes con preview, campos editables y descarga
│       └── analisis.php          # GPAI_Analisis_Post() - Análisis SEO de un post

🧠 Clases Principales

Clase Archivo Función
GPAI_AI src/ai/ai.php 🛰️ Cliente HTTP para la API de Google Gemini
GPAI_CONTENT src/ai/content.php 🧬 Orquestador de generación de contenido con IA. Los prompts base son editables mediante templates con {{placeholders}}
GPAI_PROMPT src/ai/prompt.php 💡 Mejora de prompts existentes vía IA
GPAI_CF src/api/cf.php 📦 API para campos personalizados de posts. Incluye endpoints AJAX para el editor de Elementor
GPAI_YOAST src/api/yoast.php 🔍 API para metadatos Yoast SEO
GPAI_SEO src/api/gpai_seo.php 🏷️ API para 27 campos SEO personalizados en 5 grupos
GPAI_USE_DATA_GLOBAL_FIELDS src/data/global_fields_data.php 🌐 Campos globales almacenados en opciones
GPAI_USE_DATA_HTACCESS src/data/htaccess_data.php 🔒 CRUD de archivos .htaccess
GPAI_EXPORT_IMPORT src/api/export_import.php 📤 Exportación/Importación JSON
GPAI_USE_DATA_BASE src/data/base.php 💾 CRUD genérico basado en wp_options
GPAI_USE_DATA_CONFIG src/data/config.php ⚙️ Configuración del plugin
GPAI_USE_DATA_DUPLICADOS src/data/duplicados.php 📝 Variaciones de posts pendientes
GPAI_USE_DATA_SITEMAPS src/data/sitemaps_data.php 🗺️ CRUD de archivos XML de sitemaps en la raíz de WordPress
GPAI_SITEMAPS_API src/api/sitemaps.php 🤖 AJAX para generar XML de sitemaps con Gemini, reemplaza {{URL_BASE}}, {{URL_PAGINAS_LIST}}, {{URL_POSTS_LIST}}, {{PAGINAS_IMAGES}}, {{POSTS_IMAGES}}
GPAI_IMAGENES src/api/imagenes.php 🖼️ AJAX para obtener y guardar metadatos de imágenes del post (alt, título, leyenda, descripción)
GPAI_ANALISIS src/api/analisis.php 🔍 Análisis SEO, validación de enlaces internos y PageSpeed Insights
GPAI_API_SEO src/api/seo_api.php 🔌 REST API para campos GPAI SEO (POST /GPAI/seo)
GPAI_API_CF src/api/cf_api.php 🔌 REST API para custom fields (GET/SET /GPAI/cf/*)
GPAI_API_GF src/api/gf_api.php 🔌 REST API para campos globales (GET/SET /GPAI/gf/*)
GPAI_AI_HARNESS src/ai/harness.php 🧪 Harness de pruebas para capturar/responser respuestas de IA

🔌 REST API

El plugin expone endpoints REST para integrar GPAI SEO, custom fields y campos globales con sistemas externos.

Endpoints

Método Ruta Descripción Header API Key
POST /wp-json/GPAI/seo Guarda campos GPAI SEO de un post X-GPAI-SEO-Key
GET /wp-json/GPAI/cf/get Obtiene custom fields de un post X-GPAI-CF-Key
POST /wp-json/GPAI/cf/set Guarda custom fields de un post X-GPAI-CF-Key
GET /wp-json/GPAI/gf/get Obtiene todos los campos globales X-GPAI-GF-Key
POST /wp-json/GPAI/gf/set Guarda/actualiza campos globales X-GPAI-GF-Key

Configuración

Las API keys se gestionan desde Generate Page AI → API, donde hay 3 pestañas independientes:

  • API SEO → Clave para X-GPAI-SEO-Key
  • API Custom Fields → Clave para X-GPAI-CF-Key
  • API Global Fields → Clave para X-GPAI-GF-Key

Cada endpoint verifica que el header X-GPAI-{type}-Key coincida con la clave configurada antes de procesar la solicitud.


🖥️ Páginas del Admin

Menú Slug Descripción
⚙️ Configuración GPAI_config API Key de Gemini, selección de modelo, toggle de generación de imágenes
🧠 Prompts Base GPAI_config (tab) Editor de templates base para generación de contenido, SEO y optimización HTML
🧪 Pruebas GPAI_config (tab, solo dev) Pruebas de parseo JSON (solo visible en modo desarrollo)
📄 Post GPAI_post Gestión de posts: campos personalizados, Yoast, GPAI SEO, prompts, variaciones, ajustes de imágenes
🧹 Optimización HTML GPAI_html Optimización de HTML estático con IA (solo visible si Static Page está activo)
🗺️ Site Maps GPAI_sitemaps Gestión de archivos XML de sitemaps. Tres pestañas: Site Maps (lista, editar, generar con IA, descargar), Crear Site Map (nuevo archivo XML), URLs (seleccionar posts/páginas, configurar frecuencia/prioridad, generar XML).
🌐 Campos Globales GPAI_campos_globales CRUD de campos globales reutilizables (text, textarea, number, email, url, wysiwyg)
🔒 .htaccess GPAI_htaccess Listar, editar, crear y eliminar archivos .htaccess
🔌 API GPAI_api Configuración de API keys para REST endpoints: SEO API, Custom Fields API, Global Fields API

🎨 Integración con Elementor

Panel de Campos Personalizados en el Editor

El plugin agrega un botón flotante "Campos" en la esquina inferior del editor de Elementor (funciona en Elementor Free y Pro). Al hacer clic:

  1. 📋 Se abre un panel arrastrable (similar al Navigator de Elementor)
  2. 👁️ Muestra la lista de campos personalizados del post actual (excluye campos internos _)
  3. ✏️ Edita cualquier campo: cambia clave o valor
  4. Elimina campos con confirmación
  5. Crea nuevos campos con clave (auto-envuelta en {{ }}) y valor

Los campos se guardan como post_meta inmediatamente vía AJAX.

Reemplazo en Frontend

Las variables {{key}} y __key__ se reemplazan automáticamente al mostrar la página mediante el filtro global the_content.

ℹ️ Los hooks específicos de Elementor (elementor/frontend/the_content, elementor/widget/render_content) están actualmente desactivados en el código. El reemplazo funciona a través del filtro the_content estándar.


🏷️ GPAI SEO

El plugin incluye un sistema completo de SEO propio que puede funcionar junto con Yoast SEO o reemplazar sus valores.

Meta Box en el Editor

Se agrega una meta box "Gpai SEO" en todos los post types públicos con 27 campos organizados en 5 grupos:

Grupo Campos
Principales title, metadesc, focuskw, focuskeywords, canonical, bctitle, redirect, cornerstone
Robots noindex, nofollow, robots_adv, noarchive, nosnippet, noimageindex
Open Graph og_title, og_description, og_image, og_image_id, og_url
Twitter twitter_title, twitter_description, twitter_image
Schema schema_page_type, schema_article_type, schema_extra_json

Los campos se guardan vía AJAX (sin recargar la página) o mediante save_post.

Generación de SEO con IA

El meta box y la página de Post incluyen un botón "Generar SEO con IA" que envía el título, contenido y valores actuales a Gemini para generar datos SEO optimizados. Incluye confirmación antes de sobrescribir.

Validación de Schema

El botón "Validar SEO" abre Schema.org Validator con la URL del post actual para verificar que el JSON-LD generado sea válido.

Limpieza de Schema de Yoast

El plugin filtra automáticamente el schema de Yoast (wpseo_schema_graph) para remover propiedades internas no estándar como description_schema_fallback que pueden causar errores de validación.

Salida en Frontend

El hook wp_head genera automáticamente:

  • <meta name="description">
  • <link rel="canonical">
  • Open Graph tags (<meta property="og:...">)
  • Twitter Card tags (<meta name="twitter:...">)
  • Robots meta (<meta name="robots">)
  • JSON-LD Schema (WebPage, WebSite, Organization con SearchAction)
  • Redirección 301 si gpai_wpseo_redirect está configurado

Schema JSON-LD — Estructura de Salida

{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "WebPage",
      "@id": "{canonical}#webpage",
      "url": "{canonical}",
      "name": "{title}",
      "description": "{metadesc}",
      "inLanguage": "{site_language}",
      "isPartOf": {"@id": "{home}#website"},
      "publisher": {"@id": "{home}#organization"},
      "image": "{og_image}",
      "keywords": "{focuskw}",
      "datePublished": "...",
      "dateModified": "..."
    },
    {
      "@type": "WebSite",
      "@id": "{home}#website",
      "url": "{home}",
      "name": "{site_name}",
      "description": "{site_description}",
      "publisher": {"@id": "{home}#organization"},
      "potentialAction": [{"@type":"SearchAction", ...}]
    },
    {
      "@type": "Organization",
      "@id": "{home}#organization",
      "name": "{site_name}",
      "url": "{home}",
      "logo": {...},
      "image": {...}
    }
  ]
}

Los bloques adicionales definidos en gpai_wpseo_schema_extra_json se agregan al @graph. Cada objeto debe tener @type para ser incluido.

Eliminación de Otros JSON-LD

Cuando gpai_wpseo_remove_other_jsonld está activo, el plugin elimina todos los `

Releases

Newest 25 of 60 recorded releases.

Tag
Published
2.10.5 latest
Jul 15, 2026 2mo ago
Jul 14, 2026 2mo ago
Jul 14, 2026 2mo ago
Jul 14, 2026 2mo ago
Jul 9, 2026 2mo ago
Jul 6, 2026 2mo ago
Jun 25, 2026 2mo ago
Jun 25, 2026 2mo ago
Jun 24, 2026 2mo ago
Jun 24, 2026 2mo ago
Jun 23, 2026 2mo ago
Jun 17, 2026 2mo ago
Jun 17, 2026 2mo ago
Jun 17, 2026 2mo ago
Jun 17, 2026 2mo ago
Jun 16, 2026 2mo ago
Jun 16, 2026 2mo ago
Jun 16, 2026 2mo ago
Jun 15, 2026 3mo ago
Jun 12, 2026 3mo ago
Jun 12, 2026 3mo ago
Jun 11, 2026 3mo ago
Jun 11, 2026 3mo ago
Jun 11, 2026 3mo ago
Jun 11, 2026 3mo ago
All releases on GitHub →

These releases are tags only. The author does not attach a packaged zip, so there are no download counts to report.