WPD

Potencia tu Sitio con un Stack CMS Headless Rápido

Nuestro Stack Headless: Velocidad y CMS

Por Qué Elegir la Arquitectura Headless WordPress

El desarrollo headless WordPress ha transformado la forma en que construyo aplicaciones web modernas. Aunque WordPress tradicional es potente, las limitaciones del enfoque monolítico se hacen evidentes cuando buscas:

  • Rendimiento extremo: Los sitios tradicionales de WordPress cargan todo el tema PHP en cada petición

  • Experiencias modernas: Las interfaces de usuario reactivas requieren frameworks JavaScript modernos

  • Escalabilidad: Separar el frontend del backend permite escalar cada capa independientemente

  • Flexibilidad: Un mismo backend WordPress puede alimentar múltiples frontends (web, móvil, apps)

La arquitectura MACH para WordPress (Microservices, API-first, Cloud-native, Headless) me permite mantener la potencia del CMS más popular del mundo mientras construyo frontends que compiten con cualquier aplicación web moderna.

La Combinación Ganadora: WordPress + Astro + Next.js

WordPress como Backend (El Cerebro)

WordPress se convierte en un CMS headless puro:

  • Panel de administración familiar para editores de contenido

  • Gestión robusta de medios y taxonomías

  • Sistema de usuarios y permisos bien establecido

  • Ecosistema de plugins para extender funcionalidades

  • REST API y WP GraphQL para exponer datos

Astro para Sitios Estáticos (La Velocidad)

Cuando el proyecto necesita máximo rendimiento y SEO, elijo WordPress con Astro:

// Ejemplo: Fetching de posts desde WordPress en Astro
const response = await fetch('https://tu-wp.com/wp-json/wp/v2/posts');
const posts = await response.json();

Ventajas clave:

  • Páginas generadas estáticamente en build time

  • Zero JavaScript por defecto (solo cuando es necesario)

  • Tiempo de carga < 1 segundo

  • Perfect Lighthouse scores

  • Ideal para blogs, portfolios, landing pages

Next.js para Aplicaciones Dinámicas (La Interactividad)

Para proyectos que requieren interactividad en tiempo real o contenido personalizado, utilizo Next.js y WP GraphQL:

// Ejemplo: Query GraphQL desde Next.js
import { ApolloClient, InMemoryCache, gql } from '@apollo/client';

const client = new ApolloClient({
  uri: 'https://tu-wp.com/graphql',
  cache: new InMemoryCache(),
});

const { data } = await client.query({
  query: gql`
    query GetPosts {
      posts {
        nodes {
          title
          excerpt
          slug
        }
      }
    }
  `,
});

Casos de uso perfectos:

  • E-commerce con WooCommerce headless

  • Portales de usuarios con autenticación

  • Dashboards y aplicaciones web

  • Sites que necesitan ISR (Incremental Static Regeneration)

Herramientas de Conexión: Los Puentes Entre Frontend y Backend

WPGraphQL - La Columna Vertebral

WPGraphQL es mi herramienta principal para consultas eficientes:

query GetPostWithACF {
  post(id: "123", idType: DATABASE_ID) {
    title
    content
    featuredImage {
      node {
        sourceUrl
        altText
      }
    }
    customFields {
      precio
      destacado
    }
  }
}

Ventajas sobre REST API:

  • Consultas precisas: solicito exactamente los datos que necesito

  • Una sola petición para datos relacionados

  • Schema tipado para mejor developer experience

  • Plugins como WPGraphQL for ACF extienden el schema automáticamente

Apollo Client - Gestión de Estado GraphQL

Para proyectos Next.js complejos, Apollo Client maneja:

  • Caché inteligente de queries

  • Gestión de estado global

  • Optimistic UI updates

  • Subscriptions en tiempo real (con extensiones)

import { ApolloProvider } from '@apollo/client';
import client from '../lib/apollo-client';

function MyApp({ Component, pageProps }) {
  return (
    <ApolloProvider client={client}>
      <Component {...pageProps} />
    </ApolloProvider>
  );
}

Faust.js - El Framework Oficial

Faust.js (anteriormente WPGraphQL for Next.js) es el framework oficial para WordPress headless con Next.js:

  • Configuración preconstruida de Apollo Client

  • Helpers para autenticación y preview de contenido

  • Hooks personalizados para queries comunes

  • Integración nativa con WPGraphQL

import { getNextStaticProps } from '@faustwp/core';

export async function getStaticProps(context) {
  return getNextStaticProps(context, {
    Page,
    revalidate: 60, // ISR cada 60 segundos
  });
}

Librerías de Fetching para Astro

En proyectos Astro, mantengo las cosas simples con fetching nativo:

// lib/wordpress.js
export async function getPostBySlug(slug) {
  const response = await fetch(
    `https://tu-wp.com/wp-json/wp/v2/posts?slug=${slug}&_embed`
  );
  const [post] = await response.json();
  return post;
}

// En un componente Astro
---
import { getPostBySlug } from '../lib/wordpress';
const post = await getPostBySlug(Astro.params.slug);
---

Para queries GraphQL en Astro, uso graphql-request:

import { GraphQLClient } from 'graphql-request';

const client = new GraphQLClient('https://tu-wp.com/graphql');

const data = await client.request(
  gql`
    query GetPage($slug: ID!) {
      page(id: $slug, idType: URI) {
        title
        content
      }
    }
  `,
  { slug: 'about' }
);

Herramientas Complementarias

  • WPGraphQL JWT Authentication: Para áreas protegidas y autenticación de usuarios

  • WPGraphQL for ACF: Expone campos personalizados automáticamente en GraphQL

  • WPGraphQL for WooCommerce: Para tiendas headless completas

  • Axios / Fetch API: Para integraciones REST cuando GraphQL no es necesario

El Flujo de Trabajo Completo

  1. Backend: Editores gestionan contenido en WordPress con ACF

  2. Exposición: WPGraphQL expone datos estructurados vía API

  3. Frontend: Astro/Next.js consume la API y genera páginas optimizadas

  4. Deploy: Frontend se despliega en Vercel/Netlify, WordPress en servidor tradicional

  5. CDN: Todo servido globalmente con caché inteligente

Resultados Medibles

Esta arquitectura me permite entregar:

  • Lighthouse 100/100 en Performance

  • 🚀 First Contentful Paint < 0.8s

  • 📱 Experiencias mobile-first perfectas

  • 🔧 CMS familiar para los editores

  • 🔒 Seguridad mejorada (backend separado del público)

  • 💰 Costes reducidos en hosting frontend


El desarrollo headless WordPress con Astro y Next.js no es solo una moda: es la evolución natural de WordPress hacia la web moderna. Esta stack me permite construir sitios que combinan la madurez de WordPress como CMS con el rendimiento y la experiencia de usuario que los usuarios modernos esperan.

Joaquin Sáez

Escrito por

Joaquin Sáez

Artículos Relacionados

← Volver al Blog