Chi è e uno smart contract developer
La sempre crescente espansione delle criptovalute porta con sé tantissimi termini nuovi, utili non solo a comprendere i progetti digitali, ma anche tutte le tecnologie che servono per farli funzionare al meglio.

Tra le interazioni necessarie per lo scambio di criptovalute e asset digitali figura lo smart contract, non tutti però ne conoscono le potenzialità e spesso non si ha idea di come poterlo sfruttare al meglio.

In questa condizione, si pone come figura rilevante lo smart contract developer, professionista su cui focalizzeremo l’attenzione nelle prossime righe.

Qual è il significato di Smart contract

Affinché si possa comprendere chi sia lo smart contract developer è indispensabile porre l’accento su cosa significhi Smart contract.

Con questo termine si identifica quell’insieme di istruzioni memorizzate sulla blockchain che hanno la capacità di eseguire automaticamente azioni, seguendo una serie di parametri precedentemente programmati.

Tale processo avviene in modo completamente immutabile, sicuro e trasparente, garantendo transazioni molto più veloci ed estremamente efficaci.

Le origini degli smart contract risalgono, nella nomenclatura odierna, agli anni Novanta quando Szabo Nicholas gli attribuì il significato di protocollo di transazione computerizzato che esegue i termini di un contratto.

Da sottolineare che il collegamento diretto tra blockchain e smart contract è avvenuto solo nella seconda generazione, il progetto nacque per essere una tecnologia completamente estranea al settore delle criptovalute.

Con la creazione dell’Ethereum si ebbe l’esecuzione concreta delle meccaniche di smart contract, portandolo fino a oggi a essere un legame quasi indissolubile.

Tecnicamente gli smart contract vengono eseguiti da quella che usualmente viene denominata una moltitudine di nodi, questi ultimi arrivano a creare una visione unitaria sul risultato ottenuto.

Sintetizzando, è possibile identificare gli smart contract come una sequenza di azioni determinate e rappresentate sotto forma di uno specifico codice sorgente.

Cos’è uno Smart contract NFT

Nello scambio automatizzato delle attività sulla blockchain è quasi scontato imbattersi in quelli che sono al momento un tema molto rilevante: gli NFT.

I Non-Fungible token sono stati creati per la compravendita di opere d’arte digitali, ma come qualsiasi contenuto reale, necessitano di un sistema che ne certifichi la completa apparenza e destinazione nel caso di vendita.

Gli utenti che acquistano un NFT sotto forma di opera d’arte oppure di qualsiasi altra forma di espressione, si ritrovano letteralmente un documento virtuale, detto smart contract, che ne attesta il diritto.

L’inserimento in un NFT della propria composizione, rende in modo univoco un’opera d’arte quel contenuto, ma che bisogna comunque gestire tramite uno smart contract.

Le informazioni che sono contenute in un NFT non sono tantissime, ciò dovuto alla loro limitata spazialità. La blockchain non permette l’inserimento di dati di grandi dimensioni, ma soltanto delle informazioni che rispettino sequenze prestabiliti dal suo creatore.

Nel momento in cui si crea oppure si trasferisce un NFT, la blockchain si occupa di verificare non il certificato del codice sorgente, ma solo l’identificativo dello smart contract stipulato, da un punto di vista pratico: un link.

Tale processo rende evidente, come non tutti i contratti con NFT siano identici tra loro, questi possono essere gestiti in base alle esigenze dei creatori degli stessi.

In questo contesto viene a inserirsi lo smart contract developer, figura capace di generare un codice sorgente su misura degli utenti e consentirgli di gestire al meglio le dinamiche dei propri NFT.

Cos’è uno Smart contract Token

Il token non è altro che un insieme di informazioni digitali presenti in una blockchain che conferisce il diritto a uno specifico oggetto. Tanto importante quanto il termine toker c’è la tokenizzazione, parola che si traduce nella conversione dei diritti di un bene in uno specifico token digitale, registrato però sulla blockchain.

I token assumono il loro vero significato quando associati alle criptovalute. Essendo una criptovaluta una moneta elettronica basata sulla blockchain, si può affermare con sicurezza che qualsiasi criptovaluta (Ethereum, Bitcoin ecc.) presenta un proprio registro delle transazioni. Tale processo induce a una memorizzazione degli scambi e ai conseguenti smart contract.

Da un punto di vista prettamente pratico, i token possono essere considerati delle frazioni di criptovalute emesse, che sebbene non rappresentino l’intera moneta digitale sono scambiati con contratti intelligenti sul registro.

Ogni token ha; quindi, le medesime caratteristiche di una criptomoneta, ma non è considerabile nativo e intero nella blockchain.

Non è difficile dedurre dalla definizione come anche questo elemento digitale, sebbene non rappresenti un bene completo come un NFT o una criptovaluta, necessiti in egual modo di una registrazione sulla blockchain, caratterizzandosi comunque con uno smart contract nel momento del suo trasferimento.

Lo smart contract developer può creare in qualsiasi momento dei token e seguire al meglio il processo di transazione attraverso l’utilizzo degli smart contract.

 

Smart contract esempio

Le definizioni e le caratteristiche di un sistema di smart contract possono non essere sufficienti nella comprensione per chi non è molto vicino a questo settore. Affinché si possano capire le potenzialità e le reali applicazioni di questo sistema e degli sviluppatori è opportuno effettuare un esempio esplicativo.

Mettendoci nella condizione in cui si ha la necessità di acquistare uno smartphone a rate, l’utente di riferimento decide di stipulare uno smart contract con il negoziante.

In questo documento vengono inserite diverse clausole, in cui le due parti determinano le condizioni di pagamento e le modalità di interazione nel tempo.

Una delle clausole mette in mostra che nel momento in cui non vi sia un pagamento della rata concordata, l’utente deve necessariamente smettere di utilizzare lo smartphone acquistato.

Nella condizione in cui l’utente non adempie il suo compito di pagare la rata, allora automaticamente la blockchain esercita la clausola, e attraverso un processo software blocca il dispositivo.

Sebbene l’esempio possa essere applicabile a tanti altri oggetti, in un sistema digitale il funzionamento è molto simile e necessita di smart contract ben definiti per poter ottenere il massimo del risultato.

Sembra evidente come la figura dello smart contract developer possa fare la differenza in questi casi, la gestione oculata delle clausole può fare la differenza nel momento in cui si effettuano delle transazioni, soprattutto di NFT e criptovalute.

Sicuramente un professionista esperto saprà consigliare la soluzione migliore per le proprie esigenze, dando uno sguardo anche alle possibili evoluzioni future.

Cos’è uno Smart contract audit

Benché un sistema basato sugli smart contract sia particolarmente sicuro, anche gli hacker sono in continua evoluzione e riescono a trovare delle strade spesso impensabili per minacciare i dati sulle applicazioni collegate al registro.

Tecnicamente la blockchain è estremamente sicura, ma le applicazioni blockchain non solo altrettanto impenetrabili. Si può incorrere in specifici problematiche di sicurezza.

Per capire cosa sia un contratto intelligente audit è opportuno specificare cosa significhi audit.

Con questo termine si identifica una valuta indipendente volta a ottenere le prove di uno scambio. Risulta essere un vero e proprio revisore che verifica e controlla gli aspetti amministrativi, contabili e normativi.

La crescita esponenziale di attacchi alle applicazioni di blockchain ha dato vita agli smart contract audit, cioè un contratto intelligente in cui vi è un’analisi specifica del codice e una documentazione di accompagnamento per definirne tutti gli aspetti.

Dal test e ricerca ai principali bug, un contratto intelligente audit, sfruttando anche software dedicati, permette di gestire al meglio le clausole del proprio trasferimento di contenuti.

Non è difficile immaginare quanto sia importante in questo caso la figura di uno smart contract developer. Attraverso le competenze di un professionista dei contratti intelligenti è possibile realizzare dei contratti ricchi di documenti utili, su cui è possibile reperire informazioni utili a prova di attacco informatico.

L’implementazione dei sistemi audit negli smart contract è un passo verso il futuro notevole, che sta rassicurando anche gli investitori meno propensi al mondo delle criptovalute.

 

Cos’è uno Smart contract Ethereum

Nelle righe precedenti abbiamo anticipato come gli smart contract avessero un legame estremamente stretto con Ethereum. L’immissione sulla blockchain di questa criptovaluta è stata poi supportata in modo eccellente dal sistema di contratti intelligenti.

Ethereum è un progetto molto grande che permette di utilizzare smart contract P2P tra i diversi nodi, senza necessariamente sfruttare i server centrali. Tale processo è possibile poiché si basa su una macchina virtuale decentralizzata denominata Macchina virtuale Ethereum (EVM).

Sebbene nella prima generazione di blockchain il legame tra smart contract ed Ethereum era inesistente, nella seconda generazione è stato possibile inserire sempre più informazioni all’interno dei contratti intelligenti di questa criptovaluta.

Ethereum e gli smart contract, benché siano presenti nella blockchain, sono completamente staccati dal Bitcoin, sfruttando al meglio i propri applicativi e i sistemi di sicurezza dedicati.

Esistono tantissime applicazioni decentralizzate basate su Ethereum, ma è importante che vi sia uno sviluppatore capace per gestire al meglio i contratti.

Tantissimi utenti sono spinti nell’acquistare o vendere criptovalute senza preoccuparsi di tutto ciò che c’è in mezzo, tale modo di agire può essere deleterio per gli investitori che vogliono ricavare il miglior risultato possibile.

Cos’è uno Smart contract Polygon

Uno dei framework più celebri del mondo è sicuramente Polygon, eccellente per la creazione di reti blockchain interconnesse. Da un punto di vista tecnico Polygon si pone l’obiettivo di risolvere alcuni limiti di Ethereum, come per esempio il basso throughput e la lentezza delle transazioni.

Polygon, per velocizzare le transazioni, è stata progettata per supportare le blockchain interoperabili, eliminando quasi del tutto le problematiche presenti con Ethereum.

Gli smart contract in questo caso vengono ancor di più a essere una componente fondamentale, poiché consentono di ridurre i tempi delle transazioni dei beni digitali, ma allo stesso tempo conservano la loro validità e ricchezza di dati.

Uno smart contract developer in questa condizione deve conoscere benissimo le piattaforme e pianificare un codice estremamente lineare per poter garantire transazioni veloci e dettagliate.

La piattaforma Polygon è sicuramente una soluzione interessante, ma è indispensabile che vi sia una figura professionale capace di gestire al meglio il codice di tale tecnologia.

WordPress è uno dei CMS più popolari a livello globale e non è infatti un caso se più del 40% dei siti internet attualmente presenti sul web ne faccia uso.

Tale popolarità, però, non sempre va di pari passo con la velocità di caricamento dei vari contenuti e ciò in un’epoca come quella odierna caratterizzata da una perenne frenesia, ancora maggiore sul web, può risultare uno svantaggio decisivo, allora come velocizzare il sito wordpress con  plugin per garantire una navigabilità adeguata ed una scansione agevolata ad i motori di ricerca?

Fortunatamente WordPress, forte della sua natura prettamente open source, dispone di un’ampissima varietà di plugin che possono essere utilizzati per incrementarne la velocità e quello che andremo a fare ora è individuare le 5 migliori soluzioni disponibili sul mercato.

Velocizzare WordPress: i plugin da provare assolutamente

Wp Rocket

Wp Rocket non è un semplice plugin, è il plugin per eccellenza!

Si tratta, infatti, del plugin forse più rinomato e utile da utilizzare laddove si voglia velocizzare il proprio sito. Ciò che lo distingue da strumenti analoghi è soprattutto un’interfaccia altamente user friendly in grado di consentirne l’operatività anche all’utente principiante che sta appena muovendo i primi passi in questo settore.

L’usabilità garantita è massima, anche grazie alla totale assenza di tecnicismi che potrebbero spaventare il neofita e all’altrettanto importante assenza di un periodo di formazione iniziale necessario per padroneggiare appieno tutte le funzionalità offerte.

Wp Rocket è estremamente semplice, ma non per questo pecca di qualità, anzi. Accanto all’usabilità, ciò che ha contribuito alla sua affermazione sul mercato è sicuramente la ricchezza delle funzioni di cui dispone.

Tanto per citare alcune delle sue funzionalità più utilizzate: caching delle pagine, ottimizzazione del database, integrazione CDN, precaricamento della cache, integrazione diretta con Cloudflare, integrazione con Google Analytics, lazyload, possibilità di minimizzare HTML, CSS e Javascript, miglioramento dei font Google, prelettura DNS e molto altro ancora.

Definirlo come il plugin perfetto forse sarebbe troppo, ma sicuramente ci andiamo molto vicino. Wp Rocket è a pagamento, tuttavia per quanto offre si può ben dire che siano soldi ben riposti. Bisogna comunque entrare nell’ottica che ottimizzare al meglio il proprio sito significa principalmente effettuare un investimento su sé stessi per raggiungere gli obiettivi che si sono prefissati, qualcosa che certamente vale una piccola spesa.

WP Smush

WP Smush è un plugin molto particolare, perché la sua area di competenza è quella delle foto e in questo campo si può davvero dire che sia una delle realtà migliori disponibili.

È stato stimato come WP Smush sia attualmente installato come plugin su oltre 1 milione di siti WordPress ed è ovvio che un dato simile non possa non essere il risultato di funzionalità con standard di assoluta eccellenza.

WP Smush, infatti, basa il suo funzionamento sul quasi omonimo servizio Yahoo Smush grazie al quale ottimizzare le immagini e bilanciare perfettamente qualità e peso. Quest’ultimo fattore in particolare è uno di quelli che sul web riveste un’importanza vitale.

Generalmente le immagini di dimensioni maggiori hanno una maggiore resa qualitativa, ma proprio in virtù del loro peso risultano caricabili con tempistiche che spesso fanno desistere gli utenti. Al contrario di quello che avviene con le immagini di dimensioni minori, certamente rapide da caricare e visualizzare ma caratterizzate da una resa qualitativa spesso sotto ogni minimo standard grafico.

Come conciliare questi due aspetti all’apparenza inconciliabili? Grazie per l’appunto a WP Smush!

Tra le sue funzionalità principali abbiamo: l’eliminazione dei metadati dal formato JPEG, il pieno supporto ai principali formati di immagine, l’ottimizzazione della compressione del formato JPEG, l’eliminazione delle tonalità di colore non utilizzate attivamente, la perfetta integrazione con l’API di Yahoo Smush, la piena compatibilità con altri plugin di natura analoga o differente e molto alto ancora.

Piccola nota finale, WP Smush è del tutto gratuito.

Perfmatters

Perfmatters è un plugin estremamente peculiare che proprio in virtù di una sua precisa funzionalità risulta essere uno degli alleati più preziosi a disposizione per velocizzare WordPress.

WordPress è strutturato in modo tale da presentare alcune opzioni avanzate in modalità abilitata, tuttavia la maggior parte di queste voci non contribuisce minimamente a migliorare la consultabilità di un sito, anzi il loro unico risultato è quello di appesantire oltremodo WordPress rallentandone le performance.

Perfmatters, come si può facilmente intuire dal nome, va a toccare proprio queste opzioni disabilitandone in maniera tale che il sito risulti decisamente più agile. Oltre a ciò, però, esiste una voce ulteriore responsabile della riduzione di velocità nel caricamento di una pagina, cioè le richieste HTTP. Ma Perfmatters risulta estremamente efficace anche in questo ambito andando a disabilitare il caricamento del codice ogni qual volta sia superfluo.

Ma non è certo tutto, Perfmatters dimostra di essere un plugin decisamente versatile e completo potendo disporre, tra le altre cose, di funzionalità come la prelettura DNS, la disabilitazione dei script superflui, il controllo API REST, la piena compatibilità con altri plugin simili e molto altro ancora.

Perfmatters è un plugin estremamente leggero e capace davvero di migliorare sin da subito la velocità di WordPress. Per completezza d’informazione si informa che si tratta di un plugin a pagamento.

NitroPack

NitroPack non è un semplice plugin, è una vera e proprio suite completa fornita di funzionalità essenziali per ottimizzare la velocità di WordPress.

Il fulcro centrale del funzionamento di NitroPack è l’accelerazione dei siti web, tuttavia il modo in cui la mette in pratica è del tutto singolare. Invece di proporre una selezione di differenti plugin ciascuno adibito a un preciso scopo, NitroPack si presenta in veste di piattaforma comprensiva di tutto l’occorrente per velocizzare WordPress!

Parliamo quindi di uno strumento all in one estremamente ricco di fuzioni e decisamente facile da usare. Per poterlo utilizzare, infatti, basterà associare al proprio sito WordPress e tramite le impostazioni determinare il profilo di ottimizzazione più congeniale alle proprie esigenze.

Dal momento stesso in cui sarà abilitato, NitroPack si occuperà di tutto autonomamente andando a incidere su fattori di rilevanza vitale ai fini della velocità, come le immagini, i DNS, gli script e molto altro ancora.

Tramite il tool nativo di Google, PageSpeed, è stato appurato come l’utilizzo di NitroPack consenta una riduzione dei tempi di caricamento delle pagine di ben 3 secondi in media, un valore apparentemente insignificante, ma in realtà di enorme impatto in termini di indicizzazione e consultabilità minima.

Tra le sue funzionalità principali abbiamo: prelettura DNS, ottimizzazione automatica delle immagini, implementazione perfetta con WordPress e con i CMS più noti, configurazione automatica della CDN, pieno supporto ai formati di immagine più utilizzati, possibilità di minimizzare HTML, CSS, JS, etc.

Si tratta di una suite freemium che quindi offre delle funzionalità di base a livello di test del tutto gratuitamente, ma per sbloccare quelle più avanzate è necessario pagare.

Wp Fastest Cache

Wp Fastest Cache è una tipologia di plugin prettamente incentrato sull’ottimizzazione delle performance mediante memorizzazione nella cache.

Si tratta di un plugin estremamente bilanciato in grado di offrire quella completezza d’uso di soluzioni più professionali con l’intuitività e l’usabilità user friendly di quelle riservate ai neofiti.

Attualmente è presente in più di 1 milione di siti WordPress e gode di ottime recensioni, dettate soprattutto dalla semplicità delle sue dinamiche operative. Dopo averlo installato e implementato con il CMS, basterà recarsi sulle impostazioni, visionare il grado di ottimizzazione disponibile e premere su Salva per abilitarlo, tutto qui, più facile a farsi che a dirsi.

Le sue funzioni maggiormente apprezzate sono: l’integrazione CDN, la possibilità di minimizzare HTML e CSS, la sorprendente intuitività dell’interfaccia, la configurazione 1-click, la disponibilità di inserimento di eccezioni non toccate dal plugin e molto altro ancora.

Si tratta di un plugin disponibile in versione freemium, con funzionalità basiche offerte gratuitamente e funzionalità avanzate sbloccabili dietro pagamento.

Il sito web è uno strumento fondamentale per tutti i professionisti e, nello specifico, per coloro che utilizzano il digitale come biglietto da visita per la loro azienda, che essa sia online oppure fisica. Il corretto funzionamento del sito permette di incrementare il traffico di visitatori e, quindi, è un chiaro attrattore di potenziali clienti. Quando la visualizzazione del sito è lenta, difficoltosa o non ottimizzata su alcuni dispositivi, è difficile che un cliente possa rimanere colpito e interessato a quanto vi è sul sito, anche nel caso i cui i contenuti siano di qualità. La velocità del sito web, infatti, incide profondamente sui SEO e sul posizionamento nei motori di ricerca. Google ha dichiarato che la velocità di caricamento dei siti web è considerato come uno dei fattori principali di ranking: vuol dire che il sito sarà penalizzato nel posizionamento dei risultati di ricerca se esso è lento. Vediamo quali sono i test che si possono fare per verificare la velocità del sito su WordPress.

Testare la velocità per la navigazione

Per verificare la velocità del sito su WordPress sono disponibili diversi strumenti online di semplice utilizzo. I siti web che forniscono questo servizio chiederanno di inserire l’URL del sito da analizzare e restituiranno una pagina di resoconto in cui è indicato il “fully loaded time”, ovvero il tempo di caricamento complessivo del sito web. Solitamente questo tempo è dato in secondi e il range ottimale per considerare un sito come veloce è tra uno e tre secondi. Se il sito supera questa tempistica deve essere ottimizzato, al fine di permettere un più rapido caricamento delle pagine e delle eventuali immagini presenti. Bisogna tener conto che la velocità potrebbe essere differente a seconda del dispositivo che si utilizza, personal computer o cellulare, così come il sistema operativo, che sia android o iOS. Anche l’area geografica può influire sulla velocità di caricamento del sito ed è un parametro che non tutti gli analizzatori considerano, questi test sono spesso utilizzati per capire dove e come velocizzare il sito wordpress che si sta gestendo.

Quali possono essere le cause della lentezza del tuo sito wordpress?

Vi possono essere moltissime cause per le quali il sito web non si carica entro i canonici tre secondi. Una di queste può essere la struttura stessa del sito, soprattutto se esso presenta moltissime immagini in alta definizione. Le immagini, infatti, devono essere ottimizzate per la visualizzazione da browser. Allo stesso modo, i responsabili del rallentamento sono gli script esterni (come gli annunci, ad esempio). È sempre bene adottare un approccio minimale alla realizzazione della homepage, senza troppe immagini o link che, se non sono funzionanti, contribuiscono ad appesantire il caricamento. Essere a conoscenza di queste nozioni di base permetterà un utilizzo maggiormente coscienzioso anche degli strumenti che sono necessari all’analisi della velocità del sito.

Google Pagespeed Insights

Google fornisce la possibilità di usufruire del test di velocità, mediante il tool chiamato Pagespeed Insights. Esso fornisce, oltre la velocità di caricamento, anche altre metriche aggiuntive e sono utile per ottenere i dati statistici di traffico sul sito web, così come i consigli utili per migliorare le prestazioni del sito. Google Pagespeed Insigths, però, restituisce i dati della velocità in relazione alla geolocalizzazione, perdendo così un importante dato per verificare se la velocità del sito sia sempre la stessa a seconda del paese dal quale si sta navigando. Quest’ analisi vale sia per la navigazione con il browser da pc, sia da tablet o cellulare.

Pingdom Tools

Un’alternativa equivalente a Google Pagespeed Insights è Pingdom Tools, con la possibilità aggiuntiva di scegliere il server, posizionato in una qualsiasi parte del mondo, da cui effettuare il test. Pingdom tools restituisce dei dati molto completi e anche i suggerimenti su come procedere all’eventuale ottimizzazione del sito per raggiungere i parametri di velocità ottimali.

 

Webpage Test

Il problema della geolocalizzazione viene superato anche da Webpage Test, in quanto questo strumento permette di verificare la velocità del sito da oltre quaranta paesi differenti. Inoltre, con questo tool si può verificare l’incidenza delle diverse tipologie di connessioni sulla velocità di caricamento: se, ad esempio, ci sono differenze di velocità tra collegamento Wi-Fi, cavo o DLS. Il report finale è caratterizzato dalla presenza di molte metriche utili per l’analisi del sito e comprende anche l’analisi della velocità da computer o da android. I dati forniti sono molti e rivolti a chi lavora con questo tipo di metriche, sebbene esso sia comunque un tool gratuito e molto efficiente, può essere indispensabile per chiunque si voglia approcciare all’ottimizzazione del proprio sito web.

 

GT Metrix

Questo è uno strumento gratuito per alcuni test, mentre altri più approfonditi sono a pagamento. Il test della velocità è sempre gratuito e fornisce il dato riguardante il tempo di caricamento, il peso della pagina, le prestazioni relazionate anche al tipo di connessione e l’influenza della localizzazione geografica. Altre analisi più avanzate, come l’uso di server differenti per testare varie velocità, sono a pagamento. GT Metrix è, tuttavia, uno degli strumenti più completi per eseguire i test di velocità su WordPress.

 

Quando ripetere i test per verificare la velocità del tuo sito wordpress?

Se il test della velocità ha riportato che il sito web è lento, è necessario apportare le adeguate modifiche per ottimizzarlo. In questo caso, il test della velocità andrà ripetuto dopo ogni modifica che si effettua su WordPress, in modo da monitorare che si stia procedendo correttamente verso una efficace velocizzazione del sito. Quando si è soddisfatti del risultato ottenuto, ovvero la velocità di caricamento è inferiore ai tre secondi, è bene ripetere i test periodicamente. Controllare la velocità, oltre che gli altri parametri, almeno una volta a settimana è consigliabile per coloro il cui lavoro dipende da una efficiente funzionalità del sito web. Per chi invece utilizza WordPress per diletto, il controllo della velocità si può effettuare una volta al mese.

La velocità di un sito web è diventata, negli ultimi anni, uno degli elementi tecnici più importanti da ottimizzare, al fine di offrire all’utente un’esperienza semplice e soddisfacente.
Le ricerche degli ultimi mesi hanno dimostrato che un minimo rallentamento incontrato nel caricamento spinge gli utenti ad abbandonare la pagina web e causa danni economici alla piattaforma. L’utente ha bisogno di avere immediatamente a disposizione ciò che cerca, altrimenti sarà invogliato a cambiare pagina e recarsi su quella di un concorrente; soprattutto per chi gestisce un eCommerce è fondamentale tenere conto di questo aspetto al fine di regalare la migliore esperienza all’utente e fare in modo che le ricerche aumentino giorno dopo giorno.

Alcune delle ricerche più recenti hanno affermato che la velocità di un sito web aperto da Google dovrebbe essere di circa 1,65 secondi; i siti web che si aprono e caricano in questo breve tempo sono in genere posizionati ai primi posti della Serp, da qui la necessità di capire come velocizzare il sito internet per renderlo più accessibile per utenti e motori di ricerca.

Il sistema cache

La memoria cache consente di rendere molto più veloce il caricamento dei contenuti presenti all’interno di una pagina web, così da ridurre al minimo il tempo di attesa dei visitatori, regalando loro la miglior esperienza di navigazione.
Ma cosa sono le cache? Si tratta di elementi fisici presenti all’interno del webserver all’interno del quale vengono salvate copie fisiche delle pagine web da presentare ai visitatori. È, nel complesso, un aspetto molto importante da tenere in considerazione perché i siti web tendono, soprattutto negli ultimi anni, a cambiare molto rapidamente la loro interfaccia grafica e i loro contenuti.

Si incappa nel rallentamento qualora, dopo numerosi cambiamenti della pagina web, il browser passi in rassegna le pagine esistenti, controllando se le stesse siano ancora presenti sul web e controllando tutti gli aggiornamenti che si sono susseguiti. In genere si tende ad indicare una data di scadenza per ogni elemento contenuto all’interno della pagina web, così che le cache si rigenerino dopo un certo lasso di tempo.

Per velocizzare il tempo di caricamento sulla pagina web un intervento positivo consiste, innanzitutto, nell’impostare le cache delle risorse statiche, ossia quelle che tendono a cambiare il meno possibile, soprattutto se viste in confronto ai testi. In questo modo si suggerisce al browser che non è necessario controllare ogni volta l’esistenza e l’aggiornamento di questi elementi, velocizzando il tempo di caricamento della pagina.

Hosting o server

Si sente spesso parlare di tempo di risposta del server in relazione al tempo che trascorre dal momento in cui il client richiede l’accesso ad una pagina e quello in cui il server lo concede. Questa tempistica è influenzata da due diversi aspetti, il funzionamento del server stesso e il grado di ottimizzazione del sito web che deve essere caricato. A proposito del server è giusto puntualizzare che non si tratta di qualcosa che possiamo direttamente controllare o gestire, poiché occuparsi di ciò è compito del proprio provider di web hosting.

Ci si può però occupare della scelta di un veloce hosting, prestando attenzione alle performance che promette di offrire sia nei luoghi che sono dotati di data center, sia di quelli che non lo posseggono.
I fornitori di web hosting rappresentano, di fatto, un buon aiuto per velocizzare la crescita del proprio sito web ed è per questo che scegliere quello giusto per le proprie esigenze rappresenta un elemento fondamentale. È importante trovare il giusto equilibrio tra il prezzo che si vuole spendere e le prestazioni che si vogliono ottenere.

 

Ottimizzazione delle immagini

Una buona gestione dell’aspetto visual, ossia delle immagini, permette di ridurre i tempi e i problemi legati alla performance del sito web. Soprattutto nei siti di grandi dimensioni è fondamentale gestire e ottimizzare al meglio questo aspetto, al punto tale che si riuscirà ad avere un risultato migliorato dell’80%.

Ottimizzare le immagini significa, di fatto, fare economia a proposito del loro peso: dunque, il primo consiglio è quello di ridurre al minimo il numero di foto, video, grafici e infografiche, da aggiungere solo nel caso in cui siano veramente necessari.
Nel caso in cui le immagini siano necessari, come nei blog di cucina o di viaggi, è importante impegnarsi affinché la pagina non si appesantisca troppo: è dunque buona norma scegliere il formato che meglio si adatta alle esigenze del sito web, evitando di inserire immagini compresse o di bassa qualità che penalizzerebbero l’esperienza dell’utente. I formati che meglio rappresentano un buon punto di incontro tra economia delle immagini ed esperienza utente sono PNG, JPEG e WebP.

JQuery e Javascript

JQuery è una libreria di Javascript che permette a chi si occupa del design di un sito web di sviluppare la propria pagina web in modo semplice ed intuitivo, ma senza rinunciare ad alcun elemento.
Javascript, invece, è un linguaggio di scripting usato solitamente per inserire elementi interattivi all’interno delle pagine web.

È fondamentale prestare massima attenzione a questi aspetti perché gli elementi inseriti tramite JQuery o Javascript possono rallentare la performance della pagina web, obbligando gli utenti ad attendere per vedere la versione completa ed interattiva del sito.

Parliamo sempre di sviluppo di applicazioni Web che può richiedere molto tempo e risorse. Se anche te in alcuni progetti fai utilizzo di WordPress, ti starai chiedendo se esiste un modo migliore per integrare il tuo processo di sviluppo con il tuo sistema di gestione dei contenuti (CMS). Oppure se come me hai ricevuto richieste da parte di clienti/committenti per far interagire WordPress con un CRM creato appositamente secondo le esigenze di dichiarate in fase di analisi.

in nostro aiuto uno dei framework di programmazione PHP più popolari nel mondo della programmazione web “Laravel”, può essere integrato con WordPress. Questa combinazione può consentirti di gestire lo sviluppo della tua applicazione web attraverso il back-end di WordPress o viceversa, offrendo un flusso di lavoro più snello.

conosciamo Laravel

Laravel è un framework MVC che serve ad uno sviluppatore web a rendere i propri progetti più performanti. Laravel è un framework open source scritto in PHP;

 

  • Model View Controller (MVC).

    Questa è una struttura architettonica che separa i tre componenti dello sviluppo PHP: il modello, la vista e il controller. Ciò significa che uno sviluppatore può isolare ogni parte e apportare modifiche senza influire sugli altri componenti.

  • Programmazione orientata agli oggetti.

    In un approccio di programmazione orientato agli oggetti, come PHP, le strutture sono costruite con dati o “Oggetti”, piuttosto che con funzioni e logica. Possono quindi essere utilizzati in tutto il programma. Ogni oggetto ha proprietà e comportamenti che definiscono il suo stato e cosa può fare.

  • API REST.

    Si tratta di uno stile architettonico utilizzato dalla maggior parte delle applicazioni Web open source per formare uno scambio di informazioni praticabile.

Usiamo Laravel con WordPress

L’integrazione di Laravel con WordPress può essere eseguita in vari modi. adesso noi vedremo l’utilizzo di una Libreria Corcel _

Utilizzando WordPress Corcel

Corcel è un insieme di classi PHP che consentono ai programmatori di recuperare e utilizzare le informazioni direttamente da WordPress. Può funzionare come un ponte tra WordPress e Laravel.

Installando Corcel, sarai in grado di utilizzare WordPress come amministrazione back-end del tuo progetto per l’inserimento di dati, come post o tipi di post personalizzati, direttamente dalla tua applicazione Laravel.

Installiamo Corcel

Per eseguire l’installazione andremo a utilizzare composer, il gestore dei pacchetti & dipendenze per il linguaggio di programmazione PHP, eseguiamo il seguente comando _

composer require jgrossi/corcel

Configuriamo Laravel per Corcel

per le versioni dalla 5.5 e superiori, Corcel si registrerà utilizzando l’Auto Discovery di Laravel.

per le versioni dalla 5.4 o inferiori dobbiamo  includere CorcelServiceProvider in your config/app.php

'providers' => [
    /*
     * Package Service Providers...
     */
    Corcel\Laravel\CorcelServiceProvider::class,
]

Publichiamo il file di configurazione

Ora assicuriamo che il database sia impostato correttamente e consentiamogli di registrare tipi di post personalizzati e codici brevi in un modo molto semplice, dal terminale lanciamo il seguente comando:

php artisan vendor:publish --provider="Corcel\Laravel\CorcelServiceProvider"

Ora verra un file di configurazione in config/corcel.php, dove si potrà impostare la connessione al database con le tabelle di WordPress e molto altro.

Configurazione Database

Supponiamo di avere le seguenti connessioni al database nel tuo file config/database.php

// File: /config/database.php

'connections' => [

    'mysql' => [ // for Laravel database
        'driver'    => 'mysql',
        'host'      => 'localhost',
        'database'  => 'mydatabase',
        'username'  => 'admin'
        'password'  => 'secret',
        'charset'   => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix'    => '',
        'strict'    => false,
        'engine'    => null,
    ],

    'wordpress' => [ // for WordPress database (used by Corcel)
        'driver'    => 'mysql',
        'host'      => 'localhost',
        'database'  => 'mydatabase',
        'username'  => 'admin',
        'password'  => 'secret',
        'charset'   => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix'    => 'wp_',
        'strict'    => false,
        'engine'    => null,
    ],
],

In questo caso usiamo la connessione wordpress per Corcel, quindi impostala nel file di configurazione di Corcel config/corcel.php

'connection' => 'wordpress',

Vediamo come usare Corcel

// All published posts
$posts = Post::published()->get();
$posts = Post::status('publish')->get();

// A specific post
$post = Post::find(31);
echo $post->post_title;

Se andiamo a scrivere e testare il codice soprastante ci accorgiamo come di standard andremo a usare i modelli di Corcel, per andare a lavorare nel DB che precedentemente abbiamo creato e configurato “WordPress” _

Creating your own model classes

Opzionalmente puoi creare il tuo modello di Post (o Pagina, o qualsiasi altra cosa) che estende Corcel/Post. Quindi imposta il nome della connessione (se vuoi sovrascrivere quello predefinito di Corcel) che stai usando, in questo caso foo-bar:

<?php // File: app/Post.php

namespace App;

use Corcel\Model\Post as Corcel;

class Post extends Corcel
{
    protected $connection = 'foo-bar';

    public function customMethod() {
        //
    }
}

Quindi, ora puoi recuperare i dati del database WP usando la tua classe:

$posts = App\Post::all(); // using the 'foo-bar' connection

come vedete per richiamare il nostro modello invece che quello di Corcel useremo la seguente sintassi anteponendo alla chiamata del nostro Modello, la nostra applicazione “APP”;

Meta Data (Custom Fields)

Puoi anche recuperare i metadati dai post.

$post = Post::find(31);
echo $post->meta->link; // OR
echo $post->fields->link;
echo $post->link; // OR

Per creare o aggiornare i metadati da un utente basta usare i metodi saveMeta() o savefield() . I due metodi restituiranno un valore booleano true/false

$post = Post::find(1);
$post->saveMeta('username', 'jgrossi');

Puoi anche salvare molti metadati allo stesso tempo:

$post = Post::find(1);
$post->saveMeta([
    'username' => 'jgrossi',
    'url' => 'http://jgrossi.com',
]);

per altro rimandiamo alla documentazione ufficiale: https://github.com/corcel/corcel

Che cos’è un tema child WordPress e come crearlo

 

un Tema child WordPress, di cosa stiamo parlando ?

ti sei mai trovato nella situazione di aver aggiornato il tema e tutte le tue modifiche sono andate perse ? No ? beh sono contentissimo purtroppo a me tantissimo tempo fa è capitato e ho dovuto rifare tutto da capo o ho preso i file di backup (ora non ricordo come ne sono uscito vincitore)

Creare un tema child, ci permette di modificare e/o aggiungere funzionalità al tuo tema (parent) senza dover sovrascrivere alcun file, andando a salvaguardare i nostri lavori durante la fase di aggiornamento.

Quando dobbiamo creare un tema child WordPress?

beh la risposta è semplice, bisogna sempre creare un tema child WordPress i motivi quali sono :

  • se dobbiamo lavorare sui file del tema.
  • se stiamo dando un progetto a un nostro cliente/committente bisogna attenerci sempre ai standard, sia se in futuro ci riandremo a lavorare sia se lasceremo il progetto a dei nostri collaboratori.
  • se stiamo lavorando in Team, per permettere a tutti noi di evitare errori.

Come si crea un tema child WordPress?

Andiamo nella cartella wp-content/themes, e creiamo una cartella che avrà come nomenclatura il nome del tema (parent) + la string ‘-child’, esempio se dobbiamo creare un tema child per il famoso tema Enfold andremo a generare una cartella “enfold-child”.

successivamente andremo nella cartella appena generata e creeremo un file style.css  che conterrà il seguente codice:

/*
 Theme Name: Enfold Child
 Theme URI: #nogo
 Description: Enfold Child Theme
 Author: Il tuo nome e cognome
 Author URI: https://example.com/
 Template: enfold
 Version: 1.0.0
 Tags: tag che possono essere applicati al tuo tema separati da virgola
 Text Domain: enfold-child
*/

successivamente creeremo un file denominato function.php e al suo interno andremo a scrivere il seguente codice:

<?php
 add_action( ‘wp_enqueue_scripts’, ‘enfold_child’ );
 function enfold_child’ () {
    wp_enqueue_style( ‘enfold-child-style’, get_template_directory_uri() . ‘/style.css’ );

 }
?>

bene ora basterà andare nella sezione aspetto -> tema e attivare il nostro theme child appena creato.

Iniziamo dalla soluzione 😎

function aeroporti_custom_post() {
  // creo e registro il custom post type
  register_post_type( 'aeroporto', /* nome del custom post type */
    // definisco le varie etichette da mostrare nei menù
    array('labels' => 
        array(
          'name' => 'aeroporti', /* nome, al plurale, dell'etichetta del post type. */
          'singular_name' => 'aeroporto', /* nome, al singolare, dell'etichetta del post type. */
          'all_items' => 'Tutti gli aeroporti', /* testo nei menu che indica tutti i contenuti del post type */
          'add_new' => 'Aggiungi nuovo', /*testo del pulsante Aggiungi. */
          'add_new_item' => 'Aggiungi nuovo aeroporto', /* testo per il pulsante Aggiungi nuovo post type */
          'edit_item' => 'Modifica aeroporto', /*  testo modifica */
          'new_item' => 'Nuovo aeroporto', /* testo nuovo oggetto */
          'view_item' => 'Visualizza aeroporto', /* testo per visualizzare */
          'search_items' => 'Cerca aeroporto', /* testo per la ricerca*/
          'not_found' =>  'Nessun aeroporto trovato', /* testo se non trova nulla */
          'not_found_in_trash' => 'Nessun aeroporto trovato nel cestino', /* testo se non trova nulla nel cestino */
          'parent_item_colon' => ''
        ), /* fine dell'array delle etichette del menu */
        'description' => 'Lista aeroporti', /* descrizione del post type */
        'public' => true, /* definisce se il post type sia visibile sia da front-end che da back-end */
        'publicly_queryable' => true, /* definisce se possono essere fatte query da front-end */
        'exclude_from_search' => false, /* esclude (false) il post type dai risultati di ricerca */
        'show_ui' => true, /* definisce se deve essere visualizzata l'interfaccia di default nel pannello di amministrazione */
        'query_var' => true,
        'menu_position' => 8, /* definisce l'ordine in cui comparire nel menù di amministrazione a sinistra */
        'menu_icon' => get_stylesheet_directory_uri() . '/img/mia-icona.png', /* imposta l'icona da usare nel menù per il posty type */
        'rewrite'   => array( 'slug' => 'aeroporti', 'with_front' => false ), /* specificare uno slug per leURL */
        'has_archive' => true, /* definisci se abilitare la generazione di un archivio (tipo archive-aeroporto.php) */
        'capability_type' => 'post', /* definisci se si comporterà come un post o come una pagina */
        'hierarchical' => false, /* definisci se potranno essere definiti elementi padri di altri */

        /* la riga successiva definisce quali elementi verranno visualizzati nella schermata di creazione del post */

        'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'trackbacks', 'custom-fields', 'comments', 'revisions', 'sticky')
    ) /* fine delle opzioni */
  ); /* fine della registrazione */
}

// Inizializzo la funzione
add_action( 'init', 'aeroporti_custom_post');

Cosa sono i Custom Post Type (CPT) ?

i custom post type o meglio definiti CPT sono dei tipi di post, vengono storicizzati nella classica tabella wp_posts; di default WORDPRESS ne ha 2 le pagine e gli articoli, ma grazie alla funzione sopra elencata ne possiamo aggiungere a nostro piacimento a seconda del progetto da realizzare.

Dove va inserito il codice sopra riportato, che serve alla creazione di un Custom Post Type in WordPress ?

Il codice inserito nel file functions.php del nostro template, o io consiglio sempre di creare un plugin per WordPress e includere il nostro script al suo interno per separare la logica dal tema.

Come aggiungere le categorie ad un CPT (Custom Post Type) WordPress

Di default i custom post type non hanno il supporto per la categorizzazione, nel caso in cui volessimo aggiungerlo possiamo farlo in questo modo:

add_action( 'init', 'category_aeroporto' );
function category_aeroporto() {
  register_taxonomy_for_object_type( 'category', 'aeroporto' );
}

e ora per mostrarli ai nostri utenti ?

Bene, abbiamo creato la parte relativa al back end, una volta che abbiamo inserito i nostri aeroporti, possiamo passare al front end in modo da mostrare i post inseriti.

Adesso all’interno del nostro tema creiamo un file che chiamiamo aeroporto.php (il nome del file deve essere quello del custom post type) e ci incolliamo il codice sottostante.

Come mostrare i post di un custom post type di WordPress

<?php
  /*
  Template Name:  aeroporto
  */
?>

<?php get_header(); ?>    

<?php 
  // Loop aeroporti  
  $custom_query_args = array(
    'post_type' => 'aeroporto',
    'posts_per_page' => 1,
    'orderby' => 'menu_order',
    'order' => 'ASC',
  );
  $custom_query = new WP_Query( $custom_query_args );
?>
<?php if ( $custom_query->have_posts() ) : while ( $custom_query->have_posts() ) : $custom_query->the_post(); ?>
  <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>> 
    <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
    <?php the_post_thumbnail(); ?>
    <?php the_excerpt();?>
  </article>
<?php endwhile; endif; wp_reset_postdata(); ?>

<?php get_sidebar(); ?>               

<?php get_footer(); ?>

 

Se pensate di non riuscire a realizzare queste modifiche o avete bisogno di fare altre personalizzazioni potete contattarmi per una consulenza, se la mole di lavoro è tanta possiamo concordare insieme una formula per un Contratto di assistenza e manutenzione sito web, per il periodo necessario a soddisfare tutte le vostre richieste.