Tools

CMS SEO Friendly

Esistono molte soluzioni gratuite - la maggior parte delle quali sono open source - per la realizzazione di un progetto web.

Basti pensare a Wordpress, Joomla, Drupal, Prestashop e Magento. Se è vero che è possibile adattare ogni soluzione (Wordpress per esempio, grazie ai tanti plugin, agli hook, ai custom fields e ai custom types è ormai uno strumento veramente potente in tantissimi ambiti), è anche vero che molte volte potrebbe servire un CMS “cucito su misura” per noi o per il nostro cliente, in modo da gestire al meglio e senza troppi fronzoli ciò che effettivamente ci serve. In questo articolo voglio proporre alcune linee guida di base per progettare un CMS SEO Friendly.

Mi piacerebbe poi avere il parere di ognuno di voi nei commenti, per integrare l’articolo con nuove funzioni che potrebbero essere utili al “CMS perfetto”.

Personalizzazione Title

Partiamo dalle basi, con il tag title - che viene visualizzato in SERP e che deve essere personalizzabile. Deve essere possibile personalizzare il tag title pagina per pagina e specificare pattern per avere title unici e funzionali anche dove non è stato specificato manualmente, un po’ come fanno i plugin SEO per Wordpress.

Dovrebbe essere presente anche un alert sulla lunghezza - meglio se valutando la larghezza in pixel, oppure semplicemente con un conteggio dei caratteri e una preview dello snippet. L’alert e il conteggio dei caratteri in jQuery possono migliorare di molto l’approccio alla scrittura.

Personalizzazione Descrizione

All’interno della lista dei meta-tag più importanti c’è la description. Il contenuto del meta-tag description è importante soprattutto perché, molto spesso, è visualizzato dagli utenti all’interno delle SERP. Avere una meta-description accurata e accattivante può incidere sul CTR della pagina.

Per la personalizzazione della descrizione, l’utente addetto alla redazione dei testi deve essere in grado di personalizzare la descrizione a livello approfondito, valgono le stesse regole previste per il title tag ma ovviamente l’alert sulla lunghezza va impostato intorno ai 155 caratteri.

Miglior CMS:Gestione del Main Menu

Passiamo alla “SEO seria” e all’architettura del sito web. Un fattore importante è valutare a “quanti click di distanza” rendere raggiungibile una risorsa, ovvero della profondità di navigazione. Il discorso relativo all’organizzazione di una AI è lungo e complesso, ma in generale si deve cercare di riuscire a fornire i contenuti più importanti all’utente e allo spider in modo molto veloce. L’architettura deve riuscire a dare idea delle “priorità” all’interno di un sito, oltre che catalogare i contenuti e organizzarli in cluster precisi e facilmente identificabili.

Gli spider si sono evoluti negli anni ma il concetto principale resta lo stesso: “Trovare le pagine web seguendo i link e salvare il contenuto delle pagine nell’indice del motore di ricerca”. Dal pannello di gestione del main menu deve essere possibile gestire tutte le voci del menu velocemente, limitando le sorgenti di errore e mandando link direttamente alle versioni canoniche delle pagine, magari con un controllo sulla presenza di errori 404.

Si dovrà poi giocare sul linking interno per riuscire a far muovere lo spider bene nel sito, ma questa è tutta un’altra storia.

In figura lo spider arriva alla pagina A e riesce ad accedere solo a B e a C, perché nella pagina A sono presenti i collegamenti alle due pagine, ma poi lo spider si arresta non trovando più link.[/caption] Per questo motivo anche il menu deve seguire la stessa struttura di link.

Miglior CMS:Gestione Dei Cookies e Delle Sessioni ID

Non limitare la possibilità degli utenti di visitare una pagina web su redirect basati sui cookies oppure con sessioni ID, questo perché anche lo spider avrebbe gli stessi limiti di accesso. Cosa succede nella pratica?

Lo spider non ha i cookies abilitati né può affrontare le sessioni ID correttamente quindi ogni visita che fa il crawl ottiene un URL con un differente ID di sessione e il motore di ricerca vede questi URL con ID di sessione differenti dalle URL. Quindi limitare il contenuto alle sessioni è una pratica scorretta, se non gestendo il tutto in maniera oculata creando strutture parallele e facendo uso del canonical tag per la gestione della struttura.

Miglior CMS:Immagini

Non soltanto per un e-commerce le immagini sono fondamentali; per questo il miglior CMS dedicato deve avere all’interno dell’amministrazione funzioni e controlli avanzati come ad esempio, oltre alla personalizzazione del nome e dell’attributo alt, anche le possibilità di implementare schema.org, aggiungere una didascalia e la possibilità di creare differenti tagli dell’immagine basandosi breakpoint del tema (un esempio? le media query con cui facciamo passare il layout di una sezione da due a una colonna). Da non dimenticare la possibilità di rendere il path dell’immagine editabile.

Gli spider hanno attivato controlli per l’identificazione, il riconoscimento e l’indicizzazione delle immagini, quindi se uno dei nostri obiettivi primari è indicizzare le immagini è meglio evitare di utilizzare immagini non proprietarie (oltre per motivi di copyright) anche per essere meglio indicizzate e utilizzare immagini di alta qualità per stimolare il click. Può essere importante anche un duplice controllo:

  • Sull’ottimizzazione dell’immagine, per migliorare il tempo di caricamento;

  • Sull’effettiva dimensione. L’immagine deve essere fornita alla dimensione a cui viene visualizzata. Un controllo automatico delle dimensioni e da HTML e un eventuale crop intelligente può essere importante.

Paginazione

Il miglior CMS seo friendly deve avere un sistema di paginazione ben strutturato, utilizzando i tag rel e prev, per far capire al motore di ricerca come muoversi all’interno dei contenuti (articoli o prodotti) paginati, evitando così che lo spider salti alcuni dei nostri prodotti/contenuti o che alcune pagine “sembrino” duplicate.

Non ci dimentichiamo di riflettere su come reagirà il nostro browser al click sul link… dipende dal tipo di file! Il miglior CMS dovrà permettere la possibilità di gestire gli attributi rel e target e gli alert per i link con codice di errore (ad esempio 404) e avvisare se il link che vogliamo inserire ha su di sé un redirect.

Un check automatico periodico di tutti i link in database (magari con un cron task e uno script dedicato) può migliorare di molto l’esperienza utente ed evitare di dover lanciare continui crawl con Screaming Frog a caccia di broken link. Da ricordare che:

  • I link accessibili da web form non sono visibili per gli spider;

  • Per quanto possibile è bene limitare il numero di link a pagine marcate da noindex;

  • I link in iframe sono meno utili, generalmente.

Caching

Un sistema di caching migliora l’esperienza utente e permette di migliorare i tempi di caricamento; le soluzioni sono veramente infinite e tutte da esplorare.

Link di approfondimento: http://www.catswhocode.com/blog/how-to-create-a-simple-and-efficient-php-cache

Avere un sistema di breadcrumb è utile sia per l’utente che viene guidato durante la navigazione nelle pagine, sia per rinforzare la struttura di link interna attraverso l’utilizzo di link di testuali, facendo capire al motore di ricerca come è organizzata la nostra architettura informativa. Il sistema di breadcrumb di un CMS seo friendly deve essere implementato anche tramite microdati con vocabulary di schema.org.

Link di approfondimento: https://schema.org/BreadcrumbList

Redirect 301

Il redirect 301 è un codice di stato del protocollo HTTP tramite il quale, durante la fase di scambio di informazioni tra server e client, il server comunica al client che la pagina web richiesta non si trova più all’indirizzo originario ma è stata spostata permanentemente.

Il nostro CMS dovrà quindi permettere di gestire i 301, quindi impostare su una risorsa (articolo o prodotto) il redirect permanente verso un’altra risorsa. Può essere utile anche implementare l’uso di RegEx per la gestione dei 301 su pattern di URL, oppure altre tipologie di gestione dei 301 magari basate su tipologia di post o filtri particolari. Un plugin molto utile da cui prendere spunto è il buon vecchio “Redirection” di Wordpress.

Status Code 404

Gli errori 404 indicano che una risorsa non è più disponibile, non trovata. I 404 anche se non sono fattore di ranking incidono molto sulla user experience, quindi è bene evitarli o comunque ridurne il numero. Link di approfondimento:https://wordpress.org/plugins/redirection/

Gestione 404

Per monitorare le pagine che restituiscono status code 404 le strade da percorrere sono molteplici, ad esempio si possono monitorare da Google Search Console: dal Menu laterale > Scansione > Errori Di Scansione, oppure tramite un SEO Spider come Screaming Frog o Visual SEO Studio. Tra i due strumenti è consigliato un SEO spider perché i dati scaricati sono in tempo reale (è un simulatore dello spider dei motori di ricerca) mentre Google Search Console non è in tempo reale oltre non fornire molte informazioni, ma aggiunge “404 storici” dovuti anche a errori non necessariamente interni al sito.

In siti web di piccole dimensioni la gestione dei 404 risulta molto intuitiva e meccanica, risolvibile con la semplice sostituzione della risorsa mancante in corrispondenza dell’URL rilevata e con un redirect 301.

In siti web di grandi dimensioni, con molti dati e ovviamente (si spera) dinamici, la gestione manuale dei 404 è una spirale infinita. Gli errori si risolvono e si ripresentano nello stesso istante e spesso l’intervento è tutt’altro che banale.

Estrarre la lista dei 404 in un foglio Excel e analizzare le pagine per capire se è possibile trovare un criterio di raggruppamento e associarle ad un errore specifico - per esempio “Errore da paginazione”, “Errore da pdf” etc - e studiare una soluzione mirata per ciascun errore è sicuramente un punto di partenza in fase di consulenza, ma possiamo aiutarci già in fase di sviluppo CMS in due modi.

  • Con un semplice monitoraggio dei 404 lato CMS;

  • Progettando un sistema di redirect automatici.

E’ possibile progettare sistemi automatizzati per gestire gli status code 404, vediamone due insieme:

  • Creazione di uno script in PHP (o altro linguaggio) ad hoc basato sulle API di SemRush, con lo scopo di far atterrare l’utente sulla pagina concettualmente correlata alla pagina che genera il 404. Quindi se l’utente approda su questa pagina non esistente: www.bytekmarketing.it/ottimizzazione-seo-2016.html

Lo script effettua un’analisi di correlazione tra le keyword collegate a questa pagina e altre keyword dell’intero sito web, scarta tutte quelle fuori target e reindirizza l’utente su un pagina strettamente correlata alla pagina con status code 404;

  • Sistema gestione 404 basato solo sulle URL, sostanzialmente l’utente viene reindirizzato ad un pagina web interna al sito web la cui url è simile a quella della risorsa non trovata. Ad esempio se l’utente arriva alla pagina con status code 404:

www.bytekmarketing.it/ottimizzazione-seo/screaming-frog.html Lo script elimina un numero N di caratteri dall’URL (definiti in base alla media della lunghezza delle URL), supponiamo N=5. Estrae l’URL così ottenuta ed effettua una richiesta di confronto in database per trovare l’URL contente più caratteri uguali e che non restituisca 404 e in caso manda in 301. Se non trova nessuna corrispondenza manda in 404. Il sistema si può migliorare utilizzando le API Dandelion (o altro sistema di classificazione) sulle keyword nell’URL e in mille altri modi; il limite è solo la creatività.

Link di esempio: http://www.skyscanner.it/hote

Gestione Delle URL Per un CMS SEO Friendly

Le URL devono essere “parlanti” e personalizzabili mediate riscrittura, magari definibile dall’utente pagina per pagina e comunque con un pattern di base.

E’ importante poi che nel CMS ci sia un alert che avvisa l’utente quando sta utilizzando una URL già esistente nel sistema; questo accorgimento evita problemi di duplicazione dei contenuti sia livello di pagine sia nella lista prodotti (2 o più prodotti identici nella stessa vista prodotti).

E’ necessario sempre essere attenti a evitare il bypass di questo controllo da parte di script esterni - es. iniezioni da sincronizzazione in wordpress che fanno in modo che la stessa URL di prodotto restituisca due o più prodotti nella stessa pagina.

Metodi Per Il Redirect e il Rewriting Delle URL

Su un server Apache è possibile implementare i redirect nel file .htaccess utilizzando le direttive Redirect e RedirectMatch, altre direttive avanzate sono mod_rewrite.

E’ possibile creare le regole di riscrittura delle url manualmente oppure utilizzando dei tool online molto potenti. Link di approfondimento: http://www.generateit.net/mod-rewrite/index.php

Canonicalizzazione

ll tag canonical permette di risolvere l’annoso problema dei contenuti duplicati per la presenza di parametri GET aggiuntivi o versioni doppie della stessa pagina. Se abbiamo contenuti duplicati, con questa regola, comunichiamo a Google che sostanzialmente deve considerarli come pagina unica.

Il programmatore deve assolutamente inserire nel CMS la possibilità per il cliente di personalizzare il canonical e gestire comunque in automatico questa feature. E’ consigliato l’utilizzo di canonical autorefenziali per esempio se vogliamo implementare un sistema di referral link per collaborazioni commerciali - affiliazione. Come pagina canonica va scelta quella con una migliore leggibilità sia per gli utenti sia per il crawler.

Link di approfondimento: http://seoblog.giorgiotave.it/rel-canonical/2116

Robots.txt - Meta Robots - Xrobots Tag

Senza scendere nei dettagli di configurazione, diciamo che il file robots.txt fornisce direttive al motore di ricerca, regola il crawling ma non l’indicizzazione delle pagine.

Il meta robots può essere responsabile dell’indicizzazione delle pagine ed è bene renderlo dinamico e gestibile da pannello di amministrazione, sia a livello globale sia a livello di pagina, singolo articolo/prodotto, singola categoria etc.

X-robots-tag è uno strumento per il controllo dei bot dei motori ricerca. X-robots-tag permette di avere flessibilità e pieno controllo del bot dei motori di ricerca e indicizzazione del contenuto, in misura maggiore rispetto al robots. txt e al meta tag robots, anche in questo caso è bene implementarlo all’interno del CMS che stiamo progettando.

Link di approfondimento (Motori di Ricerca di Enrico Altavilla continua a essere una buona risorsa da 15 anni!): http://www.motoricerca.info/robots.phtml

Gestione Del Robots Da Backend

Potrebbe essere utile generare dinamicamente il file robots.txt dall’amministrazione del nostro CMS, senza accedere tramite protocollo FTP. Si tratta quindi di creare un file di puro testo utilizzando PHP. I dati in input possono essere presi da un form, cosi ogni volta che serve apportare modifiche abbiamo tutto sotto controllo.

Attenzione al file robots.txt: inserire una guida dettagliata direttamente nell’amministrazione. Può essere utile dare la possibilità di inserire all’interno del file robots.txt anche i percorsi delle sitemap XML.

La Sitemap Per un CMS SEO Friendly

La sitemap è un singolo file in formato XML (eXtensible Markup Language). Inventato e pubblicato da Google nel 2005, il Sitemap Protocol permette ai webmaster di far conoscere ai motori di ricerca quali pagine del proprio sito indicizzare, evitando che il loro bot ne salti qualcuna. Il nostro CMS deve avere un sistema di generazione sitemap interno, dando la possibilità al cliente di generare una sitemap specifica per tipologia di contenuto (una per le immagini, una per le news, per i video, etc). La funzione che si occupa di creare sitemap non deve includere, ad esempio pagine con no-index e che restituiscono errori (ad esempio 404 o 500).

Una soluzione interessante potrebbe essere di creare una versione grafica della sitemap, in modo tale da avere più chiara la struttura di link interna al nostro CMS.

Grafico realizzato con il tool online: http://try.powermapper.com/demo/SortSite

RSS Feeds

Se il CMS è in grado di creare RSS Feed potremo fornire anche questa utile funzione ai nostri lettori. Fondamentale per siti che pubblicano news e articoli. Valutare anche il formato Atom.

Duplicazione Contenuti

I contenuti dei nostri testi, inutile dirlo, devono essere unici e scritti seguendo una struttura SEO friendly. Si può ipotizzare di creare un alert per verificare la presenza di contenuti uguali in database e raffinare lo script di controllo, non limitandolo a tutto il contenuto, perché almeno che non si faccia il mero “copia e incolla” di un stesso articolo, è difficile che ci siano testi lunghi duplicati; il motore di ricerca controlla la presenza di piccoli segmenti di testo (5 o 6 parole) e li confronta con i contenuti dell’intero sito web, con la conseguenza che il motore può catalogare dei testi come duplicati quindi perdono di originalità. In alternativa, se i contenuti sono già indicizzati si può utilizzare l’operatore site: di Google.

Si può valutare inoltre l’utilizzo dell’integrazione con Copyscape API: http://www.copyscape.com/api-guide.php

Dandelion

Dandelion è uno strumento italiano che permette di identificare i concetti in un testo e non più in parole chiave. Lo strumento permette di capire ciò di cui si sta parlando in un articolo, è in grado di riconoscere concetti e di risolvere eventuali omonimie (ad esempio la lira come strumento musicale o come moneta, esempio fornito da Dandelion -> provate con “Ciampi aveva la lira in mano” e “Nerone aveva la lira in mano”).

Permette inoltre di identificare i termini anche se sono scritti in forma alternativa o parziale. Link: https://dandelion.eu

Gestione Correlati

La gestione di contenuti correlati è utile sia nel caso in cui ci troviamo a gestire un blog sia nel caso stiamo gestendo un eCommerce. E’ utile per migliorare l’esperienza utente e aumentare il tempo di permanenza sulla pagina, riducendo la frequenza di rimbalzo.

Sostanzialmente si tratta di mostrare contenuti collegati concettualmente all’articolo che l’utente sta leggendo. Nel nostro caso possiamo ipotizzare un sistema di tag: diamo la possibilità di inserire una o più etichette per ogni contenuto e mostriamo poi i contenuti sulla base delle etichette assegnate. Uno dei limiti di un sistema di tag è di fornire un contenuto non molto pertinente e concettualmente non sempre correlato alla risorsa che l’utente sta leggendo, legato sostanzialmente a problemi di natura “umana”:

  • Una cattiva catalogazione dei testi;

  • Un “over-tag” dei testi;

  • Un uso dei tag troppo selettivi;

  • Un uso di tag diversi da persona a persona;

  • Un metodo di catalogazione diverso da persona a persona.

Una valida soluzione per sostituire il sistema di tag e quindi gestire i contenuti correlati può essere l’implementazione tramite API di Dandelion. Una proposta consiste nell’effettuare in prima analisi una classificazione del testo con l’API “text classification”. Questa API classifica i documenti in una serie di classi definite dall’utente (in un insieme di modelli).

In un secondo passaggio utilizziamo “The Entity Extraction API reference”; attraverso questa API il nostro CMS è in grado di assegnare automaticamente dei tag ai nostri articoli, estraendo delle entità; Per mostrare un contenuto correlato ci baseremo sul testo, sull’articolo o sul prodotto con un maggior numero di entities (entità). Ok ma in pratica?

Lo script per la gestione dei correlati dovrà lavorare nel seguente modo, con un processo ideato da noi in azienda (ma sicuramente migliorabile … siamo a caccia di consigli!):

  • Esegue un processo di indicizzazione degli articoli;
  • Text Classification Step - classifica i contenuti sulla base di concetti estratti;

  • Se non riesce a trovare nessuna classificazione prevalente, ciascun articolo verrà classificato come “Generalista”. Per ovviare a questo inconveniente e rendere più preciso il sistema si può creare un vocabolario personalizzato con le API messe a disposizione da Dandelion;

  • Tutte le classificazioni così ottenute vengono inserite nel database in un apposito campo;

  • Entity Assignment Step - Esegue nuovamente il processo di classificazione per:

  • Estrarre le entities da ogni articolo e inserirle in database;

  • Correlation Step: Per ogni articolo vengono trovati i 5-6 articoli della stessa categoria (da text classification step) che condividono il maggior numero di entities estratte;

  • Tali articoli vengono salvati in database come associati all’articolo appena analizzato e il processo continua.

Sistema Di Backup Interno

Anche se molti servizi di hosting forniscono il servizio di backup e di ripristino, è buona regola provvedere periodicamente ad effettuare un backup dell’intero CMS (FTP + Database) e soprattutto prima di apportare modifiche strutturali al sito web, quindi in fase di progettazione del CMS prevediamo anche la creazione automatica di 3 backup (giornaliero, settimanale e mensile), che si sovrascrivono a scadenza.

Concludendo

In conclusione: CMS gratuito plugin based Vs CMS proprietario, quale è la soluzione migliore? Dipende. Dipende dalle esigenze che emergono in fase di progettazione, dalla flessibilità del progetto e dal budget a disposizione. E’ possibile implementare tutte le soluzioni qui descritte anche su un CMS già esistente; con un approccio tecnico alla SEO il solo limite è l’immaginazione!

Condividi questa pagina


CMS SEO Friendly

roberto paolucci | 18 May 2016

News

Potrebbe interessarti anche

Siamo parte del gruppo

Datrix SPA
Insieme a

Innova insieme a noi

Condividi con noi i tuoi obiettivi e scopri come possiamo crescere insieme

© 2020 ByTek SRL - P. IVA: 13056731006 - REA: MI - 2562796 - Privacy Policy - Cookie Policy