I 10 errori più comuni dei plugin di WordPress

Pubblicato: 2019-08-27

Una delle funzionalità di maggior successo di WordPress è che è stato in grado di incoraggiare una comunità di sviluppatori che estende le funzionalità di base di questo sistema di gestione dei contenuti attraverso la creazione di plugin. Questo e il fatto che la quota di mercato di WordPress non abbia smesso di crescere negli ultimi anni è la chiave per attrarre talenti.

I plugin di WordPress sono i migliori. Sapere che se hai bisogno di personalizzare il tuo sito web puoi farlo semplicemente cercando un plugin che faccia ciò di cui hai bisogno ti dà tranquillità. E riduce anche molto i costi.

Non dover (nella maggior parte dei casi) sviluppare soluzioni personalizzate è un sollievo. Democratizza l'accesso a siti Web complessi per una frazione del prezzo che sarebbero costati alcuni anni fa.

Uomo triste che si guarda i piedi mentre piove
Ho visto cose a cui non crederesti. Rileva i plug-in di masterizzazione oltre l'editor. Ho visto bug brillare nel buio vicino al database di WordPress. Tutti quei momenti andranno persi... nel tempo... come lacrime nella pioggia. È ora di scriverli.

Ma non tutto è un letto di rose. Quando selezioniamo un plugin per WordPress dobbiamo stare molto attenti. La popolarità di WordPress attrae talenti. Ma attira anche sviluppatori meno esperti che a volte creano plugin che non hanno i livelli di qualità desiderati. Rilevarli non è facile come contare il numero di valutazioni positive che hanno o su quanti siti sono installati. È molto più complesso.

Qualcosa che abbiamo sofferto in Nelio da quando abbiamo iniziato ad analizzare le installazioni di WordPress dei nostri clienti è la quantità di spazzatura che possiamo trovare lì installata. Abbiamo visto cose a cui non crederesti...

Ecco perché oggi ti spiego alcuni dei problemi più comuni e curiosi che abbiamo riscontrato in questi anni con i plugin di WordPress.

Elenco dei problemi dei plugin di WordPress

Qui ti lascio con l'elenco dei problemi che puoi trovare con i plugin di WordPress. Sono problemi generici e non daremo nomi specifici di plugin che ne soffrono, ma esistono e devi stare attento a evitarli.

Crea tabelle aggiuntive nel database

Il database di WordPress è una zona di guerra. Molti plugin lo estendono per aggiungere le proprie tabelle. Questo non deve essere sbagliato, ma la maggior parte delle volte non è necessario.

Database WordPress
Tabelle principali del database di WordPress.

Il database di WordPress è abbastanza generico da non dover aggiungere nuove tabelle da utilizzare per il tuo plugin. Allora perché uno sviluppatore vede la necessità di aggiungere più tabelle a WordPress? La risposta è abbastanza semplice: comodità e ignoranza.

Molte volte è più facile per qualcuno con poca esperienza in WordPress inserire tabelle aggiuntive ed eseguire query direttamente in SQL per leggere e modificare i dati. Questo, oltre ad essere un buco di sicurezza se non fatto bene, eviti di usare meta tabelle.

Se vuoi estendere le informazioni sull'utente, hai la tabella wp_usermeta . Lo stesso vale per i contenuti ( wp_postmeta ), i commenti ( wp_commentmeta ) o anche i termini della tassonomia (etichette e categorie, con la tabella wp_termmeta ).

WordPress fornisce metodi per leggere e modificare queste meta-informazioni in modo standard e sicuro. A meno che tu non abbia una giustificazione delle prestazioni, caro sviluppatore di WordPress, non utilizzare tabelle aggiuntive nei tuoi plugin.

Carica script e stili non validi

La maggior parte dei plugin di WordPress prima o poi dovrà caricare i propri file JavaScript e CSS, a volte nel pannello di amministrazione di WordPress e talvolta nella parte anteriore del Web. E la cosa triste è che questo è qualcosa che spesso viene fatto male.

Spiderman che trasporta un uomo dalla sicurezza a un incendio (cioè sbagliando)
Il caricamento di stili CSS e file JavaScript in WordPress è qualcosa che, sfortunatamente, pochi sviluppatori fanno bene.

Per aggiungere uno stile CSS o un file JavaScript in WordPress devi accodarlo nella coda standard di WordPress. Per fare ciò, prima registrarlo con le funzioni wp_register_style e wp_register_script , quindi accodarlo rispettivamente con wp_enqueue_style e wp_enqueue_script .

Nota che queste funzioni ti consentono di definire le dipendenze che hanno i tuoi stili e script, quindi WordPress gestisce correttamente le dipendenze e accoda solo ciò di cui hai bisogno.

Qualcos'altro è sbagliato. E qui anche la documentazione degli sviluppatori è da biasimare. Guarda gli esempi che arrivano wp_head nel codice di WordPress. Gli sviluppatori prenderanno questo come riferimento, e poi cosa succede è che rompono le cose?.

Non pensare nemmeno di usare wp_dequeue_script o wp_dequeue_style per rimuovere dalla coda script o stili da WordPress. Molte volte abbiamo visto come i plugin rimuovano dalla coda la versione di jQuery fornita con WordPress per aggiungerne una propria (che di solito è obsoleta) e da lì tutto smette di funzionare...

Se rilevi un plug-in che non carica correttamente script e stili seguendo le linee guida di WordPress, questo è un motivo sufficiente per disabilitarlo dall'installazione in questo momento.

Non pulire il database quando si disattiva il plug-in

Questo è un altro aspetto classico dei plugin di WordPress e forse il più comune che troverai. Per funzionare, i plugin di WordPress dovranno aggiungere record nel tuo database. Il problema qui è che quando si disattiva il plug-in, è normale che quei record rimangano per sempre nelle tabelle del database.

I plugin di WordPress di solito non cancellano i dati che creano nel tuo database quando li disattivi. E no, non c'è nessun camion della spazzatura che passa di tanto in tanto e porta con sé questi dati inutili.

Un plugin di WordPress dovrebbe rimuovere le tabelle aggiuntive che ha creato e i dati che ha aggiunto nelle tabelle standard quando l'utente lo disattiva. Ma succede molto raramente. Ti incoraggio ad andare al tuo database e tenerlo d'occhio. Sicuramente lì troverai spazzatura inutile.

Screenshot della finestra di dialogo di disattivazione di Nelio Content
Quando disattivi i nostri plugin vedrai una finestra di dialogo come questa, in cui puoi disattivarla temporaneamente o eliminare tutto.

Se lo sviluppatore è attento, disattivando il plug-in nel tuo WordPress ti verrà chiesto se desideri disattivarlo temporaneamente o permanentemente. Quest'ultima opzione cancellerà tutti i dati che ha aggiunto durante il suo funzionamento, eliminando così la spazzatura per lasciare tutto pulito.

Non fornire indicazioni per l'utente

Quando installi un plugin per WordPress e lo attivi, di solito ti aspetti che sulla dashboard di WordPress appaia un nuovo menu in cui puoi trovare le funzioni del plugin. Ma non è sempre così.

Il tizio sembra sorpreso
Se dopo aver installato e attivato un plugin di WordPress ti senti così, lo sviluppatore ha fatto qualcosa di sbagliato.

Ci sono momenti in cui il nuovo plugin aggiunge un menu all'interno di un menu esistente, di solito il menu Strumenti o il menu Impostazioni. Quindi l'utente dovrà indagare per vedere dove si trova il menu che include il nuovo plugin appena installato e attivato.

Di solito è buona norma descrivere nel file README.txt del plug-in cosa accadrà una volta attivato il plug-in nel proprio WordPress. In questo modo riduci l'ansia dell'utente e rendi la vita un po' più facile. Altrimenti, se l'utente non trova dove sono le funzioni che il plugin aggiunge, finirà per disattivarlo e come sviluppatore questa è l'ultima cosa che vuoi che accada.

Potresti pensare che questo sia qualcosa che succede solo ai neofiti. Ma non è così. Recentemente ho installato un certo plugin per fare determinate cose (vi ricordo che stavo per evitare di fare nomi?), e mi sono ritrovato in questa stessa situazione. Non sono riuscito a trovare dove fossero le impostazioni del plug-in. E se capita a me, che dovrebbe lavorare con WordPress da molto tempo, questa stessa situazione è terribile per qualcuno con meno esperienza.

Modifica dell'interfaccia utente di WordPress

WordPress è facile da usare, o almeno così si dice. E una parte importante di questo è grazie all'interfaccia utente che WordPress include per impostazione predefinita. Questa interfaccia è semplice in una nuova installazione di WordPress, ma diventa più complicata quando aggiungiamo sempre più plugin.

Inoltre, un problema comune con i plugin di WordPress è che a volte utilizzano un'interfaccia utente completamente diversa da quella che gli utenti si aspettano di trovare sulla dashboard di WordPress.

Homer Simpson cammina per strada
Se sei in WordPress, ma non sembra WordPress, stai confondendo inutilmente i tuoi utenti.

Lo so, l'interfaccia utente di WordPress è alquanto noiosa dal punto di vista di un designer, ma a volte è molto più intelligente seguire gli stessi stili e la stessa esperienza utente a cui sono abituati i tuoi utenti piuttosto che optare per una soluzione completamente diversa.

Nei nostri plugin cerchiamo di mantenere gli stessi stili di WordPress e di inserire ogni elemento dell'interfaccia utente dove crediamo che l'utente si aspetti che appaia. Ma abbiamo visto molte interfacce di plugin che assomigliano poco o niente a WordPress, confondendo gli utenti.

La raccomandazione è che se sei il progettista di un plugin per WordPress, segui le guide di stile di WordPress e persino riutilizzi i componenti che ora fornisce per creare interfacce in React, esportate direttamente dall'editor di blocchi di Gutenberg. Li stiamo usando nella ristrutturazione che stiamo facendo di Nelio A/B Testing e sono fantastici.

Superare i limiti della tua proprietà

La dashboard di WordPress ha due tipi distinti di zone dal punto di vista dello sviluppatore. Da un lato abbiamo le aree private, che sono quelle pagine che un particolare plugin aggiunge. All'interno di queste zone, devono essere accodati solo gli stili CSS e gli script inclusi dal plug-in a cui appartengono quelle pagine.

D'altra parte, abbiamo le aree comuni, che sono tutte quelle che vengono di default in WordPress. Esempi di aree comuni sono l'editor di contenuti, l'editor di menu o widget, le impostazioni, ecc.

Versare la crema
Se il tuo plug-in è danneggiato, è possibile che quello da incolpare sia un altro plug-in che sta distruggendo gli stili o rompendo i tuoi script con codice spazzatura.

Plugin ben programmati, quelli che seguono le linee guida di WordPress, accoderanno script e stili che interessano solo la loro zona privata. Ciò significa che quando accodano queste risorse, hanno una condizione nel codice per verificare se stanno cercando di farlo su una pagina privata di loro proprietà o meno. In caso contrario, non accoderanno nulla al di fuori di tale ambito.

Sfortunatamente, ci sono molti plugin che "dimenticano" di includere questa condizione nel loro codice. Ciò fa sì che il codice JavaScript e gli stili vengano caricati in ogni momento su tutte le pagine, cosa che può interrompere le altre pagine comuni o anche quelle private di altri plugin.

Rilevarlo è più facile di quanto sembri. Se stai utilizzando un plug-in e la sua interfaccia utente sembra danneggiata, è del tutto possibile che un altro plug-in stia mettendo JavaScript o CSS dove non dovrebbe e stia interrompendo gli stili e il comportamento del primo plug-in. L'abbiamo visto. A noi è successo (che hanno rotto la nostra interfaccia) e, sfortunatamente, continuerà ad accadere.

Non seguendo le buone pratiche di programmazione

Non devi essere il miglior hacker al mondo per programmare in WordPress, ma ci si può aspettare una qualità minima quando si tratta di programmazione.

Uno dei vantaggi (se non il maggiore) di WordPress è la sua filosofia open source. Esplorare il codice sorgente dei plugin è qualcosa che puoi sempre fare (almeno quei plugin nel repository ufficiale).

Un uomo grasso che lavora al suo computer con i piedi
Un'attenta programmazione si nota semplicemente guardando il codice che generi. Ci sono molti plugin là fuori che ti faranno piangere quando esplori il loro codice sorgente.

Potresti trovare di tutto: codice bello da vedere e codice che ti farà piangere. E questo non significa che uno sia peggiore dell'altro dal punto di vista delle prestazioni. Ma se vedi codice ben documentato, ben indentato e anche strutturato seguendo una distribuzione logica di file e cartelle, hai trovato il Santo Graal.

Se il codice di un plugin per WordPress è bello da vedere, è probabilmente perché il programmatore è attento e raffinato. Questo è un chiaro segno di qualità.

Apertura di buchi di sicurezza

Un plugin per WordPress non è altro che un insieme di istruzioni di codice. Solitamente PHP e JavaScript, che estende le funzionalità di WordPress. Questo codice otterrà in modo abbastanza sicuro i dati dall'utente e finirà per visualizzare le informazioni sullo schermo.

Un gatto che digita su un computer super veloce
Il più delle volte non è intenzionale, ma se non convalidi i dati e non ne esci, stai aprendo più porte di quanto dovresti a possibili aggressori.

È possibile che quando si ottengono i dati e li si stampa sullo schermo si aggiungono falle di sicurezza se non si elaborano i dati correttamente. WordPress pone molta enfasi sulla convalida e la sanificazione dei dati di input e sull'escape dei dati sull'output.

Esistono molte funzioni per convalidare i dati e assicurarsi che ciò che l'utente immette nel plug-in sia davvero ciò che vogliamo, evitando così l'iniezione di codice. Se lo sviluppatore del plugin non li usa, è per pigrizia o ignoranza. Fai attenzione a ciò che finisci per installare nel tuo WordPress o finirai per pentirti.

Esecuzione di attività non idonee

Continuando con la sezione precedente, ci sono plugin che provengono da fonti di dubbia origine. A volte, per risparmiare qualche soldo, ti immergi in luoghi oscuri su Internet alla ricerca di un file .zip che contiene il plugin che desideri ma per il quale non vuoi pagare.

Un uomo che afferma di capire come funziona il deep web
Lo sappiamo tutti ea volte anche noi lo abbiamo fatto. Per risparmiare qualche dollaro, siamo andati nelle zone oscure di Internet alla ricerca di qualcosa di gratuito.

Quando lo trovi, tutto è felicità, finché non ti rendi conto che quel plugin viene fornito con un regalo. Da crawler, minatori di criptovaluta, spam, fino a codice dannoso che può assumere il controllo del tuo sito web. Puoi trovare tutto.

Fai attenzione all'origine dei plugin che trovi lì. Il repository ufficiale di WordPress e i mercati più conosciuti sono l'unica fonte affidabile per i tuoi plugin di WordPress. Per essere all'interno di quei repository, gli sviluppatori di plugin devono superare alcuni test di qualità. Fidati solo di luoghi conosciuti ed evita plug-in ottenuti da fonti inaffidabili.

Non aggiunge valore

L'errore peggiore che un plugin per WordPress può fare è non aggiungere valore ai suoi utenti. Come sviluppatore, a volte hai idee pazze che pensi possano essere molto utili per gli altri. La verità è che se il tuo plugin porta è molto piccolo, il numero di utenti che finirà sarà simile.

Ci sono molti plugin all'interno del repository ufficiale di WordPress il cui valore è basso. Ma questo è qualcosa che accade in qualsiasi mercato o repository di applicazioni.

Se come sviluppatore vuoi distinguerti dal resto della concorrenza, concentrati sul fornire valore ai tuoi potenziali utenti. In questo modo il tuo plugin finisce per guadagnare la popolarità necessaria per diventare un successo all'interno di WordPress.

La scelta dei plugin di WordPress è complicata

Non tutto si basa sul numero di recensioni degli utenti e sul conteggio delle stelle. Scegliere un buon plugin per WordPress è complicato. Ci sono molte sorprese nascoste che si scoprono solo analizzando il codice sorgente del plugin stesso. E se non hai le conoscenze per capirlo, fai attenzione.

Guarda i commenti che troverai nel forum di supporto del plugin all'interno del repository per vedere che tipo di problemi hanno le persone con esso. Prova il plugin in un ambiente controllato e se vedi qualcosa di strano contatta lo sviluppatore per chiedere aiuto.

Se dopo questo non sei soddisfatto di ciò che vedi, cerca un'alternativa. Ci sono migliaia di plugin là fuori che ti aspettano. Oppure lasciaci un commento qui sotto. Siamo sempre alla ricerca di idee per nuovi plugin interessanti da aggiungere alla nostra collezione.

Immagine in primo piano di Goh Rhy Yan su Unsplash .