RLoad.eu WebSite 2026
Ricostruzione da zero del portale di una community tech nata nel 2018 intorno al gioco
Stack: WordPress, PHP, MySQL, JavaScript senza dipendenze, REST API
Tipo di progetto: Portale editoriale + community, tema custom autonomo (nessun tema padre)
URL: rload.eu
Il Problema
RLoad.eu nasce nel 2018 come community di gioco, con server TeamSpeak, Discord e progetti paralleli, e negli anni diventa un portale di informatica, hardware, software e guide. Il vecchio sito era un forum con un archivio di articoli cresciuto per stratificazione, e non poteva più reggere quello che il progetto voleva diventare:
- Un portale che vive di tre pubblici diversi. Chi legge le notizie, chi deve comporre un PC e vuole sapere se i pezzi sono compatibili, chi segue i tornei esports in diretta. Tre esperienze che di solito stanno su tre siti diversi.
- Un progetto che deve sostenersi da solo, con pubblicità, affiliazione e un abbonamento facoltativo, senza trasformare la pagina in una vetrina di banner e senza affidare a plugin di terzi le parti che toccano soldi, dati personali e prestazioni.
La Soluzione
Il sito è stato riscritto da zero come tema WordPress autonomo: niente tema padre, niente page builder, niente jQuery. Tutto quello che un tema da marketplace dà “gratis” (dark mode, testata, archivi, zone pubblicitarie, commenti a thread) qui è stato progettato e scritto, con un’architettura a moduli e un design system unico da cui derivano colori, tipografia, spazi e larghezze di ogni pagina.
Funzionalità Principali
Configuratore Build PC con esploso isometrico Il configuratore raggruppa i componenti come si monta un PC (il cuore, grafica e dati, energia e telaio, facoltativi) e per ogni riga dice a parole lo stato: da scegliere, verificato, non dichiarato o in conflitto, con il motivo accanto. La compatibilità si calcola lato server su regole scritte da wp-admin (socket, formato scheda madre, memoria, watt dell’alimentatore). Il PC scelto si vede in un esploso isometrico disegnato in SVG direttamente da PHP: un cursore lo porta da montato a esploso, i nomi dei pezzi sono testo vero e non immagini, e quando il case dichiara le misure la vista “Quote” le disegna attorno alla scocca. Il configuratore si aggiorna appena si sceglie un pezzo, il link della configurazione segue ogni scelta, e senza JavaScript fa lo stesso lavoro con un pulsante.
Schede Build come tavole tecniche Ogni build pubblicata ha l’esploso a tutta larghezza, la distinta numerata con gli stessi numeri di richiamo del disegno, il verdetto di compatibilità e il bilancio dei consumi rispetto all’alimentatore. Da qualsiasi build si apre il configuratore con la stessa configurazione già compilata, pronta da modificare.
Esports in diretta Una pagina a tabellone con partite in diretta, in programma e appena finite (CS2, Dota 2, LoL, Valorant, Rainbow Six), alimentata da un fornitore esterno (PandaScore) tramite cron. La pagina legge solo una copia salvata sul server: non contatta nessuno mentre il visitatore la guarda, e se il fornitore smette di rispondere lo dice, con l’ora dell’ultimo aggiornamento.
Community integrata Presenze in tempo reale da Discord e TeamSpeak lette da cron, una pagina Server con istruzioni e indirizzi da copiare, forum bbPress con template propri, profili pubblici con commenti e follower, account verificati, accesso dentro il sito con secondo fattore (TOTP) e wp-admin chiuso a chi non ci lavora.
Redazione da Telegram Un bot porta alla redazione i messaggi del modulo di contatto e i contenuti in attesa di moderazione: si risponde e si approva direttamente dalla chat, senza aprire il pannello. Ogni articolo nuovo viene annunciato da solo sul canale.
Monetizzazione senza compromessi Abbonamento con PayPal verificato lato server (il paywall sta nel PHP, non in un CSS che nasconde), zone pubblicitarie con consenso ai cookie scritto in casa, link di affiliazione Amazon con prezzi aggiornati dall’API ufficiale e una sezione Offerte come tipo di contenuto proprio.
Design system & dark mode Un solo file di token (colori, tipografia Archivo / Martian Mono, spazi, larghezze) da cui derivano due palette, chiara e scura, con il contrasto WCAG verificato da uno script su entrambe. Dark mode a tre stati (chiaro, scuro, automatico) senza lampo al caricamento. Una scala di soglie unica in rem controllata automaticamente, layout che su un 4K guadagna colonne invece di gonfiare le card, testi sempre sotto i 68 caratteri per riga.
Scala e Continuità del Progetto
Il changelog pubblico del sito racconta il ritmo: la riscrittura parte a settembre 2026 e in meno di un mese arriva a 11 release e oltre 320 commit, con una cadenza di rilascio quotidiana. Ogni push passa da una pipeline con lint e smoke test, ogni rilascio su main è un deploy automatico in produzione con verifica finale della home. Dietro al codice ci sono 26 note tecniche che documentano per area il perché delle scelte, le trappole già incontrate e le misure fatte.
Architettura Tecnica
- CMS: WordPress con tema custom autonomo, nessun tema padre e nessun page builder
- Backend: PHP con architettura a moduli (un file per funzionalità, registrati in un unico punto in ordine di dipendenza), degrado controllato: se un plugin o un’API esterna manca, la funzione sparisce e il sito resta in piedi
- Frontend: CSS a moduli caricati solo dove servono, JavaScript senza dipendenze e sempre
defer, font e librerie ospitati in casa e mai da CDN - Integrazioni: PandaScore (esports), Discord e TeamSpeak (presenze), Telegram Bot API (redazione e canale), PayPal (abbonamento), Amazon Creators API (prezzi), feed RSS con ingest automatico, deploy da GitLab via webhook
- SEO: canonical, Open Graph e JSON-LD scritti dal tema (anche
Product/Reviewsulle recensioni), briciole di pane uniche,hreflange sitemap per lingua,/llms.txt - i18n: italiano e inglese con Polylang, oltre 2.500 stringhe del tema nel catalogo, multilingua spegnibile senza disattivare il plugin
- Sicurezza: IP reale dietro Cloudflare, reCAPTCHA v3 sui moduli pubblici, filtro di link e parole su commenti e forum, secondo fattore TOTP, revisione di sicurezza prima di ogni rilascio
Il Mio Contributo
Ho progettato e sviluppato il tema da zero: architettura dei moduli PHP, design system e interfaccia, configuratore con esploso isometrico, integrazioni esterne e pipeline di rilascio, lavorando fianco a fianco con il fondatore della community sui contenuti e sulle priorità del progetto.
Numeri
- 88 moduli PHP, 55 componenti CSS, ~73.000 righe di PHP
- 11 release e +320 commit in meno di un mese
- 2 palette (chiara e scura) con contrasto verificato, 2 lingue
- Prima pagina da 160 a 111 query al database, tempo SQL da 119 a 84 ms
Caratteristiche Distintive
- Tema autonomo scritto da zero: ogni funzione che un tema commerciale “regala” qui è progettata
- Esploso isometrico generato dal server in SVG, leggibile, accessibile e senza librerie grafiche
- Compatibilità dei componenti calcolata lato server su regole modificabili dalla redazione
- Redazione e moderazione gestibili da Telegram, senza aprire wp-admin
- Performance misurate e documentate release dopo release, con i numeri nel changelog pubblico
file · 9