Bernat Casero — computer engineer portfolio header artwork

fvBlog

fvBlog (Fast Visual Blog) es una plataforma de blogs gratuita y de código abierto diseñada para la velocidad y el impacto visual. PHP renderizado en el servidor con HTMX y Alpine.js mantiene las cargas instantáneas en alojamiento compartido económico, sin necesidad de Node.js en el servidor.

Gratis y de código abierto · GPL-3.0 · PHP 8.1+ · MySQL o MariaDB

Por qué fvBlog y no un CMS pesado

  • PHP renderizado en el servidor con caché de páginas y fragmentos: los visitantes reciben HTML prácticamente estático, con ETags fuertes y respuestas 304 Not Modified instantáneas.
  • Sin runtime de Node.js, sin paso de compilación y sin consultas pesadas en cada petición: toda la plataforma funciona cómodamente en un alojamiento compartido económico, con menos de 16 MB por petición.
  • Todo es tuyo: contenido, temas y plugins viven en tus carpetas, con código fuente GPL-3.0, base de datos exportable y sin dependencia de proveedor.

Funciones

  • Ultraligero y rápido: PHP renderizado en el servidor, dependencias mínimas y caché de páginas y fragmentos para visitantes con HTML gzip, ETags fuertes y respuestas 304 Not Modified instantáneas.
  • Pensado para alojamiento económico: PHP 8.1 – 8.5, Apache (.htaccess) o Nginx y MySQL/MariaDB en cualquier alojamiento compartido, VPS o contenedor estándar.
  • Alto impacto visual con temas instalables: plantillas Latte aisladas, modo claro/oscuro, bloques modulares (cabecera, navegación, portada, contenido, barra lateral, pie y créditos), galería de temas, previsualizaciones y cuatro diseños incluidos.
  • Front-end reactivo con HTMX: scroll infinito, búsqueda instantánea y filtro por etiquetas sin recargar la página.
  • Editor visual de historias flexible: edición WYSIWYG con saneamiento seguro del HTML, conmutador de código en bruto y espacio de trabajo a pantalla completa en escritorio.
  • Biblioteca multimedia con subidas optimizadas: carga de varios archivos, importación por URL protegida contra SSRF, búsqueda instantánea, pies de foto y conversión automática a WebP con derivados responsivos.
  • Ajustes ordenados en el panel: identidad del sitio, formato de URL de las historias, valores por defecto de SEO y OpenGraph, directivas personalizadas de robots.txt, modo de depuración, cambio de entorno y purga de caché con un clic.
  • Seguridad sólida: defensas OWASP Top 10, roles de administrador y colaborador, tokens CSRF en las peticiones HTMX, sesiones seguras y escáner automático de temas.
  • Sistema de plugins extensible: hooks de acción y filtro para analítica, widgets y autenticación personalizada como OAuth con Google, Microsoft o Apple.
  • API de publicación headless: endpoints REST autenticados por token para la publicación automatizada y multiplataforma de historias.
  • Multilingüe por diseño: el sitio público y el panel de administración admiten idiomas independientes, y las historias, etiquetas, menús de navegación y cadenas del sistema se pueden traducir.
  • Diseño responsivo mobile-first: el blog público y todo el panel de administración están pensados para móviles, tabletas y escritorio.
  • Asistente de instalación inicial y actualizaciones con un clic: la configuración de 4 pasos comprueba el host, prueba la base de datos, crea el administrador y bloquea el instalador, mientras las migraciones versionadas actualizan el esquema in situ.

Tecnologías

CapaFunción
PHP 8.1 – 8.5Intérprete del backend, verificado en la CI en cada versión soportada
Flight PHPMicroframework para el enrutado y la inyección de dependencias
HTMXScroll infinito, búsqueda instantánea e intercambios parciales de página sin SPA
Alpine.jsEstado reactivo ligero para menús, cambio de tema y ventanas modales
MySQL / MariaDBAlmacenamiento relacional mediante sentencias preparadas de PDO
Apache o NginxReescritura estándar con .htaccess o un bloque de servidor Nginx incluido

Instalación

Pruébalo en local con Docker

  1. Descarga la versión de fvBlog y descomprímela en una carpeta de trabajo
  2. Copia src/config/config.example.php en content/config.php
  3. Levanta el entorno con docker compose up -d
  4. Abre https://localhost:8889 y completa el asistente de configuración
cp src/config/config.example.php content/config.php docker compose up -d

El entorno Docker incluye PHP 8.1 con Apache y MySQL 8.0; cualquier versión soportada de la 8.1 a la 8.5 está a un argumento de compilación.

Instalación en alojamiento compartido

  1. Sube el código de fvblog y haz content/ escribible (chmod -R 775 content)
  2. Apunta el document root a src/public y activa mod_rewrite (Apache) o usa el bloque Nginx incluido
  3. Abre tu sitio: sin content/config.php, fvBlog redirige automáticamente a /install
  4. Completa el asistente de 4 pasos (entorno, base de datos, administrador y aprovisionamiento) y empieza a publicar

El asistente comprueba los requisitos él mismo y las migraciones de esquema se aplican automáticamente tras cada actualización.

Requisitos

  • PHP 8.1 a 8.5 con pdo_mysql, mbstring, curl, gd o imagick, openssl, json y fileinfo
  • MySQL 5.7+ o MariaDB 10.3+ (recomendado MySQL 8.0)
  • Apache 2.4+ con mod_rewrite, o Nginx 1.18+
  • 256 MB de RAM disponible y unos 100 MB de disco para la instalación base

Preguntas frecuentes sobre fvBlog

¿Qué es fvBlog?

fvBlog (Fast Visual Blog) es una plataforma de blogs gratuita y de código abierto escrita en PHP. Combina páginas renderizadas en el servidor, una caché interna y la interactividad de HTMX para mantenerse rápida en alojamiento compartido económico, con un editor visual moderno y un sistema de temas instalables.

¿fvBlog es gratis?

Sí. fvBlog se publica bajo la licencia GPL-3.0, así que puedes descargarlo, autoalojarlo, modificarlo y usarlo comercialmente sin coste. Solo pagas tu alojamiento y dominio.

¿Necesito Node.js o un paso de compilación para ejecutarlo?

No. fvBlog solo necesita PHP y MySQL/MariaDB. Los recursos de front-end ya vienen compilados y se sirven directamente, así que no hace falta Node.js, ni bundler, ni gestor de paquetes en el servidor: basta con subir los archivos.

¿Puedo publicar sin tocar código?

Sí. El panel de administración cubre las historias con un editor visual, etiquetas, medios, navegación, usuarios, temas y ajustes del sitio. La edición de HTML en bruto está disponible para diseños avanzados, y cada instalación autoalojada incluye asistente inicial y actualizaciones con un clic.

¿Puedo personalizar el diseño?

Los temas son paquetes de plantillas Latte aislados con un manifiesto theme.json, tokens de color, CSS personalizado y JS opcional. Puedes subir un zip, duplicar un tema, crear uno a partir del diseño incluido, previsualizarlo y cambiar el tema activo desde la galería en /admin/themes. Cuatro temas vienen de serie.

¿fvBlog admite varios idiomas?

Sí. El sitio público y el panel de administración tienen idiomas independientes, y las historias, etiquetas, menús de navegación y cadenas del sistema se pueden traducir por separado. Los plugins pueden añadir traductores automáticos como Google Translate o DeepL.

¿Puedo publicar desde scripts u otras aplicaciones?

Sí. La API REST headless usa autenticación por token con limitación de peticiones, así que puedes crear y gestionar historias desde scripts de automatización o aplicaciones externas sin abrir el panel.