Per realizzare un sito web è facile trovare online diverse soluzioni gratuite e molte opensource come ad esempio WordPress o Joomla o per i più esperti Drupal o Magento. Il problema che più comunemente si riscontra è la compatibilità con il tipo di progetto che stiamo realizzando.

In molti casi è necessario ottenere un CMS personalizzato, su misura. In questo articolo ci occuperemo delle regole per la progettazione di un CMS SEO friendly e ci siamo fatti aiutare da Bytek Marketing, agenzia di inbound marketing e sviluppo web.

Personalizzazione Title

Uno dei tag d’obbligo per l’head di una pagina HTML è il title, ovvero la definizione sulla barra di navigazione del browser. In aggiunta al titolo che stiamo costruendo è importante inserire anche il nome della pagina di navigazione oppure le keyword di riferimento per quel contenuto. In aiuto ci può venire il Keyword Planner.

Il programmatore deve offrire al proprio cliente la possibilità di personalizzazione del titolo della singola pagina e anche prevedere l’implementazione di un sistema di alert nel caso in cui il title sia duplicato o superi gli 80 caratteri. Il title può essere generato in modo automatico con delle variabili secondo le aree previste, come ad esempio prodotto specifico, categoria e via dicendo. Importante è anche considerare l’implementazione di uno snippet che consenta l’anteprima.

Per essere certi di rispettare i parametri previsti è consigliabile inserire uno script in jquery che conteggi i caratteri in fase di scrittura del title con un alert se si superano gli 80 caratteri spazi inclusi.

Personalizzazione Descrizione

Un altro aspetto fondamentale nella costruzione è la personalizzazione della descrizione. Nella lista dei meta-tag si trova la meta tag description, l’elemento che fornisce le informazioni ai motori di ricerca. Ciò che viene inserito in questo segmento è fondamentale in quanto è spesso visualizzato dagli utenti nelle SERP. Possedere un sito con una meta description accurata può avere una buona influenza sul CTR della pagina.

Chi redige i testi per la personalizzazione della descrizione lo deve fare in modo molto accurato e approfondito rispettando le medesime regole valide per il title tag, impostando però un alert sulla lunghezza a 155 caratteri.

Inserire uno script in jquery che conteggi i caratteri in tempo reale durante la scrittura della descrizione con un alert sui 155 caratteri inclusi.

Gestione del Main Menu

L’architettura influenza direttamente gli MDR e gli utenti stessi. È importante valutare a quanti click di distanza può essere raggiungibile un contenuto, ossia la profondità di navigazione. Ciò che risulta difficile è il rischio di compromissione della navigabilità e non creare situazioni disorientanti per l’utente. La funzionalità degli spider nonostante le evoluzioni recenti rimangono fedeli al loro compito principale ovvero trovare le pagine web seguendo i collegamenti e salvando le risorse delle varie pagine nell’indice di ricerca. Scopriamo come creare un menu SEO friendly. La soluzione migliore è connettere tutti i contenuti disponibili alle voci di menù affinché risulti spiderabile ovvero che per lo spider sia semplice passare da un documento ad un altro. Ciò non è possibile nel caso in cui disponga di molti contenuti, per questo è importante che i contenuti stessi siano tra loro connessi affinché l’operato dello spider sia più semplice.

Nella figura sopra è possibile vedere lo spider che arriva dalla Pagina A e riesce ad accedere unicamente a B e C in quanto nella pagina A sono presenti dei link alle 2 pagine, ma poi lo spider si ferma non trovando altri collegamenti ipertestuali. Questo è il motivo per cui anche il menù deve presentare una medesima struttura di connessioni.

Struttura

Progettare la struttura di testo, senza l’impiego di sintassi di flash, Javascript; se non si può farne a meno offriamo agli spider una struttura alternativa e per gli utenti che non riescono a visualizzare queste tecnologie.

Gestione dei Cookies e delle Sessioni ID

È da tenere presente la necessità di non limitare la possibilità degli utenti di visualizzare una pagina su redirect basati sui cookies o con sessioni ID. Ciò perché lo spider avrebbero le stesse limitazioni. Cosa avviene dunque in pratica?

Lo spider non ha cookies abilitati e non può affrontare le sessioni ID in modo corretto. Pertanto ogni visita che il crawler effettua ottiene un ID di sessione diversa e visualizza tali url con sessioni ID differenti dalle url. Limitare il contenuto alle sessioni è quindi scorretto. La struttura del menù di navigazione definisce la profondità della navigazione e per lo spider la struttura può modificare le metriche.

Immagini

Le immagini sono fondamentali per tutte le tipologie, non solo per quelli dedicati all’e-commerce. Il CMS deve possedere funzioni di amministrazione e controllo avanzate. Per esempio devono poter essere personalizzate le didascalie, il nome e il tag alt e prevedere l’implementazione di schema.org e di effettuare tagli di immagine secondo i breakpoint del tema. Anche il path dell’immagine deve risultare modificabile.

Gli spider sono in grado di identificare, riconoscere ed indicizzare anche le immagini. Per tale motivo è consigliabile l’impiego di immagini di proprietà, di cui si possiedono i diritti, anche per migliorare l’indicizzazione. È preferibile inoltre scegliere immagini in alta qualità per stimolare il click negli utenti. Meglio non posizionare sulla barra laterale, nell’header o nel footer le immagini.

Paginazione

La paginazione deve essere strutturata in modo organizzato, con l’impiego di tag rel e prev che indichino come spostarsi all’interno dei contenuti paginati. In questo modo anche gli spider non salteranno i contenuti presenti.

Ipertestuali

I link consentono di connettere una pagina HTML a qualunque tipo di file. Il browser che stiamo utilizzando reagirà in modo diverso a seconda del tipo di file a cui indirizza il collegamento.

Deve consentire di gestire gli attributi rel e target e gli alert con codice di errore e allo stesso tempo informare se stiamo inserirendo un redirect.

I link accessibili da web form non sono visibili per gli spider. È consigliabile non inserirli verso pagine bloccate da robots.txt e con rel=”NoFollow”. Non è utile nemmeno inserire collegamenti verso pagine contenenti centinaia di altri link. All’interno degli iframe non ne vanno inseriti.

Static Caching Option

Tale opzione è consigliata per i CMS che contengono pagine ad alto traffico dai social media e dai siti di news.

Breadcrumb Navigation

Possedere un sistema Breadcrup è interessante in primo luogo per l’utilizzatore che viene guidato nella navigazione tra le pagine, ma anche come rinforzo per la struttura di connessioni interne.

Redirect 301

Il Redirect 301 è il codice di stato del protocollo HTTP che informa il client che la pagina richiesta non è più disponibile all’indirizzo originario ma che è stata spostata in modo permanente.

Deve consentire di personalizzare il 301 impostando verso una risorsa il redirect permanente.

Stats code 404

Un errore 404 indica la mancata disponibilità di un contenuto o prodotto. I 404 hanno molta influenza sull’esperienza d’uso dell’utente, pur non avendo influenza sul ranking. È buona norma evitarli o come minimo ridurne al massimo la quantità.

Gestione 404

Per controllare le pagine che danno lo status 404 si possono imboccare diverse vie. Una modalità è il monitoraggio da Search Console aprendo il menù laterale, cliccando su Scansione, successivamente su Errori di Scansione. Un altro modo è l’impiego di uno spider come ad esempio Screaming Frog. Il secondo metodo è preferibile in quanto i dati ottenuti sono in tempo reale e fornisce un maggior numero di informazioni.

I siti di piccole dimensioni hanno minori problemi a gestire i 404. In questi casi è sufficiente sostituire il contenuto mancante nell’url rilevata. Quando invece il sito è di grandi dimensioni e con un gran mole di dati la gestione del problema non è fattibile in questo modo. In questo caso si devono estrarre le liste di 404 in Excel e analizzare i dati raccolti per comprendere la causa dell’errore e procedere con lo studio di una soluzione nel modo più automatico possibile.

Si possono progettare dei sistemi automatizzati per gestire i 404, ne presentiamo 2 diversi:

  1. Creare uno script in php sulle basi dell’API di Semrush per portare l’utente sulla pagina correlata a quella che causa l’errore 404. Quindi se l’utente arriva sulla pagina non esistente come da esempio bytekmarketing.it/ottimizzazione-seo-2016.html lo script sarà in grado di analizzare le keywords connesse a questa pagina, di scartare le pagine non inerenti e reindirizzare su quella strettamente connessa con lo status code 404.
  2. Un sistema di gestione del 404 fondato sulle url. In questo caso l’utente viene indirizzato ad una pagina del sito con un url similare a quella del contenuto cercato e non trovato. Per esempio se il lettore incappa nella pagina d’errore 404 seguente bytekmarketing.it/ottimizzazione-seo/screaming-frog.html lo script eliminerà un numero dato di caratteri dall’url, la confronterà con quanto presente nel database, verificherà che non dia errore 404. Se non trova corrispondenze aumenterà il valore di caratteri e ricercherà nuovamente fino a trovare la più simile. Dopo un certo numero di tentativi stabiliti, nel caso non vengano trovate corrispondenze lo script porterà ad una pagina standard o alla home page.

Da 404 a 301

Non tutti gli errori 404 sono risolvibili o per lo meno non è sempre possibile farlo in modo semplice. I metodi che abbiamo visto sopra possono essere impiegati anche per assegnare in modo automatico dei 301 alle pagine che corrispondono a “Not Found”. All’interno possiamo creare un’area backend in cui gestire la sincronizzazione o impostare un cronjob che avvii il ciclo php di controllo delle pagine alla ricerca di risorse con 404 e assegni loro il codice 301. Quando siamo invece di fronte a web di dimensioni contenute possiamo optare per un pulsante di sincronizzazione che avvii il controllo nel database.

È importante aggiungere la possibilità di consultare lo storico dei redirect effettuati dopo aver analizzato nel dettaglio i 404 per comprenderne l’origine e per valutare se abbia un senso tramutarli in 301.

A periodi stabiliti possiamo analizzare i report e il traffico per comprendere se sia utile lasciare le pagine con redirect 301 oppure se sia preferibile rimuoverle dal sistema.

Gestione delle URL

Le url dovrebbero comunicare, non costruite sulla base di keyword forti e con grossi volumi di ricerca. È utile inserire un alert che informi l’utilizzatore se la url è già stata impiegata, in questo modo non saranno presenti duplicati sia in termini di contenuti che di prodotti.

Metodi per il Redirect e il Rewriting delle URL

Utilizzando un server Apache si possono implementare redirect all’interno del file .htaccess usando Redirect e RedirectMatch e altre direttive avanzate sono mod_rewrite. Si possono creare delle regole di riscrittura delle url manuali o con l’impiego di strumenti online come per esempio http://www.generateit.net/mod-rewrite/index.php

Canonicalizzazione

Il canonical permette di nascondere i contenuti duplicati e di dare maggior peso al prodotto o al contenuto di una pagina. Utilizzando questo sistema comunichiamo a Google che i contenuti duplicati devono essere trattati come un’unica pagina.

Un programmatore non può esimersi dall’inserire l’opzione che consente al cliente la personalizzazione del canonical. Se si intende inserire un sistema di referral per collaborazioni commerciali è consigliabile l’utilizzo di canonical autoreferenziali. La pagina canonica dovrebbe essere quella con migliore leggibilità per gli utenti quanto per il crawler.

Robots.txt – Meta Robots – XRobots Tag

Il file robots.txt istruisce e regola il crawling, ma non si occupa dell’indicizzazione delle pagine del sito. Il meta robots può essere utile per l’indicizzazione se dinamico e gestibile dal pannello di amministrazione.

X-robots-tag è lo strumento che consente di controllare i bot. Esso consente la flessibilità e il controllo dei bot oltre che l’indicizzazione del contenuto in modo più completo rispetto al robots.txt e al meta tag robots.

Gestione del Robots.txt da Backend

La generazione automatica del file robots.txt dall’amministrazione senza accesso all’ftp può essere utile. È sufficiente creare un file di testo con php. I dati possono essere presi da un form da cui gestire tutto. È preferibile inserire una guida al file robots.txt e illustrare i percorsi delle sitemap all’interno del file stesso.

Sitemap XML

La Sitemap, è un file unico in formato XML inventato nel 2005. Il protocollo Sitemap permette ai motori di ricerca di conoscere le pagine che vogliamo siano indicizzate al suo interno cosicchè il bot non perda nessuna. Il CMS dovrebbe possedere un generatore di sitemap specifica per il tipo di contenuto da indicizzare: uno per le immagini, uno per le news , uno per i video e via dicendo. La funzionalità non deve includere le pagine no-index e quelle che danno errore come le 404 o le 500. Può rivelarsi utile creare una sitemap grafica così da avere di fronte in modo chiaro tutta la struttura di connessioni interne.

Un grafico come quello qui presente è facilmente realizzabile con lo strumento indicato di seguito: http://try.powermapper.com/demo/SortSite

RSS Feeds

Quando il CMS consente la creazione di RSS Feed risulta più semplice scalare il ranking sui motori di ricerca di feed.

Duplicazione Contenuti

I testi dei contenuti presenti devono essere unici e realizzati con una struttura SEO Friendly. Possiamo creare un sistema di alert che verifichi la presenza di contenuti uguali all’interno del database e raffinare lo script di controllo. È raro che contenuti molto lunghi siano duplicati, per tanto impostiamo il sistema di ricerca su piccoli segmenti di testo da 5 o 6 parole.

Quando sono presenti dei duplicati lo spider che arriva con un crawl budget il testo perde link juice. Possiamo provvedere limitando l’accesso dello spider inserendo un iframe limitato dal robots.txt nel caso in cui abbiamo una parte notevole di testo duplicato. In questo modo il motore di ricerca vedrà la porzione unica della pagina.

Per impedire agli spider e agli utenti di vedere contenuti duplicati si possono impiegare tecnologie Flash o plugin o ancora consentire la visualizzazione agli spider ma non agli utenti. La miglior tecnica per favorire il ranking di un sito web è l’originalità, unita alle tecniche di spinning per creare nuovi contenuti da un testo base.

Dandelion

Dandelion consente l’identificazione dei concetti di un testo e non delle parole chiave. Si tratta di uno strumento utile per comprendere il tema di un articolo, che riconosce i concetti e risolve le ominimie, identificando i termini anche scritti in modo incompleto. Questo tipo di approccio di tipo semantico è quello che desta maggior interesse ai motori di ricerca.

Gestione Correlati

I contenuti correlati possono essere utili in molti contesti: sia all’interno di un blog che di un e-commerce. La gestione dei contenuti correlati è un servizio utile e apprezzato dall’utente e che allunga i tempi di navigazione sulla pagina oltre che ridurre le frequenze di rimbalzo. Con probabilità la presenza dei correlati è anche un fattore di ranking indiretto. La regola è di mostrare dei contenuti che siano connessi all’articolo letto in un dato momento impiegando un sistema di tag. Il limite del sistema delle etichette è che vengano forniti all’utente contenuti molto simili e concettualmente connessi a quanto sta già leggendo.

Per sostituire questo sistema possiamo gestire i correlati implementando le API di Dandelion. I testi vanno classificati con l’API text classification tramite le classi definite. Impiegando poi The Entity Extraction API reference il CMS riuscirà ad assegnare in modo automatico i tag agli articoli con delle entità. Per mostrare il contenuto correlato ci si basa sul testo o sul conteuto con maggior numero di entità. Lo script da realizzare dovrà indicizzare gli articoli, classificarli per concetti semantici (nel caso in cui non rientri nella classificazione diverranno Generalisti) e le classificazioni saranno raccolte in un database. Fatto questo lo script reindicizza i contenuti, contando le entities per ogni articolo e assegnerà ad ognuno i correlati in base alle entities più frequenti.

Struttura del Template

Infine, anche se non per importanza, deve essere dotato di una struttura grafica. Il sistema può anche non essere basato sui template. È possibile impiegare anche un framework come Bootstrap (versione attuale 3.3.) http://getbootstrap.com/

Sistema di Backup Interno

La maggior parte dei servizi di hosting offrono il backup e il ripristino. Ad ogni modo è preferibile tutelarsi ulteriormente da perdite importanti provvedendo ad un backup periodico dell’interno sistema CMS (ftp + database). Prima di effettuare modifiche alla struttura e durante la fase di progettazione provvediamo alla creazione di 3 backup: uno giornaliero, uno settimanale e uno mensile che a scadenza stabilita possano essere sovrascritti.

Concludendo: qual è la soluzione migliore tra un CMS gratuito basato sui plug in e uno proprietario? La risposta non è semplice. Ciò dipende dalle esigenze specifiche risultanti dalla progettazione, da quanto è flessibile il progetto e dal tipo di budget a disposizione.

Filippo Jatta

About Filippo Jatta

Filippo Jatta è consulente SEO dal 2008. Dottore magistrale in Organizzazione e Sistemi Informativi presso l'Università Luigi Bocconi di Milano.