Ottimizzazione di CMSMS da un punto di vista SEO

La discussione sul CMS Made Simple in italiano.
Locked
alby

Ottimizzazione di CMSMS da un punto di vista SEO

Post by alby »

Apro su proposta di axxe16 questo topic sul SEO con CMSMS.
Mi piacerebbe che i post siano, come nella sezione APPLICATA sulla legge 4/2004, soluzioni come applicazione PRATICA (eventualmente aprirne un'altra per discussioni più generali).

Alby
axxe16

Re: Ottimizzazione di CMSMS da un punto di vista SEO

Post by axxe16 »

Di seguito un breve elenco degli elementi che ottimizzo da un punto di vista SEO su CMSMS:

- TITLE: i titoli dovrebbero essere SEMPRE ottimizzati conservando al contempo un rapporto semantico con i contenuti di pagina. Visto che spesso non si riesce ad ottimizzare TUTTE le pagine del sito in modo specifico si può adottare un approccio misto: tutte le pagine avranno automaticamente un title con una struttura del genere [titolo della pagina] - [nome del sito], nei casi in cui si desidera un maggior controllo sul contenuto del title questo corrisponderà ad un blocco. Per farlo basterà inserire qualcosa del genere:

Code: Select all

{content block='titolo' assign='titolo' oneline='true'}
{if $titolo != '' &&  $titolo != -1}
<title>{$titolo}</title>
{else}
<title>{title} - {sitename}</title>
{/if}
Se poi si vuole dare una maggior struttura al title generato automaticamente, sarebbe utile stampare il titolo del padre nei figli, in modo da avere una maggior tematizzazione delle pagine di 2° e 3° livello. In questo caso può aiutarci il modulo CGSimpleSmarty

Code: Select all

{content block='titolo' assign='titolo' oneline='true'}
{if $titolo != '' &&  $titolo != -1}
<title>{$titolo}</title>
{else}
{$cgsimple->get_root_alias('','padre')}
{if $page_alias != $padre}
{$cgsimple->get_page_title($padre,'titoloPadre')}
{assign var=titoloPadre value = $titoloPadre|cat:' - '}
{/if}
<title>{$titoloPadre}{title} - {sitename}</title>
{/if}
lo script è un evoluzione del precedente e stampa il titolo del padre nel caso in cui non si compili il blocco "titolo". Il titolo del padre viene stampato solo se la pagina in cui ci troviamo non è di primo livello, in quel caso la variabile $titoloPadre viene lasciata vuota.

Per i title delle pagine destinate a visualizzare le NEWS è sufficiente inserire nel template:

Code: Select all

{content assign="content"}
<title>{$entry->title}</title>

- META: anche in questo caso il meta description potrebbe essere ottimizzato solo per le pagine più importanti mentre negli altri casi si potrebbe attingere al content della pagina. Si può ottenere questo comportamento in questo modo:

Code: Select all

{content assign='contenuto'}
{content block='description' assign='description'}
{if $description != '' && $description != -1}
<meta name="Description" content="{$description|strip_tags|truncate:160}" />
{else}
<meta name="Description" content="{$contenuto|strip_tags|truncate:160}" />
{/if}
Ricordandosi di inserire poi {$contenuto} anche nel corpo di pagina. Strip_tags elimina i tag html indesiderati mentre truncate riduce a 160 caratteri il testo.

Il meta keywords può essere tralasciato (ormai i motori non lo considerano più), se si desidera inserirlo comunque è sempre possibile scrivere:

Code: Select all

{content block='keywords' assign='keywords'}
{if $keywords != '' && $keywords != -1}
<meta name="Keywords" content="{$keywords}" />
{/if}
- CORPO DI PAGINA:il corpo di pagina dovrebbe sempre contenere un titolo di primo livello (H1) contenente il titolo della pagina, meglio se non esattamente uguale al title (ma se avete inserito gli script precedenti questo non accadrà) ma comunque a tema con il contenuto di pagina.
All'interno dei contenuti è utile inserire dei deep link a contenuti a tema con la pagina in cui ci si trova. E' meglio evitare espedienti automatici per non rischiare una over ottimizzazione. Ad ogni modo esiste un modulo che permette di taggare le key desiderate (Glossary). Una volta installato andate in gestione termini per inserire i termini e le loro definizioni poi andate in Preferenze amministrazione | Opzioni dei link del Glossario | Filtro il sito per i Termini flaggate l'opzione e premete submit per attivare il linking automatico dei termini nelle pagine.
Io poi utilizzo anche un plugin che mi permette di creare link al modulo search, allo scopo di creare una matrice di link più fitta fra le pagine del sito. Al momento il plugin è ancora in fase embrionale, prima o poi lo pubblicherò. ;)

- SITEMAP: per generarlo c'è "SiteMapMadeSimple", il modulo funziona piuttosto bene e genera una mappa statica che è possibile notificare via webmaster tools.
Last edited by axxe16 on Mon May 03, 2010 6:46 pm, edited 1 time in total.
Locked

Return to “Italian - Italiano”