WordPress SEO: non avrai altra guida all’infuori di me


Wordpress SEO: La Guida

Questa guida nasce da un intervento fatto per “La Settimana Della Formazione”
C’è davvero bisogno di una Guida SEO per WordPress?
Dal mio punto di vista sì.

Ne vedo ogni giorno di tutti i colori e vedo dispensati consigli pessimi e basati sulla completa ignoranza di ogni regola, best practice e funzionamento dei motori di ricerca. Purtroppo in questo campo continua a passare il messaggio fortemente errato che nella SEO ci sia molta opinione ed è giusto che ci sia differenza di vedute. Bene. Non è così. Un sito web si ottimizza con cognizione di causa e non perché si è letto qua e là qualcosa o perché c’è un modo particolare di ottimizzare un CMS di un tipo o di un altro tipo. Questo era stato spiegato anche nella SEO Beginners series.

Devi capire perché fai delle scelte indipendentemente dal CMS. Devi capire come funzionano le cose.

Se sei un chirurgo e non conosci come funziona il corpo umano difficilmente saprai dove mettere le mani anche se ti forniranno gli strumenti più all’avanguardia. Lo stesso vale per la SEO. Non devi seguire un protocollo standard o usare il tool più figo, ma devi comprendere le scelte che fai di volta in volta perché non è detto che per ogni caso si debba applicare ciecamente la stessa regola.

Fatta questa premessa andiamo nel vivo della guida SEO per WordPress e bada bene…non alla guida per il plugin WordPress SEO.



Il robots.txt

less is more

Troverai tantissimi post dove ti consiglieranno l’uso di robots.txt altamente creativi. Ignorali.

Il robots.txt da usare per la tua installazione WordPress è il seguente:

User-Agent: *
Disallow:

Dopo qualche giorno dalla nascita del tuo sito potrai monitorare i log del server per scoprire qualche fenomeno strano relativo al crawling del tuo sito, ma di base il file robots qui sopra dovrebbe essere più che soddisfacente per il 99% dei siti.

Bloccare i feed, le cartelle dei plugin, quelle dei file javascript di sistema e altre fesserie sono deleterie. Per fare un semplice esempio bloccando i feed perdi una grossa opportunità di URL discovery da parte dei motori di ricerca e ad esempio semplicemente dimenticandoti uno “/” puoi trovare URL che iniziano per quel termine senza “/” bloccare l’accesso al contenuto.

Il protocollo di esclusione robot non cambia di volta in volta sulla base delle credenze personali e basta conoscerne il funzionamento per evitare di incorrere in errori banali.

La SEO non è un’opinione


permalinks

È una buona cosa impostare una struttura degli URL che sia in qualche modo comunicativa del contenuto della pagina.
Non esiste una opzione migliore, ma tra le disponibili va scelta l’opzione che più si addice ai nostri contenuti. “Day and Name” e “Post name” sono tra le migliori da scegliere, ma anche l’impostazione “Custom structure” può fare al caso nostro.

Ad esempio qualora volessimo usare la categoria nel nostro URL sarà possibile farlo inserendo /%category%/%postname%/.


Il plugin SEO: WordPress SEO by Yoast

wordpress seo by yoast

Non ho problemi a dire che questo sia il plugin migliore in assoluto per WordPress. È un no-contest. Vince a mani basse e con l’andare del tempo sarà sempre migliore perché Joost De Valk (un bravissimo SEO) ci ha costruito sopra un business che coinvolge molti professionisti.

Andiamo nel dettaglio del plugin.


La bacheca

bacheca wordpress seo

All’interno della bacheca di WordPress SEO potete far partire il tour guidato che spiega il funzionamento del plugin e impostare i valori di default che spesso vanno abbastanza bene.

Oltre a questo potete attivare il monitoraggio in modo anonimo per permettere allo sviluppatore del plugin di avere informazioni sull’uso dello stesso e dunque scoprire eventuali scenari d’uso e bug.

Nella sezione sicurezza invece come amministratori potete decidere di nascondere la parte avanzata del plugin dedicata agli autore/editori e dunque prevenire l’esecuzione di eventuali azioni delicate tipo redirect 301, canonicalizzazione, de-indicizzazione e simili che vedremo dopo.

Nella sezione Strumenti Per Webmaster potete aggiungere invece i meta tag di verifica dei vari strumenti messi a disposizione da terze parti (social, motori di ricerca, strumenti di stima traffico) come Alexa, Bing, Google, Pinterest e Yandex. Questa parte non è necessaria se non usate questi strumenti e anche se avete effettuato la verifica con metodi alternativi come il caricamento di un file HTML sul server. Per capire nello specifico di cosa si tratta potete ad esempio consultare la guida dedicata agli Strumenti per i Webmaster di Google oppure la panoramica sugli Strumenti per Webmaster di Bing.


Titoli & Metadati

Titoli e Metadati: tab 1. Worpress SEO.

► Tab generale

In questa sezione nella grande maggioranza dei casi potete lasciare tutto inalterato e senza spuntare nulla. La voce “Impostazioni titolo” per la mia esperienza non serve mai mentre quella delle “impostazioni metadati per tutto il sito” può servire qualora effettivamente vi rendiate conto che nel vostro sito volete curare il meta keywords con parsimonia e che in SERP venga utilizzata la descrizione del vostro sito presente i DMOZ o Yahoo! Directory (caso molto remoto) anziché quella che avete scelto voi.

Nella parte di “Pulizia del codice <head>” potete tranquillamente sorvolare oppure spuntare tutto senza troppi effetti utili o inutili.

► Home

Titolo Home: tab 2. WordPress SEO

Qui puoi impostare e forzare un valore per per il meta tag <title> e <meta name=”description” content=”…”/> della home page. Sono elementi importanti perché raccontano molto del tuo blog rispetto agli utenti che potranno trovarti dopo aver effettuato una query sul motore di ricerca.

► Tipi articolo

Tipi Articolo: Tab 3. WordPress SEO

Qui puoi decidere come gestire in modo granulare tutti i tipi di contenuto che hai all’interno del tuo blog e dunque di base Pagine e Articoli, ma qualora tu avessi dei Custom Post Type questi appariranno automaticamente e avrai la possibilità di deciderne le caratteristiche singolarmente.

Tra le opzioni che puoi scegliere hai meta title, meta description, meta robots, authorship, data nelle anteprime snippet, box avanzato di WordPress SEO in fase di pubblicazione. Sintetizziamo con la seguente tabellina.

Elemento Risultato ottenibile
Titolo del template Inserendo ad esempio la variabile %%title%% comparirà in automatico nel campo…di tutti i tuoi articoli (post) il titolo che darai all’articolo stesso.
Template del Meta description Inserendo ad esempio la variabile %%excerpt%% comparirà in automatico nel campodi tutti i tuoi articoli (post) il il relativo estratto delle prime righe del testo che hai pubblicato.
Metadati Robot Qui puoi decidere se un determinato tipo di contenuto debba o no essere indicizzabile dal motore di ricerca e dunque spuntando l’opzione verranno aggiunti alle tua pagine di quel tipo il <meta name="robots" content="noindex, follow" />
Data nello snippet di anteprima È una funzionalità interna che semplicemente mostrerà o meno nell’anteprima che mostra WordPress SEO nel suo tab interno ai post il possibile risultato in SERP.
WordPress SEO Meta Box Anche questa è una funzione interna del plugin che permette di omettere il tab dei mata box all’interno della fase di pubblicazione dei post.

► Tassonomie

Tassonomie. Tab 4. WordPress SEO.

Per le tassonomie vale la stessa identica regola dei tipi di articolo. Ci sono solamente alcuni elementi in meno perché relativamente al rel=”author” questo viene escluso in automatico, mentre sull’anteprima dello snippet questa non è presente nella sezione dedicata alla pubblicazione delle tassonomie.

► Altro

Altro: Tab 5. WordPress SEO

Nella sezione “Altro” è possibile gestire gli archivi, le pagine autore e le pagine speciali come i risultati di ricerca e le pagine 404.

Queste opzioni vanno usate in modo diverso in base al tipo di blog e quindi l’autore stesso del plugin consiglia ad esempio quando usare l’opzione per disabilitare alcuni archivi. Nel caso dell’archivio autore ad esempio consiglia:

Se si sta gestendo un blog monoautore, gli archivi autore appariranno sempre identici a quelli della homepage. Disabilitandoli qui si assicura che ogni link a questi archivi venga rediretto con un codice 301 alla homepage.

negli archivi per data la motivazione è sempre quella della potenziale duplicazione interna:

Per gli archivi basati sulla data, vale lo stesso principio: probabilmente assomigliano molto alla tua home page, e potrebbero quindi essere identificati come contenuti duplicati.

Ovviamente questi sono consigli molto generici e per ogni caso bisogna valutare attentamente cosa fare anche in base agli effettivi contenuti che decidiamo di iniettare in questi tipi di pagine. Ad esempio potremmo aver creato un plugin che aggiunge delle descrizioni e caratteristiche particolari come fotogallery o videogallery agli archivi autore e dunque in quel caso potremmo decidere di lasciarlo attivo anche per un blog monoautore.

Consiglio: Valutate caso per caso

Per quanto riguarda le sezioni ricerca e 404 è invece possibile specificare solamente il <title> da assegnare al template.


Social

La sezione dedicata ai social è molto importante perché permette di personalizzare gli aspetti di default che vanno a condizionare il nostro aspetto in fase di condivisione. È una cosa che ho spiegato con molta enfasi durante il Corso SEO nella lezione dedicata al markup strutturato perché ritengo che la corretta gestione di questi meta debba essere un punto di forza comunicativo di ogni sito web.

► Facebook

Social: Tab Facebook. WordPress SEO

Nella parte dedicata a Facebook puoi decidere di abilitare l’aggiunta automatica degli Open Graph di Facebook e di verificare anche un amministratore Facebook da collegare al tuo sito.

Oltre a questo si può specificare l’eventuale pagina publisher su Facebook, una immagine e una descrizione da utilizzare per la homepage come dati da mostrare in fase di condivisione sul social network oltre a una immagine da utilizzare in caso di mancata aggiunta negli altri tipi di pagine (articoli, pagine, tassonomie, custom post type).

Una volta impostati questi valori potete anche testare il corretto funzionamento tramite l’ex Facebook Linter (ora debugger)

opengraph debugger

► Twitter

Twitter: Tab 2. WordPress SEO

Nella parte dedicata a Twitter è possibile aggiungere i metadati di Twitter, aka Twitter cards.

Da poco è stata aggiunta all’interno di WordPress SEO la possibilità di scegliere un ulteriore tipo di cards delle 8 disponibili. La Summary e la Summary with large image. Non insisto sui motivi e sull’utilità di volerle aggiungere.

Vi mostro un’anteprima di 6 delle Twitter Cards messe a disposizione dove nella prima colonna potete vedere quelle che il plugin vi mette a disposizione.

twitter cards validator

Questa è la schermata che vi troverete di fronte quando deciderete di validare le vostre cards tramite il Twitter Cards Validator che potrete utilizzare solo dopo esservi loggati al vostro account Twitter.

NB: la validazione è una condizione necessaria per ottenere l’associazione delle Cards alle condivisioni delle pagine.

validator twitter

► Google+

Questo tab permette di aggiungere l’eventuale rel=”publisher” al vostro sito.

Se vi interessa capire la differenza tra publisher e authorship potete consultare questa raccolta di risorse presente sul forum.


Sitemaps XML

Sitemaps XML: WordPress SEO

WordPress SEO include anche una funzionalità che permette di attivare la generazione delle Sitemap XML. La cosa che lo rende a mio avviso migliore degli altri plugin dedicati alle sitemap è proprio la possibilità di suddividerla in aree logiche che rispecchiano la strutturazione stessa del nostro sito.

Un’altra cosa molto positiva è che in automatico si configura sulla base delle impostazioni di noindex e disabilitazione che avete deciso nella sezione Titoli e Metadati. Ovviamente è possibile sovrascrivere questo automatismo, ma è sicuramente una buona pratica quella di includere in sitemap solamente gli URL che effettivamente vogliamo indicizzare e far parte della nostra architettura informativa.

In automatico il plugin fa anche il ping della sitemap a Google e Bing e offre anche la poco utile opzione di pingare Ask e Yahoo! Credo si sia applicata la valutazione “Melius abundare quam deficere”.

Verrà generato un file /sitemap_index.xml raggiungibile dalla root che conterrà tutte le singole sitemap di sezione così da poter verificare tramite Webmaster Tools eventuali problemi di indicizzazione circoscritti ad alcune aree.

xml sitemap

Ovviamente anche qui vanno fatte le impostazioni sulla base dell’effettiva necessità per il vostro sito.

Faccio un esempio:

Sul SEO blog i tag per scelta editoriale vengono utilizzati solamente per migliorare il box degli articoli correlati e dunque sono esplicitamente marcati di default come “noindex” e di conseguenza è stata disabilitata la sitemap dei tag per evitare un lavoro inutile al motore di ricerca.

NB: Prima fai un piano editoriale sui contenuti e organizza la tua architettura informativa. Solamente dopo decidi quali parti del core di WordPress debbano o meno essere incluse/escluse.

Permalinks: WordPress SEO

Questa sezione è molto importante anche se di base non dovrebbe quasi mai servire. WordPress SEO gestisce tramite canonical la definizione dell’URL da considerare canonico, ma in certi casi potrebbe essere utile forzare questo comportamento qualora ci siano fattori interni o esterni che portano a conseguenze non preventivate e poco controllabili tramite l’uso del canonical.

Come vedete dall’immagine è possibile:

  • Applicare/forzare lo slash finale a tag e categorie.
  • Rimuovere le stop words dagli URL.
  • Far redirigere gli URL degli allegati al post principale perché spesso può causare problemi di duplicazione interna.
  • Rimuovere le variabili ?replytocom che spesso il motore di ricerca indicizza inutilmente.
  • Redireziona gli URL grezzi a permalink puliti. Può servire a consolidare una risorsa rispetto a possibili errori derivanti dalla condivisione delle nostre pagine da parte di terzi.
  • Forzare la canonicalizzazione su HTTP o HTTPS.
  • Prevenire eventuali parametri derivanti dall’uso di Google Site Search.
  • Prevenire la pulizia dei parametri di tracciamento campagne Analytics e Adwords in caso di selezione dell’opzione di redirezione degli URL grezzi.
  • La possibilità di evitare il redirect di variabili custom (ossia che utilizziamo in modo privato o per altri software di tracciamento).

Links interni

Links Interni: Briciole di pane. WordPress SEO

I links interni non sono altro che le “briciole di pane” (breadcrumbs) già impostati appositamente per includere markup strutturato RDF e dunque in grado di generare il rich snippet del percorso di navigazione.

Il codice che il plugin genera è tipo il seguente:

<div itemprop="breadcrumb" id="breadcrumbGT2">
<a href="https://www.giorgiotave.it/">Giorgiotave.it</a> ›
<span xmlns:v="https://rdf.data-vocabulary.org/#"> 
 <span typeof="v:Breadcrumb">
  <a href="https://seoblog.giorgiotave.it" rel="v:url" property="v:title">SEO</a>
 </span> › 
 <span typeof="v:Breadcrumb">
  <span property="v:title">Strumenti per Webmaster: Identificare i Problemi Critici e Risolverli</span>
 </span> 
</span>
</div>

che può manifestarsi in SERP come nel primo caso della seguente immagine

rich snippet breadcrumb


RSS

RSS WordPress SEO

Come recita la descrizione presente all’interno della sezione:

Questa opzione è utilizzata per aggiungere automaticamente contenuti al tuo RSS. Più nello specifico, è progettata per aggiungere links che rimandino al tuo blog e ai tuoi articoli, in modo che gli stupidi scrapers aggiungeranno a loro volta automaticamente questi links, aiutando i motori di ricerca ad identificarti come la fonte originale dei contenuti.

Consiglio a Joost di aggiungere anche l’itemprop SameAs già che c’è.

In pratica tramite questa funzionalità noi come proprietari e creatori dei contenuti possiamo iniettare all’interno del contenuto del feed il codice HTML che vogliamo usando anche delle variabili che sfruttano le impostazioni del blog. Queste sono

Variabile Output
%%AUTHORLINK%% Un link all’archivio dell’autore dell’articolo, con il nome dell’autore come testo di ancoraggio.
%%POSTLINK%% Un link all’articolo, con il titolo come testo di ancoraggio.
%%BLOGLINK%% Un link al tuo sito, con il nome del tuo sito come testo di ancoraggio.
%%BLOGDESCLINK%% Un link al tuo sito, con il nome e la descrizione del tuo sito come testo di ancoraggio.

Importa & Esporta

Importa esporta: WordPress SEO

Questa è sicuramente una trovata molto intelligente di Joast, che ha ben pensato di sviluppare un sistema per importare tutti i dati da altri plugin SEO affermati e presenti sul mercato già da prima.

È previsto l’import da All In One SEO Pack, Headspace2 e dal Framework SEO di WooThemes.

Oltre a questo è possibile anche importare le impostazioni dei suoi vecchi plugin Robots Meta, RSS Footer e Yoast Breadcrumbs che ora sono integrati nella soluzione all inclusive.

È anche possibile esportare le impostazioni fatte personalmente all’installazione di WordPress SEO in caso si volessero riusare per altri progetti o per tenere un backup delle impostazioni.


Bulk Title Editor

Bulk title editor: WordPress SEO

Questa funzionalità è davvero molto utile e interessante e può essere in molti casi un “Life Saver”. Tramite un’unica videata è possibile infatti modificare il meta tag <title> di tutte le pagine in modo ultra veloce e con un effettivo riferimento all’articolo per cui decidiamo di effettuare la modifica.


Bulk Description Editor

Bulk description editor: WordPress SEO

Identico al “Bulk Title Editor” ma riferito al meta description.


Modifica Files

Modifica files: WordPress SEO

In questa sezione è possibile agire direttamente sui file presenti fisicamente sul server. Nello specifico è possibile modificare i file .htaccessrobots.txt qualora questi abbiano i permessi di scrittura.

NB: usare davvero con attenzione e solamente se sapete cosa state facendo.

Estensioni

Extensioni: WordPress SEO

È la parte dedicata alla monetizzazione. Trovi tutte le risorse aggiuntive a pagamento di WordPress SEO. È presente anche un modulo per Google News che attualmente non è più scaricabile perché diventerà premium.


Andiamo ora ad analizzare le funzionalità più potenti del plugin.

WordPress SEO Metabox

Con questa funzionalità di WordPress SEO è possibile agire in modo granulare su ogni singolo post sia a livello di meta “per autori ed editori” sia per quelli più “tecnici” e che possono influire su indicizzazione e redirect, ma lo vedremo più avanti.

► Anteprima Snippet

Impostazioni articolo: WordPress SEO

È possibile personalizzare il meta title e description con la possibilità di visualizzare un’anteprima dello snippet che apparirà nei risultati di ricerca.

Esiste anche un campo “Parola chiave principale” volto ad aiutare gli scrittori nella disposizione delle parole all’interno del post, ma ometterò di spiegarlo perché lo ritengo inutile e davvero limitativo. Se speri di conoscere un po’ la SEO non devi avere bisogno di questi strumenti senza cervello.

► Avanzato

avanzato wordpress seo

In questa sezione del meta box è possibile sovrascrivere i comportamenti di default impostati nelle tab generiche precedenti.

Impostazione Valori
Meta Robots Index: Si può decidere se dichiarare la risorsa index o noindex.
Meta Robots Follow Si può decidere se rendere i link della pagina nofollow o follow.
Meta Robots Advanced Impostazioni Avanzate meta robots per questa pagina: noodp, noydir, nosnippet, noarchive
Titoli Breadcrumbs Titolo da usare nel percorso del breadcrumb in questa pagina. Si può modificare quello automatico.
Includi nella Sitemap Si può decidere di far comparire la pagina all’interno della Sitemap XML anche se indicato diversamente nelle impostazioni del Robots Meta.
Priorità Sitemap La priorità data a questa pagina nella sitemap XML.
Includi nella Sitemap HTML Si può decidere di far comparire sempre nella Sitemap HTML la risorsa indipendentemente dalle impostazioni dei Robots Meta.
Autore Permette di mostrare o meno il rel=”author” nella pagina
Canonical URL La URL canonica a cui questa pagina dovrebbe puntare; lasciare in bianco per utilizzare il permalink di default. Supportati anche i cross domain canonici.
Redirect 301 La URL alla quale questa pagina deve reindirizzare.

Se volete approfondire il redirect 301 potete consultare il wiki
Tutte queste impostazioni sono disponibili anche per le singole immagini e relativo allegato.

► Social

Social. WordPress SEO metabox

Qui è possibile personalizzare gli snippet da mostrare su Facebook e Google+ scegliendo anche un’immagine non modificabile in fase di scelta al momento della condivisione.


Di questa sezione se ne era già parlato sul Copy Blog con il post “5 Aspetti che Ho Imparato a Migliorare nei Miei Post”

Le impostazioni di WordPress SEO per le categorie

Categorie wordpress SEO

Una delle caratteristiche più interessanti di questo plugin è proprio la possibilità di personalizzare title, description, canonical, breadcrumb, meta robots e inclusione in sitemap delle singole categorie.

Utilissimo per caratterizzare alcune sezioni e per abilitare/disabilitare l’indicizzazione di categorie inizialmente vuote o con poco contenuto, ma che con il tempo riempiremo.


Le impostazioni di WordPress SEO per i tag

Tag wordpress SEO

Esattamente identica alla funzionalità per le categorie e dunque offre la possibilità di intervenire con molta granularità su ogni singolo tag e di modificarne alcuni parametri tecnici importanti a fini SEO.


Le impostazioni utente

Utenti wordpress SEO

Con WordPress SEO è possibile per ogni utente aggiungere le informazioni relative ai profili social di Twitter, Facebook e Google+ (che viene utilizzato per l’inserimento del rel=”author”).

Oltre a questo è anche possibile aggiungere dei meta title e description personalizzati.


Console di ricerca (capitolo a cura di Gabriele Benedetti)

Google ha recentemente rinominato gli “Strumenti per Webmaster” in Search Console. La nuova release di Yoast SEO porta la forza della Search Console all’interno della tua installazione WordPress. Tutti gli errori che Google rileva verranno così mostrati all’interno del plugin.

► Attivazione:

Per collegare il proprio sito alla Search Console di Google occorre come prima cosa essere loggati, nel browser che si utilizza, al proprio profilo Gmail o al profilo tramite il quale si accede alla Search Console, questo sarà necessario in quanto dopo essere entrati nella sezione di nostro interesse dovremo richiedere un codice a Google tramite il pulsante Autenticati.

search console

Una volta cliccato si aprirà una nuova finestra dalla quale dovremo copiare il codice.

search console autentica

Una volta che abbiamo copiato il codice e cliccato sul pulsante autenticati otterremo il collegamento al nostro sito.
Se abbiamo accesso ad un solo sito la scelta sarà semplice, altrimenti avremo accesso ad un menù “Combo box” dal quale dovremo scegliere il dominio corretto.

combo box

Una volta collegato il sito abbiamo a disposizione la seguente schermata:

console google wp

In italiano la prima voce è Scrivania. La traduzione del menù può essere fuorviante, Scrivania è un termine che usiamo nei sistemi operativi per tradurre la parola “Desktop” ma che viene invece intesa, nel lessico utilizzato nel WEB, come la fruizione dei contenuti online da un dispositivo fisso/portatile (a differenza di uno smartphone o tablet per esempio) e che potrebbe essere stata lasciata quindi inalterata come accade per le successive tab.

► Perché questa tab è utile.

La sezione della Search Console presa in causa da questo plugin è quella che trovate in “Scansione > Errori di Scansione” e che ci comunica gli errori che il crawler di Google ha incontrato quando effettua le scansioni al sito.

errori search console

Le Tab che troviamo (Non trovato, Accesso negato, Errore del Server, Soft 404) dipendono da cosa ha realmente trovato Google nel nostro sito, qualora non ci siano tutte le tipologie di errore alcune delle etichette verranno nascoste.

Avere dei link rotti nel nostro sito è un problema. Per un utente non è di certo una buona cosa finire su una pagina che ritorna un messaggio di errore “non trovato”, lato SEO avere link rotti è altrettanto un problema, per vari motivi che non evidenzieremo in questa guida. La cosa importante da tenere a mente è che non tutti gli errori non trovato che ci segnala Google sono per forza un problema.

Quando lo sono?
Sono un problema in generale quando si riferiscono ad una risorsa che era precedentemente a disposizione e che adesso non lo è più. La domanda che ci dobbiamo porre è: perché non c’è più? Avrei forse dovuto redirigere con un 301 questo URL altrove?

Quando non lo sono?
Se la risorsa che Google ha trovato non esisteva avremo modo di capire come è stata scoperta, se abbiamo inserito un link interno in modo errato qui potremo vederlo e correggerlo.

Il link errato però potrebbe anche provenire da un sito esterno, in questo caso possiamo o contattare il sito e chiedere una modifica oppure gestirlo internamente con un 301 ad-hoc.

Potrebbe essere errato in Sitemap (che dovremo correggere), potrebbe essere stato individuato per qualche problema software del nostro sito, occasione in cui dovremo una volta risolto l’errore che ha prodotto quell’URL lasciare un 404 affinché il motore di ricerca possa considerarlo come tale.

Cosa fare:

Nel caso di errori nei link la soluzione che la maggior parte degli utenti troverà più facile affrontare è leggere il link errato (a questo serve “Visualizzazione”), capire dove si trova, andare alla pagina contenente l’errore e riscrivere il link nel modo corretto. Yoast SEO ci fornisce anche la possibilità con la versione Premium di “Creare un Redirect” e risolvere questi errori direttamente nel tool. Chi non avesse la versione a pagamento, una volta risolto il problema può tramite il tool scegliere l’opzione “Segna come risolto” che invierà la segnalazione alla Search Console.


Il plugin per il caching: W3 Total Cache

w3 total cache

È un plugin sviluppato da Frederick Townes (personaggio di tutto rispetto che prima di aprire la sua agenzia W3 Edge è stato Founding Chief Technical Officer di Mashable, di cui è attualmente Senior Technical Advisor. Lui è anche un conoscitore del mondo SEO e di conseguenza a parte qualche piccolo problema per cui mi ero molto arrabbiato è affidabile da questo punto di vista o almeno non sviluppa le cose a caso.

Questo è un fattore non trascurabile per scelte di lungo periodo così come la scelta di WordPress SEO di Joost.


Impostazioni generali

Nelle impostazioni generali del plugin è possibile impostare l’attivazione o meno di alcune funzionalità che possono poi essere ulteriormente personalizzate nei rispettivi pannelli. Nel menù interno della sezione generale si trovano le seguenti voci e brevemente proveremo a spiegarle tutte.

General | Page Cache | Minify | Database Cache | Object Cache | Browser Cache | CDN | Varnish | Monitoring | Miscellaneous | Debug | Import / Export Settings

► General

General w3tc

Da questa scheda è attivabile e disattivabile la modalità anteprima oppure le opzioni di caching in un colpo solo.

► Page Cache

page cache w3tc

È l’opzione principale e quella – diciamo – necessaria per ogni blog. Questa funzionalità non fa altro che staticizzare le pagine del blog salvandone una copia sul disco oppure in memoria.

L’impostazione solitamente consigliata per siti che lavorano su server condivisi (e che spesso girano in Fast CGI) è quella di caching basato su disco. Alcuni server condivisi mettono a disposizione APC o altri opcode cache, ma il risultato non è necessariamente positivo perché questi tipi di caching in memoria necessitano sempre di un tuning attento e fatto con cognizione di causa.

Solitamente questo tuning su di un server condiviso è impossibile.

Per rendere l’idea vi mostro un minimo il pannello di base APC da cui monitorare l’andamento del caching in memoria

apc tuning

Se avete un VPS o un dedicato e volete installare APC basta semplicemente eseguire i seguenti comandi:

# pecl install apc
# cp /var/www/vhosts/domain.com/httpdocs/wp-content/plugins/w3-total-cache/ini/apc.ini /etc/php.d/
# /etc/init.d/httpd restart
# php -r 'phpinfo();' | grep 'apc'
Il primo installa apc, il secondo vi fa usare la configurazione precompilata di w3tc, il terzo riavvia apache, il quarto verifica che effettivamente APC sia attivo.

Se non avete idea di cosa si tratta scegliete l’opzione “Disk: Enhanced” che andrà più che bene nel 99% dei casi.

L’uso di memcached è consigliato quando la vostra installazione gira su più macchine anche se può funzionare senza problema anche su singola macchina.

Se avete un VPS o un dedicato e volete installare memcached basta semplicemente eseguire i seguenti comandi:

# pecl install memcache
# cp /var/www/vhosts/domain.com/httpdocs/wp-content/plugins/w3-total-cache/ini/memcache.ini /etc/php.d/
# /etc/init.d/httpd restart
# php -r 'phpinfo();' | grep 'memcache'
Il primo installa memcache, il secondo vi fa usare la configurazione precompilata di w3tc, il terzo riavvia apache, il quarto verifica che effettivamente memcache sia attivo.

► Minify

minify w3tc

La sezione dedicata alla minificazione è particolarmente utile per mettere a dieta le pagine del blog e ridurre le richieste HTTP che il tema e/o i plugin possono aggiungere in modo poco controllabile alle pagine.

Nel 99% dei casi le impostazioni di default del metodo di caching, di HTML minifier, JS minifier e CSS minifier vanno più che bene quindi a meno di esigenze particolari non si ottiene una maxi beneficio cambiandole soprattutto su shared hosting.

Una funzionalità interessantissima e che spesso riduce davvero la mole di tempo da dedicare alla configurazione è la selezione della modalità di Minify Automatica. Se attivandola le funzionalità del vostro tema non subiscono degradazioni allora è un must have, altrimenti è meglio lavorare in modo artigianale impostando le combinazioni e minificazioni a mano.

Dopo il minify automatico potete ad esempio testare i file effettivamente combinati e quanto l’automatismo vi avrà fatto migliorare tramite uno strumento come Speedoo. Se il risultato è soddisfacente allora avrete davvero guadagnato tanto tempo che potrete dedicare alla crescita del vostro progetto editoriale.

► Database Cache

Database cache w3tc

Nel contesto d’uso “Shared Hosting” personalmente non ritengo aver molto senso attivare questa opzione che va valutata caso per caso facendo dei test perché l’impatto dipende molto dalla velocità di risposta del disco e dalla sua risposta in condizioni di sforzo.

Diverso ovviamente se si può fare caching in memoria, ma come abbiamo visto in casi di hosting condiviso è davvero caso raro.

► Object Cache

object cache w3tc

Vale lo stesso discorso fatto sopra per “database cache” con l’aggravante che spesso per alcuni temi e in contesti d’uso di browser vecchiotti o proxy aziendali questo tipo di caching può rendere inutilizzabile il sito.

Onestamente non ne conosco il motivo, ma mi è capitato più volte quindi bisognerebbe riprodurre il problema al verificarsi, cosa che invece mi è stata solamente segnalata dall’esterno.

► Browser Cache

browser cache w3tc

Da selezionare “tutta la vita”. Poca spesa e molta resa con questa opzione che va semplicemente ad aggiungere delle righe al vostro file .htaccess.

L’unica cosa importante da fare è quella di gestire i tempi di browser caching sulla base delle vostre reali esigenze.

► Content Delivery Network

cdn w3tc

Secondo il mio punto di vista questa opzione ha senso di essere usata per siti che operano anche su mercati internazionali o molto trafficati altrimenti il gioco non vale la candela.

Essendo questa una Guida di base per WordPress credo proprio che non ci sia la necessità di utilizzare una CDN a meno che non siate hostati su Server lontani dall’Italia.

► Varnish

varnish w3tc

Ipotizzando di essere su di un hosting condiviso dubito fortemente che si possa sfruttare Varnish o almeno che la maggior parte delle persona possano trovarsi in un caso simile e per questo potete ignorare questa voce.

Se site in grado di installare e configurare Varnish, molto probabilmente saprete configurare senza problemi anche le policy e il resto di W3 Total Cache.

► Monitoring

monitoring w3tc

Qui è possibile integrare NewRelic con W3TC tramite la chiave API e dopo aver installato il demone sul vostro server. Anche questo un caso per utenti avanzati.

Sotto vi mostro una dashboard di NewRelic e ve lo consiglio se siete degli utenti avanzati perché vi da un controllo davvero incredibile e user friendly sul vostro server e sugli applicativi che ci girano sopra.
newrelic

► Miscellaneous

misc w3tc

In questa scheda è possibile attivare l’integrazione con le API del servizio PageSpeed di Google e controllare la mancata adesione ad eventuali best practice, attivare l’edge mode di w3tc che consente di ricevere gli aggiornamenti in fase di sviluppo del plugin e anche altre opzioni da utilizzare in casi limite e dunque fuori dal contesto del 99% dei lettori di questa guida.

Potete lasciare le impostazioni di default.

► Debug

debug w3tc

Una funzionalità molto utile e interessante in fase di pre-produzione tramite la quale è possibile verificare l’effettivo impatto/azione/funzionamento delle opzioni selezionate.

Le risposte di debug verranno appese come codice HTML alla fine della pagina quindi potenzialmente può essere utilizzato anche in produzione qualora si dovessero verificare casi di incertezza sul corretto funzionamento del plugin.

► Import/Export Settings

import export w3tc

Come avviene anche per WordPress SEO è possibile importare le impostazioni utilizzate in passato su altri progetti oppure esportare le configurazioni fatte come backup o per riutilizzarle.


Impostazioni di cache delle pagine

In questa sezione è possibile specificare tantissime variabili per il page caching. Vediamo le varie opzioni disponibili in modalità tabellare.

► Opzioni generali

Impostazione Descrizione
Cache front page Permette di cachare la home page del sito.
Cache feeds: site, categories, tags, comments Permette di cachare i feed anche nel caso d’uso di Feedburner (o altri servizi di terze parti).
Cache SSL (https) requests Permette di mettere in cache anche le risorse che vengono chiamate su protocollo HTTPS.
Cache URIs with query string variables Attivando questa opzione tutte le pagine con ?querystring=xxx verranno messe in cache. Alcuni esempi sono le pagine dei risultati di ricerca.
Cache 404 (not found) pages Permette di cachare anche le pagine 404, ma in caso di utilizzo dell’enhanced disk cache queste pagine 404 ritorneranno poi uno status code 200. Altamente sconsigliato il suo utilizzo.
Cache requests only for www.nomedominio.com site address Forza il caching delle risorse solamente se la richiesta contiene l’host www.nomedominio.com.
Don’t cache pages for logged in users Si può decidere di evitare di cachare le pagine per gli utenti loggati. È fortemente consigliato spuntare questa opzione.
Don’t cache pages for following user roles Administrator, Editor, Author, Contributor, Subscriber. Permette di disabilitare la cache in base al ruolo dell’utente loggato.

► Cache Preload

Impostazione Descrizione
Automatically prime the page cache Permette di generare la cache prima della hit velocizzando così anche la prima visita ad una pagina. È una sorta di caching in background.
Update Interval È il numero di secondi da far trascorrere tra la generazione di un set di pagine e il successivo basandosi sull’opzione successiva “Pages per interval”.
Pages per interval È il numero di pagine da generare per ogni processo in background separato dal tempo sopra specificato in “Update Interval”
Sitemap URL Può essere specificata per stabilire la priorità di cachine in background delle pagine. WordPress SEO è perfettamente integrato con W3 Total Cache grazie ad un’apposita estensione.
Preload the post cache upon publish events. Dopo la pubblicazione genera una cache della pagina.

cache preoload w3tc


► Purge Policy: Page Cache

In questa scheda è possibile stabilire le regole per l’invalidazione della cache sezione per sezione, dei feed e di pagine specifiche che necessitano l’invalidazione.

Oltre a questo è anche possibile impostare una regular expression per far “matchare” le proprio sitemap e dunque invalidarle in caso di aggiornamento o aggiunta di nuove risorse.
purge policy w3tc

► Advanced options

Impostazione Descrizione
Late initialization Abilita il supporto al caching di frammenti di pagine. L’attivaione dell’opzione può aumentare i tempi di risposta e va usato solo se davvero necessario.
Compatibility mode Riduce le performance di circa ~20%, ma rende il sistema di caching compatibile con la maggior parte delle configurazioni hosting. In molti casi è necessario attivare questa opzione.
Charset Disable il supporto al charset UTF-8 per risolvere problemi con l’encoding di caratteri delle pagine cachate.
Rifiuta le richieste HEAD non cachandole Se si disabilita le richieste HEAD possono portare a cachare pagine vuote e dunque queste URL potranno poi essere ritornate bianche, così come cachate.
Garbage collection interval in secondi Se è attivo il caching su disco bisogna specificare ogni quanto tempo eliminare le pagine scadute.
Accepted query strings È possibile specificare i querystring da cachare sempre.
Rejected user agents Permette di disabilitare la cache in base allo User Agent.
Rejected cookies Permette di non cachare le pagine in caso di presenza del Cookie specificato.
Never cache the following pages Permette di disabilitare la cache su certe pagine o directory. Supporta anche le regular expression.
Cache exception list Forza il caching di alcune pagine o directory anche se sono listate nella sezione “never cache the following pages”. Supporta anche le regular expression.
Non-trailing slash pages Cacha le pagine listate anche se non contengono lo slash finale.
Specify page headers Permette di specificare alcuni header per cui la pagina deve essere cachata.

Impostazioni di minificazione

Non voglio ripetere cose già spiegate e per questo vi rimando all’articolo “Come caricare jQuery in modo asincrono su WordPress” dove è presente una sezione che spiega il funzionamento del builder di W3 Total Cache per il minify.

Impostazioni di database cache

database cache dettaglio w3tc

Qui è possibile personalizzare il caching delle query escludendo o includendo particolari parole o query stems, disabilitare la cache del db per alcune specifiche pagine/directory e stabilire il ciclo di vita della cache.


Impostazioni di object cache

object cache dettaglio w3tc

Come avviene per la cache del database tramite questa sezione è possibile fare impostazioni particolari di questo tipo di cache e stabilirne il ciclo di vita.


Impostazioni di browser cache

In questa sezione è possibile stabilire le policy generiche per forzare la cache del browser e la compressione delle risorse.

Oltre alle impostazioni generali è possibile poi stabilire in base ai gruppi di contenuti (HTML e XML, JS e CSS, Media e altri file) le regole e tempistiche di caching per il browser. Di seguito una tabella che indica i valori generali. Ometto appositamente le sezioni specifiche perché utilizzano le stesse impostazioni con l’aggiunta dei tempi di scadenza.

Impostazione Descrizione
Set Last-Modified header Imposta il Last-Modified header per abilitare la risposta 304 Not Modified.
Set expires header Imposta la scadenza per incoraggiare il browser a memorizzare il file.
Set cache control header Imposta gli header pragma e cache-control per incentivare la memorizzazione.
Set entity tag (eTag) Imposta gli eTag per incentivare la memorizzazione.
Set W3 Total Cache header Imposta l’header di W3 Total cache per identificare su quali file è stata impostata la cache. Non è necessario e poco utile.
Enable HTTP (gzip) compression Permette di ridurre la dimensione dei file e quindi il tempo di download dei file testuali.
Prevent caching of objects after settings change Permette di prevenire il caching dopo il cambio di impostazioni aggiungendo un query string alle risorse forzando dunque l’invalidazione della cache.
Prevent caching exception list Sovrascrive l’opzione precedente per alcuni file specificati. Supporta le regular expression.
Don’t set cookies for static files Rimuove l’header Set-Cookie dalle risposte.

Impostazioni gruppi di User Agent

ua w3tc

Grazie a questa funzionalità è possibile gestire diversi gruppi di cache basati sullo user agent. È molto utile se usata in combinazione con con la funzione wp_is_mobile() ad esempio per gestire alcune funzionalità particolari da includere o escludere per le versioni mobile anche in caso di template responsive.

Ancora più utile per far funzionare correttamente i siti che utilizzano una versione apposita per dispositivi mobile.


Impostazioni gruppi di referrer

referrer cache w3 total cache

Permette di variare la cache sulla base del referrer della pagina.

Spazio alla fantasia per utilizzare questo tipo di raggruppamento.


Attivazione delle estensioni

estensioni w3tc


WP Optimize

wp optimize

Questo non è un plugin strettamente necessario e nemmeno il più completo, ma lo aggiungo a questa guida base perché credo sia molto utile per fare pulizia di sporcizia inutile all’interno del vostro database causata proprio da come funziona WordPress ed evitare rallentamenti dovuti proprio a questa sporcizia.

Ci sono tanti plugin che fanno questo tipo di operazioni e che vanno più nel dettaglio, ma WP Optimize è sicuramente il più semplice da usare e in fin dei conti svolge il suo lavoro egregiamente senza dare troppi grattacapi a chi deve effettuare la pulizia.

Le opzioni di pulizia che mette a disposizione sono le seguenti:

Impostazione Descrizione
Remove all post revisions Rimuove le revisioni dei post auto-generate da WP.
Remove auto draft posts (This will also clear out posts in Trash) Rimuove le bozze auto-generate da WP.
Remove spam comments (This will also clear out comments in Trash) Rimuove tutti i commenti segnalati come spam.
Remove unapproved comments Rimuove i commenti non approvati – DA NON USARE SECONDO ME.
Remove transient options Le Transient Options sono un sistema di cache interno di WordPress e possono essere rimosse senza problemi. Se vuoi saperne di più puoi leggere la documentazione Transient_API.
Remove orphaned postmeta Permette di eliminare tutte quelle righe nella tabella wp_postmeta che non hanno corrispondenze nella tabella wp_posts.
Remove pingbacks Rimuove i pingback.
Remove trackbacks Rimuove i trackbak.

Feed Delay

feed delay

Non è sempre necessario come plugin, ma se avete problemi con gli scraper allora grazie a questo plugin potete decidere di ritardare l’aggiornamento dei feed e di conseguenza attendere che sia il vostro articolo il primo ad essere scoperto dai motori di ricerca.


Per domande o dubbi ne possiamo parlare sul Forum WordPress.

La Guida è disponibile anche in PDF e distribuibile senza vincoli – SCARICALA

In caso di cambio del tema

Aggiorno questa guida aggiungendo l’articolo di Overclokk che spiega cosa fare passo passo per cambiare il tema di WordPress senza fare dei danni e di conseguenza senza rischiare di perdere la visibilità acquisita.

Credo sia una fase importante da aggiungere a questa guida in quanto prima o poi tutti si troveranno di fronte ad un cambio tema durante la vita del loro sito.

Immagine di copertina da Flickr