Los mismos sitios WordPress.
De 4,5 a más de 5 veces las peticiones por segundo.
BookPress es un software que usted ejecuta en su propia infraestructura: una
implementación nativa del núcleo de WordPress que sirve los sitios que ya tiene en su
plataforma, con los mismos temas, el mismo /wp-admin y las mismas
URL que usan hoy. Nosotros vendemos el software; el hosting sigue siendo cosa
suya.
Mire uno antes de seguir leyendo. La demo en vivo corre
este motor en una e2-micro de Google Cloud, dos vCPU compartidas y
969 MB de memoria, con el tema Kadence y WooCommerce, Elementor, Yoast SEO, Contact Form 7, Yoast Duplicate Post y Hello Dolly,
todos activos, y sin caché de página en ningún punto. Su acceso aparece al
arrancar su sandbox. El sandbox se borra a los 15 minutos de arrancarlo, así que
no meta en él nada personal.
Qué cambia en su flota
El stack PHP desaparece del camino de la petición. En las páginas de WooCommerce y Elementor
del sitio, BookPress sirve unas 4,5 veces las peticiones por segundo que un
WordPress optimizado en el servidor Intel, y más de 5 veces en el servidor ARM.
Un sitio sin plugins llega a unas 112,9 veces las peticiones por segundo
en el servidor Intel y a 125 veces en el ARM. Medimos la velocidad
en máquinas c2-standard-4 y c4a-standard-4 de Google Cloud,
sin caché, contra un WordPress con su propio PHP con JIT de opcodes, Redis y MariaDB, en
páginas que una caché no puede servir.
La memoria va por el mismo camino: a plena carga en el servidor Intel, cuatro workers de BookPress usaron unos 0,6 GB, frente a 0,55 GB de un WordPress bien dimensionado y 1,8 GB de un pool optimizado de 64 hijos; tras 30 segundos en reposo, BookPress bajó a unos 0,3 GB mientras los pools de WordPress se quedaron donde estaban. Las cifras de memoria se midieron con BookPress 0.2.57. Cada cifra y el método están en las páginas de velocidad y densidad.
BookPress fija cuántos workers arranca a partir de los procesadores y la memoria
de la máquina cuando se inicia el servicio. Si usted fija un número en
/etc/bookpress/bookpress.conf, manda el suyo. El código del motor y el bytecode de los
plugins (unos 75 MB) se comparten entre todos los workers; cada worker suma después
entre 100 y 180 MB propios bajo carga y devuelve casi todo en reposo.
Compila los archivos PHP de un sitio al arrancar y cada vez que un archivo cambia, así que
el primer visitante no espera por eso. Un worker que lleva 30 segundos sin peticiones
devuelve memoria al sistema. Estamos midiendo cuántos sitios aguanta una máquina.
Qué conservan sus clientes
Sus temas, su wp-admin, sus URL, su contenido. Un sitio migrado es
el mismo sitio: las mismas filas en wp_posts, los mismos enlaces permanentes, el
mismo /wp-admin. El dueño del sitio no nota ningún cambio, y esa es la
única versión de esto que un equipo de soporte puede aguantar.
Qué falta todavía
Casi todos los proveedores se saltan esta parte, así que aquí va la primera. Multisitio no está soportado. El Personalizador y el Editor del sitio funcionan en parte: el Personalizador previsualiza recargando la página, y el Editor del sitio no tiene revisiones de plantilla ni variaciones de estilo. Los dos necesitan una instalación de WordPress en disco junto a BookPress. Los plugins y los temas se instalan desde wordpress.org en wp-admin; los temas todavía no tienen flujo de actualización. La edición de imágenes cubre recortar, girar en cuartos de vuelta, voltear y escalar, para JPEG y PNG. El soporte de plugins es real y parcial: los plugins corren como PHP sobre nuestro propio motor, y certificamos, limitamos o rechazamos cada uno antes de que pueda activarse.
Ese último punto vale más de lo que parece. Revisamos cada plugin de un sitio antes de ejecutarlo, y si uno fuera a fallar, se lo devolvemos con su nombre, el archivo y la línea en la que fallaría. WordPress instala cualquier cosa y el sitio se entera al recibir la petición, con una pantalla en blanco. Usted sabrá qué plugins de un cliente funcionan antes de moverlos.
Instalación
curl -fsSL https://bookpress.io/install.sh | sudo sh El instalador detecta apt o dnf, le pide su id de cliente y su token de acceso, instala el paquete firmado y arranca el servicio. Los pasos manuales para cada distribución están en la página de instalación de su cuenta.
El instalador pregunta por la dirección que usan los visitantes. Detrás de nginx, Caddy o un
balanceador en la misma máquina, BookPress sirve enlaces https sin ningún ajuste
extra. Si HTTPS termina en otra máquina, nómbrela con
--trusted-proxy; las cabeceras reenviadas desde cualquier otro origen se
ignoran. Para instalaciones por script, --site-url fija la dirección y
--yes se salta las preguntas.
BookPress se actualiza solo. Las versiones se instalan sin intervención por defecto, y una
versión mayor espera a que usted dé el visto bueno. Tras cada actualización comprueba que el
sitio sigue respondiendo y, si no, vuelve a la versión anterior. En Herramientas →
Salud del sitio aparecen la versión instalada y el último resultado.
UPDATER=off en /etc/bookpress/updater.conf apaga
el actualizador.
Meter sitios, y sacarlos
Un comando en cada sentido. Nuestro paquete instala su propio wp junto
al servidor. Cada comando pregunta una vez antes de escribir nada;
--yes se salta la pregunta en los scripts.
Los comandos funcionan nada más instalar, tanto en un servidor con WP-CLI como en uno
sin él; el programa que hay detrás es bookpress-wp, y
bookpress-wp import y bookpress-wp export son las
formas cortas.
Entrar
$ wp bookpress import --dir=<wp-root> --path=/var/lib/bookpress
BookPress import from the WordPress at <wp-root>
Import <home-url> (<n> tables, <size> uploads) into BookPress at <bookpress-root>? [Y/n] y
...
Success: Import complete. The source WordPress at <wp-root> and its MySQL database were not modified; `wp bookpress export --dir=<wp-root>` takes the site back. La importación hace el volcado con el propio WP-CLI del sitio, así que BookPress nunca toca la contraseña de la base de datos, y deja intactos el WordPress de origen y su base de datos MySQL. Registra cómo deshacerse: prefijo de tablas, definiciones de tablas, claves renombradas, qué tablas y opciones son nuestras, URL de inicio y del sitio, un manifiesto de archivos. Termina con un veredicto por cada plugin, que puede ser limitado o rechazado.
Salir
$ wp bookpress export --dir=<wp-root>
backup: <wp-root>/../bookpress-backups/bookpress-backup-20260927T131258Z.sql (94.1 KB, verified)
Are you sure you want to overwrite the contents of your MySQL database? We stored a backup of it in <wp-root>/../bookpress-backups/bookpress-backup-20260927T131258Z.sql. [y/N] y
...
Success: Export complete. WordPress at <wp-root> now holds the BookPress site. The backup of what was there is <wp-root>/../bookpress-backups/bookpress-backup-20260927T131258Z.sql. La exportación usa ese registro. Un sitio que entra y vuelve a salir de inmediato es
idéntico byte a byte, en la base de datos y en wp-content; una batería de pruebas
lo comprueba contra un WordPress real sobre MariaDB. La exportación escribe la copia de
seguridad fuera de la raíz web. Preferimos que pueda irse a que no se atreva a
empezar.
¿No es un hosting? Para quien tiene sitios pero no administra servidores, estamos preparando hosting WordPress gestionado sobre BookPress. Apúntese a la lista →
¿Ejecuta WordPress a escala y quiere probar esto en una flota real? Cuéntenos qué hay en ella.