Gli stessi siti WordPress di oggi.
Da 4,5 a oltre 5 volte le richieste al secondo.
BookPress è un software che fa girare lei, sulla sua infrastruttura:
un'implementazione nativa del core di WordPress che serve i siti già in
piattaforma con gli stessi temi, lo stesso /wp-admin e gli stessi
URL di oggi. Noi vendiamo il software; l'hosting resta a lei.
Ne guardi uno prima di continuare. La demo dal vivo fa girare
questo motore su una e2-micro di Google Cloud, due vCPU condivise e
969 MB di memoria, con il tema Kadence e WooCommerce, Elementor, Yoast SEO, Contact Form 7, Yoast Duplicate Post e Hello Dolly
tutti attivi, senza cache delle pagine da nessuna parte. Le credenziali
compaiono quando avvia la sandbox. La sandbox sparisce 15 minuti dopo
l'avvio, quindi non ci metta nulla di personale.
Cosa cambia sul suo parco macchine
Lo stack PHP esce dal percorso della richiesta. Sulle pagine WooCommerce ed
Elementor del sito, BookPress serve circa 4,5 volte le richieste al
secondo di un WordPress ottimizzato sul server Intel, e oltre 5 volte
sul server ARM. Un sito senza plugin arriva a circa 112,9 volte
sul server Intel e 125 volte sul server ARM.
Abbiamo misurato su macchine Google Cloud c2-standard-4 e
c4a-standard-4, senza cache, contro un WordPress con PHP e JIT
dell'opcode, Redis e MariaDB, su pagine che una cache non può servire.
La memoria va di pari passo: a pieno carico sul server Intel, quattro worker BookPress hanno usato circa 0,6 GB, contro 0,55 GB di un WordPress dimensionato a misura e 1,8 GB di un pool ottimizzato da 64 child; dopo 30 secondi a riposo BookPress è sceso a circa 0,3 GB, mentre i pool WordPress non hanno mollato nulla. Le cifre sulla memoria vengono da BookPress 0.2.57. Ogni numero e il metodo sono nelle pagine velocità e densità.
All'avvio del servizio BookPress sceglie il numero di worker in base a
processori e memoria della macchina. Un valore scritto in
/etc/bookpress/bookpress.conf ha la precedenza. Il codice del
motore e il bytecode dei plugin (circa 75 MB) sono condivisi fra tutti i
worker; ogni worker aggiunge poi da 100 a 180 MB circa sotto carico e
ne restituisce la maggior parte a riposo. I file PHP di un sito vengono
compilati all'avvio e quando un file cambia, così il primo visitatore non
aspetta. Un worker fermo da 30 secondi restituisce memoria al sistema. Quanti
siti regge una macchina lo stiamo ancora misurando.
Cosa resta ai suoi clienti
I loro temi, il loro wp-admin, i loro URL, i loro contenuti. Un sito migrato
è lo stesso sito: le stesse righe in wp_posts, gli stessi permalink,
lo stesso /wp-admin. Chi possiede il sito non si accorge di nulla,
ed è l'unica versione di questa storia che un servizio di supporto può
reggere.
Cosa manca ancora
Quasi tutti i fornitori saltano questa parte, quindi la mettiamo per prima. Il multisite non è supportato. Il Customizer (Personalizza) e il Site Editor (Editor del sito) funzionano in parte: il Customizer mostra l'anteprima ricaricando la pagina, e il Site Editor non ha revisioni dei template né varianti di stile. Tutti e due vogliono un'installazione WordPress su disco accanto a BookPress. Plugin e temi si installano da wordpress.org in wp-admin; i temi non hanno ancora un flusso di aggiornamento. La modifica delle immagini copre ritaglio, rotazione di un quarto di giro, capovolgimento e ridimensionamento, per JPEG e PNG. Il supporto ai plugin è reale, ma parziale: i plugin girano come PHP sul nostro motore, e ognuno viene certificato, limitato o rifiutato prima di poter essere attivato.
Quest'ultimo punto conta più di quanto sembri. Controlliamo ogni plugin di un sito prima di farlo girare, e un plugin che fallirebbe torna con nome, file e riga in cui fallirebbe. WordPress installa qualsiasi cosa e il sito lo scopre alla prima richiesta, con una schermata bianca. Lei invece sa quali plugin di un cliente funzionano prima di spostarlo.
L'installazione
curl -fsSL https://bookpress.io/install.sh | sudo sh L'installatore riconosce apt o dnf, chiede l'id cliente e il token di accesso, installa il pacchetto firmato e avvia il servizio. I passi manuali per ogni distribuzione sono nella pagina di installazione del suo account.
L'installatore chiede l'indirizzo che usano i visitatori. Dietro nginx, Caddy
o un load balancer sulla stessa macchina, BookPress serve link https senza
altre impostazioni. Se HTTPS termina su un'altra macchina, la indichi con
--trusted-proxy: gli header inoltrati da qualunque altra
origine vengono ignorati. Negli script, --site-url
imposta l'indirizzo e --yes salta le domande.
BookPress si aggiorna da solo. Le release si installano senza intervento,
mentre una versione major aspetta il suo via libera. Dopo ogni aggiornamento
controlla che il sito risponda ancora e, se non risponde, torna alla versione
precedente. Strumenti → Site Health (Salute del sito) mostra la versione
installata e l'ultimo esito.
UPDATER=off in /etc/bookpress/updater.conf spegne
l'aggiornamento automatico.
I siti entrano, e possono uscire
Un comando per direzione. Il nostro pacchetto installa un suo
wp accanto al server. Ogni comando chiede conferma una volta prima
di scrivere; --yes salta la domanda negli script.
I comandi funzionano appena finita l'installazione, con o senza WP-CLI sul
server; dietro c'è il programma bookpress-wp, e
bookpress-wp import e bookpress-wp export sono le
forme brevi.
Dentro
$ 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. Per il dump l'importazione usa la WP-CLI del sito stesso, quindi BookPress non vede mai la password del database, e lascia intatti il WordPress di partenza e il suo MySQL. Annota tutto quello che serve per tornare indietro: prefisso delle tabelle, definizioni delle tabelle, chiavi rinominate, quali tabelle e opzioni sono nostre, home e site URL, un manifesto dei file. Chiude con un verdetto per ogni plugin, che può essere limitato o rifiutato.
Fuori
$ 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. L'esportazione parte da quelle annotazioni. Un sito che entra e subito esce
è identico byte per byte, nel database e in wp-content; una
suite di test lo verifica contro un WordPress vero su MariaDB. L'esportazione
scrive il backup fuori dalla web root. Preferiamo che possa andarsene,
piuttosto che rinunci a cominciare.
Non è un provider di hosting? L'hosting WordPress gestito su BookPress, per chi ha dei siti e non gestisce server, è in arrivo. Iscriversi alla lista →
Gestisce WordPress su larga scala e vuole provarlo su un parco macchine vero? Ci racconti cosa ci gira sopra.