Nel meraviglioso mondo di WordPress vige un dogma accettato passivamente dalle masse: “C’è un plugin per tutto”. Verissimo. Online si trovano soluzioni straordinarie scritte da programmatori con i contromaroni. Il problema, però, non è la qualità del codice di questa gente. Il problema è l’obesità informatica che ci si tira in casa ogni volta che si clicca su “Installa”.
Perché, vedete, anche se un plugin è scritto da un “mago” della tastiera, deve comunque accontentare l’utente medio (leggi: pigro e pretenzioso). Risultato? Ci si ritrova sul server tre tonnellate di fogli di stile, script JavaScript larghi come portaerei e opzioni che alla platea non serviranno mai. Nemmeno in un’altra vita.
Così, in un attacco di pura coerenza (e si, anche un pò di noia), ho preso l’editor di testo ed ho fatto il battitore libero. Non per presunzione. Semplicemente, ho applicato la stessa filosofia di quel “fanàimàn” di Davide Bianchi su soft-land.org: se una cosa è inutile, va eliminata. Se pesa, va ottimizzata. Se si può fare con tre righe di codice, non si installa un’applicazione da venti megabyte.
Sia chiaro subito il punto fermo per tutta la platea: questo sito non esiste per “essere bello”. Non ci sono slide che girano, non ci sono popup molesti, non ci sono animazioni che fanno decollare la ventola del computer di chi legge. Questo spazio esiste solo per essere essenziale, fulmineo e fatto per una sola cosa: essere letto. Il resto è fuffa visiva per chi non ha nulla da dire.
Tutto parte dalle fondamenta: sfoltire il genio
La crociata contro il superfluo è iniziata dal template. La scelta è ricaduta su TDT-One, un gioiello di Thapelo Moeti, un programmatore eccezionale che sa decisamente il fatto suo.
Ora, è facile intercettare il pensiero del pignolo di turno tra il pubblico: “Ma scusa, visto che fai tanto il purista del codice, perché il tema non te lo sei scritto da zero da solo?”.
Risposta semplice: si reinventerebbe lo pneumatico solo per cambiare una gomma?
Certo che no. Sarebbe una masturbazione mentale inutile e antieconomica. Oddio, il già citato Davide Bianchi l’ha fatto eh, anzi per essere precisi si è scritto il suo intero CMS proprietario, il famosissimo FdT, ma io per fortuna ho incrociato la strada di Thapelo che ha già risolto in modo egregio tutta la noiosa parte strutturale, il layout di base e la compatibilità. La sua base era già ottima, ma per gli standard di ascesi digitale di questo blog c’era comunque troppo.
Armato di accetta, il suo codice è stato abbondantemente sfoltito, estirpando qualunque funzione non rispondesse a un bisogno vitale. Il risultato? Una base pulita, scattante, che non consuma risorse inutilmente.
A quel punto, installare i classici plugin commerciali sarebbe stato come montare il motore di un tagliaerba su una Ferrari (ad essere onesto, in un certo senso si potrebbe anche vedere al contrario, il motore di una Ferrari su un tagliaerba, ma ci siamo capiti dai). La logica doveva essere una sola: meno è meglio, ma della giusta misura. Senza fanatismi, ma con estrema fermezza.
La suite di script per il backend (fatti in casa)
Per mantenere il controllo totale ed evitare che il database diventasse una discarica di dati inutili, ho scritto una suite personale. Nota bene per i curiosi: i nomi specifici dei moduli non esistono e la descrizione tecnica di seguito rimarrà volutamente asciutta. Non aspettatevi di leggere i dettagli del funzionamento o le singole funzioni. La vera sicurezza passa anche dal non svelare troppo, e meno dettagli si danno in pasto al pubblico, meno appigli si lasciano a chi ha intenzioni moleste.
Ecco cosa gira sul server, descritto con il minimo sindacale di informazioni necesarie:
- Il sistema di blindatura degli accessi: nessun software di sicurezza elefantiaco che scansiona il server ogni tre secondi consumando CPU come se non ci fosse un domani. Poche righe di codice chirurgiche per bloccare la porta d’ingresso. Come non ve lo dico, ma funziona.
- Il blocco dei tentativi di login forzati: si sbaglia la password? Il sistema prende il malintenzionato a calci e lo banna all’istante. Zero configurazioni, zero pannelli di controllo, zero memoria sprecata. Ciao.
- Il notificatore personalizzato per i nuovi articoli: bisogna avvisare gli iscritti se esce un pezzo? Bene. Questa funzione invia l’avviso e muore lì. Non crea tabelle chilometriche nel database per tracciare anche quante volte il lettore batte le palpebre. Un gentile avviso e poi il silenzio.
- La gestione minimale dei meta tag: i plugin SEO più famosi sono diventati dei mostri pieni di pubblicità, sezioni premium e consigli ridicoli scritti per i motori di ricerca e non per gli umani. Qui si gestiscono solo i meta tag sacrosanti, i tag open graph e la sitemap. Fine della fiera. Gioco, partita, incontro.
- Il sistema nativo per l’informativa sui cookie: un banner minimale che fa il suo dovere di legge senza scaricare script esterni da server remoti e senza appesantire il caricamento. Rispetto delle regole, zero tracciamento, rottura di zebedei dell’utente al minimo sindacale.
- La rimozione totale di commenti e flussi aggregati: se in questo sito non si vogliono i commenti e non servono i feed RSS, perché lasciare che WordPress continui a generare quel codice esponendosi allo spam dei bot? Piallati alla radice. Scomparsi.
- Il tracciamento ultraleggero delle visite: non importa a nessuno (almeno, non a me) sapere se il pubblico usa uno schermo a 4K o se naviga dal bagno. Basta sapere quali articoli e pagine vengono letti. Un conteggio invisibile che non ruba nemmeno un millisecondo al caricamento della pagina.
- La Progressive Web App (PWA) monolitica: trasforma il sito in un’applicazione installabile sullo smartphone in totale autonomia, senza tirarsi dietro plugin commerciali. Il sistema gestisce tutto in background: si adatta all’interfaccia, propone l’installazione tramite un banner dedicato che si attiva solo sui dispositivi mobili (evitando di disturbare chi naviga da PC) e si aggiorna da solo nel momento esatto in cui viene pubblicato un nuovo contenuto. Il risultato pratico? Chi legge può mettere il telefono in modalità aereo e continuare a navigare sulla Home e sui contenuti, che rimangono accessibili all’istante, a consumo dati zero.
Zero plugin anche per l’interfaccia: solo roba utile. Punto.
La stessa identica pulizia è stata applicata alle funzioni visibili sullo schermo. C’è gente che installa un plugin intero anche solo per mostrare una riga colorata. Roba da denuncia penale informatica.
Il codice è stato scritto nativo, integrato direttamente nell’ecosistema del sito. Sempre rigorosamente fatti in casa, la platea troverà:
- Il contatore previsionale del tempo di lettura degli articoli: calcola all’istante quanti minuti servono per leggere, basandosi sul numero di parole. Nessun calcolo esternalizzato, aritmetica pura sul server: questo diviso quello e fine della storia.
- La barra di avanzamento della lettura di cui sopra: un indicatore visivo microscopico in termini di peso che segue lo scorrimento della pagina. Dice a che punto si è arrivati, senza scassare la uallera al browser.
- L’archivio navigabile per data: una consultazione navigabile dei post pulita, logica e immediata. Niente query complesse che fanno sudare il database.
- Il widget degli ultimi articoli in home page: mostra i contenuti recenti esattamente dove servono. Senza trascinarsi dietro fogli di stile extra o i layout barocchi dei widget standard di WordPress. Unico vezzo, il “NEW” lampeggiante solo nel giorno di pubblicazione dell’articolo (l’ha chiesto mia moglie, potevo rifiutare?).
- Il traduttore automatico in lingua inglese: una funzione interna che converte il testo per il pubblico internazionale. Genera la versione inglese al volo (con GTranslate) e in autonomia, senza appoggiarsi a pesanti script esterni che rallentano la pagina. Occhio eh… lo sentite? Ecco il pignolo che dice: come si fa a dire “senza pesanti script esterni” se poi si scomoda un gigante come Google? Semplice: il codice prende in prestito la potenza di Google “nel retrobottega” del server. Il browser di chi legge riceve solo testo puro, senza dover caricare pesanti widget JavaScript esterni. In pratica: si sfrutta l’algoritmo di Big G alla velocità della luce, ma con l’impatto sul caricamento di una piuma e con zero tracciamenti o incetta di dati degli utenti.
- L’esportatore nativo in formato PDF e DOC/RTF: permette alla platea di salvare gli articoli per una lettura offline. Il server impacchetta il file in un clic usando codice pulito, senza costringere a installare suite di conversione mastodontiche. Perché anche DOC/RTF? Cosa non è chiaro in “CC BY-NC-SA“?
Tutta roba utile. Solo roba utile. Il resto è rumore di fondo per siti che devono nascondere la mancanza di contenuti dietro a un design luccicante.
L’eccezione
L’unica eccezione a questo repulisti generale? Il plugin per l’autenticazione a due fattori. Ora, non venite a spiegarmi che si può programmare un TOTP in PHP sul tovagliolo di un bar. Si può fare, certo, ma improvvisarsi esperti di crittografia è il primo passo per finire dritti nella hall of fame degli idioti del web. Siccome non avevo voglia di rimanere chiuso fuori dal mio server per colpa del mio stesso ego, ho preferito delegare. Ho evitato i soliti moduli “mainstream” che ti vendono pure la nonna e ti appioppano milleduecento pannelli inutili, e ho scelto un tool spartano e solido, focalizzato su un unico obiettivo (e no, non vi dirò il nome neanche sotto tortura). È l’eccezione che conferma la regola: dove il fai-da-te diventa roulette russa, la vera saggezza sta nell’alzare bandiera bianca. Forse, un giorno, quando avrò digerito abbastanza teoria, proverò a scrivermelo da solo. Oggi no.
Una scelta di campo
Scriversi le cose da soli richiede tempo, mal di testa e competenze. Non è una strada consigliabile a chi vuole la pappa pronta. E per anticipare i malpensanti di turno: no, i plugin non li ha scritti ChatGPT, nè Gemini. Li ho pensati, strutturati e scritti io, sono farina del mio sacco e frutto del sudore dei miei polpastrelli.
L’intelligenza artificiale, però, l’ho usata. E l’ho usata per quello in cui eccelle davvero: l’ottimizzazione, il “refactoring” e la caccia alle virgole fuori posto. Se la sai guidare bene, se hai in testa esattamente cosa vuoi ottenere e le dai le direttive giuste, l’AI sa fare questo lavoro in modo egregio. Diventa un assistente formidabile per rifinire l’opera.
Questo sito oggi non è veloce perché è stato installato un plugin di cache miracoloso che nasconde la polvere sotto al tappeto. È veloce perché non ha nulla da elaborare che non sia strettamente necessario. Meno codice, meno potenziali falle di sicurezza, meno query. Solo l’essenziale, della giusta misura, per rimettere al centro l’unica cosa che conta davvero: la lettura. E se a qualcuno della platea non dovesse piacere l’estetica spartana… beh, il web è grande, si può andare a farsi ipnotizzare altrove.
Comments
Comments are now closed