logo
Advanced2min de lectura

Arquitectura

Arquitectura de plugins internos: estructura de clases, módulos y flujo de proxy de IA.

Arquitectura de plugins

text
schemafy/
├── 1.0.1.php                           # Main plugin file
├── includes/
│   ├── class-baseo-core.php            # Main orchestrator
│   ├── class-baseo-database.php        # Database operations
│   ├── class-baseo-admin.php           # Admin interface + AJAX handlers
│   ├── class-baseo-validator.php       # JSON + Schema.org validation
│   ├── class-baseo-schema-injector.php # Frontend head injection
│   ├── class-baseo-seo-detector.php    # Detects Yoast, Rank Math, etc.
│   ├── class-baseo-rest-api.php        # REST API endpoints
│   ├── class-baseo-meta-box.php        # Post editor meta boxes
│   ├── class-baseo-gutenberg.php       # Gutenberg sidebar
│   ├── builders/
│   │   ├── class-baseo-field-generator.php  # Form field generation
│   │   └── class-baseo-schema-builder.php   # Smart Builder logic
│   ├── ajax-handler-save-update.php    # Save/update handlers
│   └── ajax-handler-dashboard.php      # Dashboard handlers
├── assets/js/modules/
│   ├── admin-modular.js                # Entry point
│   ├── core/init.js                    # Tab management
│   ├── dashboard/dashboard.js          # Dashboard UI
│   ├── bulk/bulk-manager.js            # Bulk operations
│   ├── operations/schema-crud.js       # CRUD
│   ├── editor/manual-editor.js         # JSON editor
│   ├── ai/ai-generator.js              # AI generation
│   ├── builder/smart-builder.js        # Visual builder
│   └── import-export/csv-handler.js    # CSV tools
└── templates/builder/field-configs/    # JSON config per schema type

Flujo de proxy del generador de IA

text
WordPress plugin
    │  POST: page content
    ▼
endpoint-schemafy.vercel.app  ← API key stored here (never in the plugin)
    │  Calls GPT-4o with schema-specific prompt
    ▼
OpenAI
    │  Returns validated JSON-LD
    ▼
Plugin → review UI → usar approves → saved to database

¿Qué sucede cuando se carga una página?

  1. WordPress recibe la solicitud de página.
  2. Schemafy consulta a wp_baseo_custom_schemas en busca de schemas activos que coincidan con la URL actual
  3. Los schemas coincidentes se serializan como JSON-LD.
  4. JSON-LD se inyecta en <head> a través de wp_head con prioridad 5
  5. Las meta tags se inyectan en la prioridad 1, las etiquetas sociales en la prioridad 2
  6. El visitante no ve ninguna diferencia: JSON-LD es invisible para los humanos
  7. Google lo lee y puedes usarlo para rich results

¿Fue útil esta página?