Transformando WordPress en un Backend Headless Optimizado para Astro
WordPress es una herramienta poderosa, pero a veces necesitamos usarlo únicamente como CMS sin frontend, para que aplicaciones modernas como Astro consuman los contenidos de manera ligera y eficiente. En este artículo te explico cómo optimizar WordPress desde cero para un blog personal, usando SQLite como base de datos y eliminando todo lo innecesario para que tu instalación consuma mínimos recursos.
Instalación ligera con SQLite
Para un blog personal en una instancia micro de Google Cloud, SQLite es ideal:
- Consume menos recursos que MySQL
- Evita procesos de base de datos pesados
- Es perfecto para aplicaciones headless donde el CMS solo sirve contenido a otra aplicación
Al instalar WordPress con SQLite, es importante:
- Asegurarse de que la base de datos tiene los permisos correctos
- Configurar correctamente
wp-config.phppara limitar escrituras - Desactivar funciones que generan tráfico innecesario
Optimización del archivo wp-config.php
El archivo wp-config.php es el núcleo de la configuración de WordPress. Para un backend ligero, realizamos estas modificaciones:
define('DISABLE_WP_CRON', true); // Desactiva WP-Cron
define('WP_POST_REVISIONS', 2); // Limita revisiones de posts
define('AUTOSAVE_INTERVAL', 300); // Intervalo de auto-guardado mayor
Estas líneas ayudan a que SQLite no se sobrecargue con escrituras innecesarias y que la instancia micro funcione de manera estable.
Seguridad y estabilidad del servidor
En nuestra configuración usamos Apache 2.4 en la instancia micro. Para mejorar seguridad y estabilidad:
- Bloqueamos xmlrpc.php a nivel de servidor para evitar ataques y spam, mediante la configuración de Apache:
<Files "xmlrpc.php">
Require all denied
</Files>
- Evitamos modificar
.htaccesscon bloques adicionales que puedan causar error 500 - Revisamos que Apache esté ejecutando correctamente y que los permisos de archivos sean correctos
Esto asegura que el servidor no lance Internal Server Error y mantenga WordPress funcionando perfectamente como backend.
Desactivando comentarios
Al usar WordPress únicamente como CMS headless, los comentarios no son necesarios:
- Desactivamos comentarios globalmente desde Ajustes → Comentarios
- Cerramos comentarios en posts existentes
- Opcionalmente, añadimos un snippet en
functions.phppara eliminar cualquier sección de comentarios del frontend:
add_filter('comments_template', function($comment_template) {
return dirname(__FILE__) . '/no-comments.php';
});
Con esto, WordPress deja de procesar comentarios y SQLite no genera escrituras innecesarias, manteniendo la instalación ligera.
Limpieza de entradas y contenido inicial
- Eliminamos la entrada de ejemplo “Hola mundo”
- Creamos nuevas entradas optimizadas para ser consumidas por Astro
- Mantuvimos
.htaccesslimpio solo con reglas de permalinks, evitando conflictos con Apache
Resultado final
Tras estos ajustes, tenemos:
- WordPress como CMS sin cabeza
- Base de datos SQLite optimizada para mínima escritura
- WP-Cron desactivado
- Comentarios deshabilitados y no visibles
- xmlrpc.php bloqueado a nivel de servidor
- Instalación ligera y segura lista para un blog personal con Astro
Con esta configuración, tu WordPress funciona exclusivamente como backend, consumiendo mínimos recursos y proporcionando contenido limpio y seguro a cualquier frontend moderno.