[it] cms proprietari creati da teaminterni: le best practices da seguire!
TRANSCRIPT
#wmf15Federico Sasso @vseostudio
CMS Proprietari creati da team interni:
le best practices da seguire!
#wmf15Federico Sasso @vseostudio
Mi presento
Federico Sasso
● Architetto software● Ex in-house SEO● Moderatore Forum GT● Autore di software SEO
● ...“smanettatore” di motori CMS, forum, wiki, blog...
#wmf15Federico Sasso @vseostudio
Alzate la mano
● Quanti sviluppatori web?● Professionisti SEO?● Web Marketers?
E quanti hanno avuto a che fare con CMS custom?
#wmf15Federico Sasso @vseostudio
Oggi vi parlerò di CMS “custom”
● CMS “custom“: cosa e perché
● Quando il CMS ancora non c'è(o c'è solo parzialmente)
● CMS custom e SEO
#wmf15Federico Sasso @vseostudio
Perché un CMS custom nel 2015?
● sistemi legacy su cui si è investito● integrazione con sistemi interni
(aree riservate, CRM non web, etc..)● mancanza supporto feature particolari in
sistemi industriali/open● licenze open non compatibili con uso● licenze open non compatibili con policy
aziendali (licenze contaminanti, supporto tecnico percepito mancante)
● skill team interno diverse, learning curve ripida● barriere di mentalità aziendale● versioni web server, OS, etc.. non compatibili,● limitazioni eventuali hoster
#wmf15Federico Sasso @vseostudio
Perché un CMS custom nel 2015?
Obiettivo:
Rendere editabile, „SEOabile“...
...abbattendo i costi di integrazione
#wmf15Federico Sasso @vseostudio
Perché un CMS custom nel 2015?
Vi sono casi in cui..
L'integrazione è economicamente preferibile alla migrazione.
#wmf15Federico Sasso @vseostudio
Editabile e „SEOabile“
Si dice:
„Content is King“
...e allora deve essere editabile!
#wmf15Federico Sasso @vseostudio
Mirate al minimo indispensabile
CMS con poche funzioni,
ma che funzioni
#wmf15Federico Sasso @vseostudio
Gli elementi minimi editabili
1)
Il titolo, prima di tutto!
Suggerimento:sia title che H1
#wmf15Federico Sasso @vseostudio
Gli elementi minimi editabili
2)
Il corpo principale del testo di pagina
se poi si possonoaggiungere altri riquadri,
meglio
#wmf15Federico Sasso @vseostudio
Gli elementi minimi editabili
3)
Possibilmente unameta-descrizione
che sia visibile nella pagina
#wmf15Federico Sasso @vseostudio
Gli elementi minimi editabili
5)
Una voce di Menu
Ad affiancare il titolo
#wmf15Federico Sasso @vseostudio
Mirate al minimo indispensabile
Rendete la vita semplice anche a chi
per mestiere non guarda mai la SERP
...o questa degraderà nel
tempo!
#wmf15Federico Sasso @vseostudio
Mirate al minimo indispensabile
Per editare il Titolo basta un semplicissimo campo di testo
#wmf15Federico Sasso @vseostudio
CMS custom
Possiamo anche re-inventare la ruota,
...ma non i bulloni!
#wmf15Federico Sasso @vseostudio
Mirate al minimo indispensabile
Scegliete un editor HTML il più facile e semplice da integrare
Hint:
prevedete dei „segnaposti“
#wmf15Federico Sasso @vseostudio
Mirate al minimo indispensabile
Di editor HTML con licenza Open Source agevole vi è pieno.
Es: CKEditor, TinyMCE, etc...
Facili da introdurre anche
con policy aziendali ostili
all'OSS
#wmf15Federico Sasso @vseostudio
Importa da Word
Usare quel contenuto HTML vuole dire fare sì che le vostre pagine passino da così:
#wmf15Federico Sasso @vseostudio
Importa da Word
…non è perfetta => “sanitize” prima di salvare
Esiste la funzione “Incolla da Word”
#wmf15Federico Sasso @vseostudio
Editing dei contenuti
Attenti ai Timeout!La sessione di lavoro „scade“ e chi edita rischi di perdere il lavoro fatto.
Hint: usare „refresher“ di sessione
#wmf15Federico Sasso @vseostudio
Sistema di pre-produzione
DB DB
Organizzatevi con un sistema di pre-produzione (se non esiste già)
#wmf15Federico Sasso @vseostudio
Importare contenuti in DB
● Lavorare su sistema pre-produzione● automatizzato (scraper, parser html), o a
mano
DB
#wmf15Federico Sasso @vseostudio
Quando i contenuti saranno su DB
DB
Potremmo generare ogni volta le pagine estraendone i testi dal database?
#wmf15Federico Sasso @vseostudio
Quando i contenuti saranno su DB
DB
Potremmo generare ogni volta le pagine estraendone i testi dal database?
#wmf15Federico Sasso @vseostudio
Quando i contenuti saranno su DB
Non possiamo „colpire“ continuamente il database.
Il problema di performance ha tre soluzioni:
#wmf15Federico Sasso @vseostudio
Quando i contenuti saranno su DB
Non possiamo „colpire“ continuamente il database.
Il problema di performance ha tre soluzioni:
1) Caching
#wmf15Federico Sasso @vseostudio
Quando i contenuti saranno su DB
Non possiamo „colpire“ continuamente il database.
Il problema di performance ha tre soluzioni:
1) Caching
2) Caching
#wmf15Federico Sasso @vseostudio
Quando i contenuti saranno su DB
Non possiamo „colpire“ continuamente il database.
Il problema di performance ha tre soluzioni:
1) Caching
2) Caching
3) Caching
#wmf15Federico Sasso @vseostudio
Quando i contenuti saranno su DB
DB
Il database è un „collo di bottiglia“, occorre minimizzarne gli accessi.
CACHE
#wmf15Federico Sasso @vseostudio
Gli elementi base del CMS
Serve una mappa della struttura del sito!
#wmf15Federico Sasso @vseostudio
Gli elementi base del CMS
La mappa è una descrizione di una stuttura gerarchica
Home Page
Prodotti Servizi Blog
Prod. A Prod. A Serv. A Serv. B Post A Post 2
#wmf15Federico Sasso @vseostudio
Gli elementi base del CMS
Dalla mappa il CMS può ricavare tutto il resto
Home
Prodotti Servizi Blog
#wmf15Federico Sasso @vseostudio
Gli elementi base del CMS
● Mappa „statica“, tipicamente descritta in XMLStruttura definita rigidamente
● Mappa „dinamica“, tipicamente descritta su DBStruttura espandibile in orizzontale e/o verticale
● E vie di mezzo
#wmf15Federico Sasso @vseostudio
Gli elementi base del CMS
I nodi della mappa possono essere generalizzati
Home Page
Prodotti Servizi Blog
Prod. 1...N Serv. 1...N Post 1...N
#wmf15Federico Sasso @vseostudio
Gli elementi base del CMS
...e localizzati
Prodotti Servizi Blog
Prod. 1...N Prod. 1...N Post 1...N
Home EN
Products
Prodotti
Services
Servizi
Blog EN
Blog
Prod. 1...N Serv. 1...N Post 1...N
Home IT
#wmf15Federico Sasso @vseostudio
CMS custom e SEO
...e ora passiamo alla SEO
„L'è tutto sbagliato, l'è tutto da rifare!“
#wmf15Federico Sasso @vseostudio
CMS custom e SEO
Si parte da un'analisi SEO on-site con il crawler preferito
#wmf15Federico Sasso @vseostudio
CMS custom e SEO
● Titoli, tutti uguali (spesso il nome brand)● No meta description● Testi da rifare (annegati nel codice HTML)● Url duplicati● Grande profusione di parametri querystring● Nomi parametri con case diverso (IIS)● Nomi parametri confondibili con ID di sessione● Localizzazione lingua con variabili di sessione● Localizzazione lingua con parametri querystring● Redirect da root a versioni localizzate errati
(301, refresh, js)● Dipendenza da accept-language HTTP header● Link in Javascript
#wmf15Federico Sasso @vseostudio
CMS custom e SEO
Per titoli, meta descrizioni e testi, abbiamo già lavorato a una soluzione:
#wmf15Federico Sasso @vseostudio
CMS custom e SEO
Se non riusciamo a liberarci dei parametri QS, possiamo controllarli definendoli nella mappa, in termini di nomi
Home Page
Prodotti Servizi Blog
Prod?prod-id={0}
Serv?serv-id={0}
Post?post-id={0}
..e li useremo per generare gli URL canonical
#wmf15Federico Sasso @vseostudio
CMS custom e SEO
Se l'elenco dei parametri di QueryString è definito dal nodo, grazie a tecniche di Url Rewriting possiamo passare da:
/Prodotti/Prod?prod-id=42
a un URL più „SEO/human friendly“:
/Prodotti/42
Prodotti
Prod?prod-id={0}
#wmf15Federico Sasso @vseostudio
CMS custom e SEO
Localizzare i test impostando in base a variabili di sessione la lingua ...
...è il male!
/Prodotti/42 (lingua Italiana)
/Prodotti/42 (lingua Inglese)
Le lingue si mischieranno e nessuno comprenderà più...
#wmf15Federico Sasso @vseostudio
CMS custom e SEO
Nelle pagine che possono mostrare lingue diverse, l'indicazione della lingua deve essere nell'URL:
/Prodotti/Prod?prod-id=42&lang=it
/it/Prodotti/Prod?prod-id=42
Hint: è di molto preferibile la „cartella“
#wmf15Federico Sasso @vseostudio
CMS custom e SEO
● I bot non esibiscono lingua● La lingua del browser non è
affidabile● E nemmeno l'IP● Se lo fai, sia un 302● E fallo solo la prima volta!
Il redirect in base alla lingua dell'utente, se proprio lo si vuole fare...
#wmf15Federico Sasso @vseostudio
Conclusioni
Fare un CMS custom ● Può avere senso
economicamente● (minimale) non è poi
così difficile● Migrare per passi● Occhio alle prestazioni● E occhio alla SEO!
#wmf15Federico Sasso @vseostudio
Riepilogo
● CMS “custom“: cosa e perché
● Quando il CMS ancora non c'è(o c'è solo parzialmente)
● CMS custom e SEO