La guía

WordPress como puro CMS: menos es más

Cómo dejar WordPress “desnudo” para que solo haga una cosa: guardar y servir contenido.

El primer instinto al montar un WordPress es llenarlo de plugins. Uno para el SEO, otro para la caché, otro para los formularios, el constructor visual de turno… y sin darte cuenta tienes treinta piezas peleándose entre ellas. En headless hacemos justo lo contrario: dejamos WordPress en los huesos.

Suena raro, pero es liberador. Cuanto menos hace el backend, más rápido va, menos se rompe y menos superficie de ataque ofrece. Un WordPress headless bien montado es ligero y aburrido —en el mejor sentido de la palabra—.

La dieta: lo que le quitamos

  • El tema. Ninguno activo. La capa de presentación vive fuera, en el front.
  • Los constructores visuales (Elementor y compañía). Pesan, atan y aquí no pintan nada.
  • Plugins de caché de página y de SEO pesado. De eso se encarga el front, que además es estático.

Lo que sí conservamos

  • El propio WordPress y su editor de siempre —lo que el cliente ya sabe usar—.
  • La REST API, que viene de fábrica y es nuestra puerta de salida.
  • Una capa fina de «pegamento»: un must-use plugin. Y, si hay que estructurar contenido, campos a medida.

El truco del mu-plugin

Un must-use plugin se carga siempre y no se puede desactivar por accidente desde el panel. Es el sitio perfecto para la lógica headless: no ensucia la lista de plugins del cliente y nadie lo apaga sin querer. Se deja en wp-content/mu-plugins/ y con apenas unas líneas ya tienes un endpoint propio:

<?php
// wp-content/mu-plugins/headless.php
add_action( 'rest_api_init', function () {
  register_rest_route( 'miapp/v1', '/home', array(
    'methods'  => 'GET',
    'callback' => 'devolver_datos_de_la_home',
    'permission_callback' => '__return_true',
  ) );
} );

A partir de ahí, el front pide /wp-json/miapp/v1/home y recibe justo lo que necesita, en una sola llamada.

Un buen backend headless no se nota. Solo guarda contenido y lo sirve limpio. Todo lo demás sobra.

¿Y mientras lo montas, dónde corre?

En desarrollo, la forma más cómoda de levantar WordPress es Local (de Flywheel/WP Engine): te crea un sitio completo —nginx, PHP y MySQL— con un dominio .local y sin tocar una sola línea de configuración. Este mismo proyecto se construyó así. Comprueba que la API responde con curl http://tu-sitio.local/wp-json/ y ya lo tienes listo.

Que lo prepare tu agente

Cópiale esto para dejar tu WordPress a dieta y listo para headless:

Prepara este WordPress como CMS headless siguiendo la skill
wp-wow: crea un must-use plugin en wp-content/mu-plugins
que registre un endpoint REST propio, deja el sitio sin tema activo
y sin plugins de más, y verifica que /wp-json responde.

En el siguiente capítulo abrimos esa puerta de salida a fondo: la REST API.

¿Y ahora?

¿Lo construyes tú
o lo monto yo?

Si te lo quieres montar tú, tienes la guía paso a paso aquí. Y si prefieres que lo monte yo, déjame tu proyecto y hablamos.