Blog : Wordpress

Woocommerce e fatturazione elettronica

Woocommerce e fatturazione elettronica

Dal 01 Gennaio 2019, la fatturazione elettronica diventa obbligatoria per quasi tutte le aziende. Rispetto alla classica fattura in cartaceo, questa differisce la sua generazione e per le modalità di invio al Cliente.

La generazione consiste nel realizzare la fattura in formato XML che può essere interpretato dagli elaboratori estraendone i dati in essa contenuti.

Anche la modalità di invio cambia in quanto il file generato dovrà essere inviato telematicamente utilizzando l’indirizzo PEC del Cliente o il codice univoco SDI quale codice di riferimento.

La fattura, prima di raggiungere il destinatario, passerà attraverso il sistema di interscambio fornito dall’agenzia delle entrate che estrarrà i dati contenuti memorizzandoli ai fini fiscali.

Woocommerce e dati di fatturazione

Per i possessori di siti e-commerce basati su piattaforma woocommerce è quindi indispensabile l’adeguamento della piattaforma per ottemperare alle nuove disposizioni in merito a fatturazione elettronica.

Come primo passo è indispensabile reperire i dati di fatturazione del cliente inserendo i campi di “Indirizzo PEC” e “Codice Univoco SDI” all’interno della procedura di acquisto da parte del cliente.

Per risolvere rapidamente questo aspetto, consiglio l’installazione del Plugin “Checkout Field Editor (Checkout Manager) for WooCommerce”.

Una volta installato, possiamo recarci nel menù del nostro sito alla voce WooCommerce -> Checkout Form

Qui sarà possibile aggiungere campi al checkout di woocommerce richiesti. Per maggiore professionalità ed esperienza di utilizzo da parte degli utenti, consiglio l’acquisto della versione premium che consente l’inserimento di campi condizionali che ci consentiranno di far apparire i campi “Pec” e “Codice SDI” solo se il cliente spunta il radio button “Azienda” mentre nel caso di “Utente Privato” possiamo far comparire il campo relativo al “Codice Fiscale”

Plugin WooCommerce Fatture in Cloud

Un’altra utile operazione che può intraprendere il possessore di un e-commerce basato su WooCommerce nonchè di gestionale Fatture in Cloud di TeamSystem S.p.A  è quello di collegare le due piattaforme lavorando assieme.

Sarà quindi possibile inviare le fatture elettroniche al cliente direttamente da WooCommerce ritrovandone uno storico sul gestionale di Fatture in Cloud.

A tal fine è necessario installare il plugin WooCommerce FattureInCloud .

Di seguito un video esplicativo sul suo funzionamento:

Site Kit Google: il plugin WordPress Definitivo

Site Kit Google: il plugin WordPress Definitivo

Ormai il 30% dei siti web (nel 2018) utilizza WordPress come CMS. Su questo sono svariati i plugin che si interfacciano agli strumenti google. Big G si è forse accorto del grande mercato che si cela dietro WordPress ed ha annunciato il rilascio di un plugin Ufficiale chiamato Site Kit Google

Il plugin WordPress consente agli utenti del CMS di accedere alle informazioni rilasciate dagli strumenti di Search Console, Adsense, PageSpeed Insight e Analytics tutte in un unico pannello di amministrazione posizionato nella bacheca di WordPress. 

Site Kit Google Download

Il Download id Google Site Kit sarà disponibile a inizio 2019 solo per chi vorrà testare il prodotto nella sua release beta. A tal fine è sufficiente  registrarsi qui per effettuare il download della versione pre-definitiva o rimanere aggiornati per il suo lancio 

Backend WordPress Lento: il problema di PHP

Backend WordPress Lento: il problema di PHP

Spesso mi sono trovato a dover trattare siti web in WordPress cui pannello di amministrazione backend (e talvolta anche il frontend) risultava estremamente lento.

Le ripercussioni di questa lentezza sono molte. Anzitutto si ha una notevole difficoltà nel gestire la piattaforma che può far spazientire e talvolta impedire l’operato saturando le risorse (soprattutto la CPU del server) facendoci uscire un bel errore 500 di Apache sul nostro Browser.

Altra grave ripercussione è che quando la lentezza riguarda anche il front end i motori di ricerca avranno un giudizio negativo sul nostro sito abbassando il posizionamento nei risultati di ricerca.

Sul web ci sono moltissime soluzioni o guide per velocizzare wordpress ma oggi voglio trattare una problematica meno trattata ma che spesso si rivela essere la principale: la versione di PHP su cui il nostro WordPress gira.

Il problema della Versione PHP per WordPress.

Molto spesso quando si ha un hosting condiviso la versione del linguaggio PHP installata sul server può risultare vecchia o addirittura obsoleta. Questo succede perchè i provider di servizi tendono ad utilizzare le versioni di PHP che sono “stabili” finchè qualcuno non si lamenta. Mi capita molte volte infatti, di vedere hosting o server dedicati che utilizzano la versione 5.2 di PHP. Vedendo però la documentazione di WordPress sul loro sito ufficiale ci si rende conto che tra i prerequisiti richiesti vengono menzionate versioni di PHP decisamente superiori. Nel momento in cui scrivo, la release di PHP suggerita è infatti la 7.2. Sempre nella stessa documentazione, viene sconsigliato l’utilizzo di versioni precedenti in quanto, ovviamente, espongono il sito web a falle di sicurezza anche se non menziona le ripercussioni in termini di velocità. Questo perchè il parametro non riguarda direttamente i core di WordPress ma i plugin o i temi che andremo ad installare e che sono scritto utilizzando nuove sintassi o strumenti forniti dalle più recenti versioni di PHP.

 

Verificare versione PHP WordPress

Per scongiurare questo problema, la prima cosa da fare è vedere la versione di PHP su cui il nostro wordpress sta girando. Per verificare la versione di PHP installata, si può procedere in 3 modi:

Metodo Facile: su wordpress è possibile installare il plugin “Display PHP Version” il quale andrà semplicemente ad aggiungere una stringa sul footer del nostro backend WordPress informandoci della versione attualmente utilizzata dal nostro Server.

Metodo Medio: E’ possibile accedere al pannello di amministrazione del nostro provider visualizzando la versione PHP installata. Nelle due immagini sottostanti sono visualizzate queste informazioni su un cPanel e su un pannello di amministrazione di Aruba.

Metodo Difficile (si fa per scherzare 😉 : è possibile creare un file denominato versionePHP.php, scriverci dentro la seguente porzione di codice:

<?php phpinfo() ;

e caricarla nella cartella FTP principale del sito eseguendo poi lo script andando sull’indirizzo www.tuosito.xyz/versionePHP.php

 

Scelta della Versione PHP per WordPress

Per scegliere la versione PHP più idonea del nostro WordPress dobbiamo accedere al backend di amministrazione e nella bacheca principale, a fondo pagina, troviamo la versione di WordPress utilizzata con una stringa tipo:

Versione 4.9.8

Ovviamente il sconsiglio spassionato è quello di mantenere wordpress e i plugin installati alla versione più recente in modo da ridurre le criticità di sicurezza. Nel caso in cui quindi stiamo utilizzando una versione vecchia di wordpress, procediamo al suo aggiornamento (dopo aver fatto un bel backup di file e database).

Ci rechiamo quindi nella documentazione ufficiale di WordPress estrapolando la versione di PHP consigliata relativa alla nostra versione del CMS:

Cambiare o Aggiornare versione PHP WordPress.

Il prossimo step è quindi quello di aggiornare la versione PHP di WordPress. Le immagini successive mostrano come  questa operazione può essere effettuata su cPanel o su pannello di Amministrazione Aruba:

Versione cPanel

 

Versione Aruba

 

 

Miglior Plugin Per Velocizzare WordPress

potresti anche essere interessato a velocizzare il tuo Worpdress basandoti su altri accorgimenti indipendenti dalla versione PHP. In tal caso di consiglio la lettura di questo articolo

Inserire Shortcode in PHP – Funzione WordPress

Inserire Shortcode in PHP – Funzione WordPress

Agli amanti di WordPress sarà capitato di aver necessità di inserire shortcode in php per personalizzare un tema o creare una nuova funzionalità. Il framework di WordPress mette a disposizione anche questa funzione molto semplice da utilizzare:

<?php echo do_shortcode("[ShortcodeQui]"); ?>

Questa funzione avrà come risultato di stampare a video il risultato dello shortcode utilizzato.

 

La funzione è pubblicata sulla documentazione ufficiale QUI

Miglior plugin per velocizzare wordpress

Miglior plugin per velocizzare wordpress

I tempi di caricamento di un sito possono incidere notevolmente su diversi fattori. Anzitutto un sito lento ha delle notevoli ripercussioni in termini di posizionamento. Google anno dopo anno sta dando notevole importanza alla velocità di un sito web soprattutto considerando l’aumento di ricerche effettuate da dispositivi mobili. Esistono online dei tool che ci consentono di capire la velocità di un sito e ci sottopongono dei suggerimenti per migliorare le prestazioni. I tool da me utilizzati ed usati anche in questo articolo sono:

Quando però abbiamo a che fare con un CMS come WordPress, applicare i suggerimenti dettati da questi tool non è cosa facile in quanto dovremmo andare a spulciare all’interno del codice di ogni plugin per non dire all’interno del core del CMS. Andremo quindi sicuramente alla ricerca del miglior plugin per velocizzare wordpress affinché le operazioni di ottimizzazione vengano automatizzate quanto più possibile.

Di seguito vediamo 5 plugin di WordPress a confronto considerando che quasi tutti nascono quali plugin di caching ma via via hanno introdotto al loro interno ulteriori funzionalità che ci consentono di ottimizzare quindi velocizzare  il  sito in wordpress. I plugin esaminati sono: WP Rocket, W3 Total Cache, WP Fastest Cache, WP Super Cache e Comet Cache.

Per scoprire il miglior plugin per ottimizzare wordpress ho creato 5 identici siti identici di test poggiati sullo stesso server. I dati sono stati verificati utilizzando i valori forniti da Pingdom e GTmetrix e stilata quindi una classifica che tiene conto di:

  • Tempo totale di caricamento
  • Dimensione della pagina
  • Richieste
  • Facilità di utilizzo e tecniche implementate

Lettura di base

Anzitutto sono stati analizzati i parametri senza apportare alcun miglioramento ai siti ricavando i seguenti risultati:

  • Gtmetrix:
    • Tempo totale di caricamento: 1,9 secondi
    • Dimensione della pagina: 568 Kb
    • Richieste: 39
  • Pingdom:
    • Tempo totale di caricamento: 1,79 secondi
    • Dimensione della pagina: 594 Kb
    • Richieste: 38

 

Classifica Miglior Plugin per velocizzare WordPress

1 : WP Rocket

Wp Rocket è una delle migliori soluzioni per rendere più veloce un sito WordPress. Dispone di un’interfaccia utente estremamente intuitiva adatta a qualsiasi utente. La sua configurazione è estremamente semplice e consente di approfondire tutte le singole impostazioni con una documentazione molto ampia e ben fatta.

Wp Rocket contente di utilizzare il caching con precaricamento della cache, utilizza il caching del browser, la compressione GZIP e altre funzioni di minimizzazione e concatenazione di codice HTML, JavaScript e CSS. Ha un’ottima funzione di ottimizzazione delle immagini che consente il loro caricamento solo dopo che l’intera pagina sia stata caricata sul browser dell’utente.

Ho molto apprezzato:

  • Il pannello di configurazione estremamente semplice ed intuitivo.
  • Il caching viene attivato immediatamente.
  • Ottima ottimizzazione dei Google Fonts con riduzione delle chiamate HTTP
  • I file JavaScript vengono demandati dopo il caricamento della pagina.

I valori rilevati sono:

  • Gtmetrix:
    • Tempo totale di caricamento: 1,1 secondi
    • Dimensione della pagina: 492 Kb
    • Richieste: 37
  • Pingdom:
    • Tempo totale di caricamento: 1,38 secondi
    • Dimensione della pagina: 515 Kb
    • Richieste: 36

2 : W3 Total Cache

Questo è lo storico plugin WordPress per velocizzare il caricamento del sito. E’ un plugin altamente raccomandato dai migliori provider di settore come SiteGround ecc. Il pannello di configurazione è costituito da ben 16 pagine  ma la cosa positiva è che non bisogna configurare manualmente le impostazioni in quanto quelle presentate di default vanno più che bene. Consente la memorizzazione della cache della pagina, la memorizzazione nella cache degli oggetti, la memorizzazione in cache del database ecc. Il livello di personalizzazione delle funzioni credo sia imparagonabile.

Ho molto apprezzato:

  • Compressione GZIP per ottimizzare il rendering del browser web.
  • Minificazione e concatenazione di file HTML, CSS e JavaScript.
  • Supporto per Content Delivery Networks (CDN).
  • Compatibile con CloudFlare.

I valori rilevati sono:

  • Gtmetrix:
    • Tempo totale di caricamento: 1,5 secondi
    • Dimensione della pagina: 481 Kb
    • Richieste: 22
  • Pingdom:
    • Tempo totale di caricamento: 1,43 secondi
    • Dimensione della pagina: 498 Kb
    • Richieste: 22

 

3 : WP Super Cache

WP Super Cache è una soluzione gratuita con un meccanismo di caching molto semplice da capire. Il plugin genera sostanzialmente dei file HTML statici di ogni pagina e le memorizza nella cache.

Ho molto apprezzato:

  • Usa mod_rewrite per fornire pagine statiche
  • Crea pagine statiche usando PHP
  • Compressione della pagina e memorizzazione nella cache dinamica.
  • Supporto per Content Delivery Networks (CDN).
  • Memorizzazione nella cache per i visitatori mobile.

I valori rilevati sono:

  • Gtmetrix:
    • Tempo totale di caricamento: 1,0 secondi
    • Dimensione della pagina: 569 Kb
    • Richieste: 39
  • Pingdom:
    • Tempo totale di caricamento: 0,98 secondi
    • Dimensione della pagina: 594 Kb
    • Richieste: 39

 

4 : WP Fastest Cache

A detta degli sviluppatori, WP fastes Cache è descritto come il “sistema di Cache WordPress più semplice e veloce”. Molto simile a Wp Super Cache, anche questo plugin genera file HTML statici della pagine di WP salvandole in cache. Il plugin è di facile installazione ed utilizza una compressione GZIP  e un’opzione per combinare assieme i file JavaScript e CSS riducendo quindi le richieste server.

Ho molto apprezzato:

  • Utilizzo di Mod_Rewrite
  • Tutti i file cache vengono cancellati quando viene pubblicato un post o una pagina
  • Supporta CDN e SSL
  • Abilita / Disabilita l’opzione cache per i dispositivi mobili e per gli utenti loggati
  • Blocca la cache per pagine o post specifici con Short Code

I valori rilevati sono:

  • Gtmetrix:
    • Tempo totale di caricamento: 1,3 secondi
    • Dimensione della pagina: 564 Kb
    • Richieste: 39
  • Pingdom:
    • Tempo totale di caricamento: 0,90 secondi
    • Dimensione della pagina: 594 Kb
    • Richieste: 39

 

05 : Comet Cache

Questo plugin sta rapidamente guadagnando popolarità. Effettua un’istantanea in tempo reale di ogni contenuto di WordPress e li memorizza in modo molto semplice. Molto interessante la tecnica utilizzata per determinare quando deve inviare una versione memorizzata in cache e quando invece non deve utilizzare la cache.

Ho molto apprezzato:

  • Opzioni per controllare il comportamento di cancellazione automatica della cache.
  • La possibilità di memorizzare nella cache o ignorare URL contenenti stringhe di query (richieste GET).
  • Modelli di esclusione di agente utente e referrer HTTP.
  • Imposta i tempi di scadenza automatici per i file della cache.

I valori rilevati sono:

  • Gtmetrix:
    • Tempo totale di caricamento: 1,4 secondi
    • Dimensione della pagina: 569 Kb
    • Richieste: 39
  • Pingdom:
    • Tempo totale di caricamento: 1,55 secondi
    • Dimensione della pagina: 594 Kb
    • Richieste: 39
Penetration Testing Scann WordPress vulnerability

Penetration Testing Scann WordPress vulnerability

WordPress è una piattaforma gratuita per realizzare siti web basato su linguaggio PHP e database MySql. Essendo un software abbastanza complesso ed avendo la possibilità di aggiungere plugin esterni, spesso presenta alcune vulnerabilità per attacchi di hacking di vario genere.

E’ possibile eseguire uno scann delle vulnerabilità effettuando un penetration testing utilizzando l’applicativo WPScan.

WordPress Penetration testing con WPScan

WpScan è uno scanner di vulnerabilità per WordPress creato da Ryan Dewhurst e sponsorizzato da Sucuri. L’applicativo è disponibile di default delle distribuzioni   BackBox Linux, Kali Linux, Pentoo, SamuraiWTF, BlackArch e non è supportato da Windows. Con WpScan è possibile enumerare i temi grafici, i plugin, gli utenti e le connessioni in Http proxy.

 

Enumerare la versione di WordPress, il tema ed i plugin installati. 

Il comando per enumerare versione, tema e plugin è il seguente:

wpscan –url http://sitodatestare.com/ –enumerate p wpscan –url http://sitodatestare.com/ –enumerate t

 

Enumerare gli utenti di WordPress

Per enumerare gli utenti di WordPress è sufficiente lanciare il comando:

wpscan –url http://sitodatestare.com/ –enumerate u

 

 

Avvio di un attacco Brute-Force 

WpScan mette a disposizione inoltre uno strumento per effettuare un attacco di tipo brute-force fornendo un dizionario di password e una username (generalmente “admin”). Per lanciare l’attacco è possibile utilizzare il comando:

wpscan –url http://sitodatestare.com –wordlist /root/Desktop/password.txt –username admin

 

Disclaimer

Questo articolo è una guida per chi vuole effettuare tipi di attacco a scopo didattico o chi vuole testare il proprio sito web. La responsabilità di un utilizzo illecito non è da imputare allo scrivente.
Contact Form 7 ed i Tag Speciali

Contact Form 7 ed i Tag Speciali

Contact Form 7 è uno tra i più usati plugin per generare contact form utilizzando il CMS WordPress. Nelle impostazioni di un singolo form, è possibile utilizzare dei tag per esprimere con una variabile il nome del mittente, un messaggio ecc. Esistono anche dei Tag speciali che ci aiutano ad utilizzare numerose funzioni aggiuntive esprimibili. Ad esempio è possibile inviare il modulo contatti all’indirizzo email dell’autore che ha scritto un articolo. I tag disponibili sono:

TAGDESCRIZIONE
[_remote_ip]Questo Tag viene sostituito dall’indirizzo IP dello scrivente.
[_user_agent]Questo Tag viene sostituito con l’User Agent dello scrivente.
[_url]Questo Tag viene sostituito con l’indirizzo nel quale il form è stato inviato.
[_date]Questo Tag viene sostituito con la data di invio del modulo
[_time]Questo Tag viene sostituito con l’orario di invio del modulo
[_post_id]Questo Tag viene sostituito da codice ID del post dove il modulo è contenuto.
[_post_name]Questo Tag viene sostituito con il nome (slug) dell’articolo in cui il contact form è inserito.
[_post_title]Questo Tag viene sostituito con il titolo del post in cui il contact form è inserito.
[_post_url]Questo tag viene sostituito con il permalink del post in cui è inserito.
[_post_author]Questo Tag viene sostituito con il nome dell’autore del post in cui il modulo è inserito.
[_post_author_email]Questo tag viene sostituito con l’indirizzo email dell’autore del post in cui il modulo è inserito.
.

 

Attenzione: Tutti i Tag [_post_*] possono essere utilizzati solo in un contact form inserito nel content di un articolo. Non funzionano ad esempio per moduli innestati in una sidebar.

Aggiornamento database richiesto di WordPress in loop

Aggiornamento database richiesto di WordPress in loop

Può capitare che a seguito di un aggiornamento del Core di Worpress, compaia una schermata di Aggiornamento Database Richiesto dove è necessario dare la propria approvazione per continuare ad effettuare l’upgrade del database.

Alcune volte, a seguito di un ripristino da backup o in altre circostanze, questa pagina non va a buon fine andando in loop.

Le cause possono essere fondamentalmente due:

Rinnovo Database

Se il database su cui poggia il sito non è stato rinnovato dal proprio hosting, si avranno solitamente i soli permessi di lettura abilitati e non quelli di scrittura; quest’ultimi utili per consentire a wordpress di effettuare l’upgrade. E’ necessario quindi controllare il rinnovo del proprio database per risolvere il problema.

 

Discrepanza tra le versioni di WordPress

Un’altra causa, risiede nella discrepanza che wordpress rileva tra le versioni del Core e quella del Database. Per effettuare questo controllo, sarà necessario verificare anzitutto la versione di WordPress accedendo via FTP (o da shell) al file version.php situato nella cartella wp-include.

Successivamente occorrerà accedere al proprio database lanciando la seguente query:

SELECT * FROM wp-options WHERE option_name = "db_version"

A seguito di questa verrà mostrata la tupla che informa sull’attuale versione del database di WordPress in uso.

A questo punto, sarà necessario effettuare un controllo di relazioni tra le versioni del core di WordPress e quella del database consultando la seguente tabella dei rilasci di WordPress.

Qualora si rilevasse la discrepanza, si potraà porre rimedio editando la tupla in questione e fornendo la corretta versione del database in uso mostrata in tabella.

Visual Composer 1/5 o Quinta Colonna

Visual Composer 1/5 o Quinta Colonna

Visual Composer è un noto plugin di editing grafico di contenuti di Worpress. Tra le sue funzioni c’è la creazione di colonne di contenuti all’interno di una riga.

Gira che ti rigira, il committente o il karma ti si ritorce sempre contro costringendoti a dotarti di 5 colonne su una riga. Sarabbe bello quindi poter dare un bel 1/5 +1/5 +1/5 +1/5+1/5 ma questa personalizzazione non prevista dal plugin per motivazioni legati alla proporzionalità.

 

 

Esiste però un metodo estremamente semplice per avere 5 colonne su una riga

E’ sufficiente personalizzare  il numero di colonne per riga, inserendo il valore:  1/12 + 2/12 + 2/12 + 2/12 + 2/12 + 2/12 + 1/12

Basterà quindi lasciare vuote la prima e l’ultima colonna ed il gioco è fatto 🙂

 

visulacomposer-1-5

Mapping WordPress e problemi Nameserver Aruba

Mapping WordPress e problemi Nameserver Aruba

Sono molte le persone che per una mission o per divertimento hanno creato un Blog o Sito Web su WordPress. Alcuni di questi hanno sicuramente apprezzato dei risultati tangibili dalla visibilità online e hanno cercato di fare un passo avanti ovvero, possedere un dominio professionale tipo www.miosito.it al posto di miosito.wordpress.com

Questa implementazione è resa possibile utilizzando il Mapping di WordPress ovvero, specificando un sito che il portale dovrà gestire. La procedura è molto semplice e consiste nell’acquistare un mapping da WordPress e successivamente redirigere i nameserver dal provider del dominio verso:

ns1.wordpress.com – ns2.wordpress.com – ns3.wordpress.com

Può capitare però che l’operazione non vada a buon fine soprattutto se stiamo trattando domini con estensione .it . L’operazione viene infatti gestita dal NIC (Network Information Center per l’Italia) che pone dei controlli molto rigidi su questo cambio e basta molto poco per non ricevere l’autorizzazione al cambio. In una mia esperienza con il provider Aruba, il NIC ha risposto così:

<test name="CNAMEHostTest" status="FAILED">
 <detail name="ns1.wordpress.com." status="SUCCEEDED"/>
 <detail name="ns3.wordpress.com." status="SUCCEEDED"/>
 <detail name="mx.miodominio.it." status="FAILED" queryId="7">mx.miodominio.it. is a CNAME</detail>
 <detail name="ns2.wordpress.com." status="SUCCEEDED"/>
 </test>

Come si evince dal report, l’istruzione che fallisce e legata al record MX. Basta quindi risolvere questo problema per ricevere l’autorizzazione al cambio nameserver per gestire il mapping wordpress.