Upload
brossi676
View
446
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Presentazione sulla ottimizzazione delle applicazioni web per i motori di ricerca tenutasi al 3° incontro (Novembre 2012) del PHP User Group di Pavia
Citation preview
SEOSearch Engine Optimization (parte 1)
Cesare Cinelli ([email protected])Consulente WebBase 315 Owner - www.base315.it
Bruno Rossi ([email protected])Senior Web DeveloperPHP 5.0 Zend Certified EngineerSun MySQL 5.0 Certified Developer
PHP Pavia User Group - http://pavia.grusp.org
Storia della rete e nascita dei motori di ricerca
La nascita di Internet
Internet e ARPAnet
World Wide Web
I motori di ricerca: Excite, Yahoo, Lycos, Altavista, Ask,
MSN search/Bing e l’arrivo di Google
Pagina 2 di 25 PHP User Group Pavia - 24/11/2012
Un motore di ricerca è un software che utilizza algoritmi per ricercare ed immagazzinare informazioni riguardanti le pagine web
Un motore di ricerca esegue le seguenti operazioni:
Lettura e raccolta dati
Indicizzazione e catalogazione
Assegnazione di punteggio via algoritmi specifici (quality score, Page Rank)
Interrogazione
Cos'è e come lavora un motore di ricerca
Pagina 3 di 25 PHP User Group Pavia - 24/11/2012
Google Page Rank
Pagina 4 di 25 PHP User Group Pavia - 24/11/2012
PageRank relies on the uniquely democratic nature of the Web by using its vast link structure as an indicator of an individual page’s value. In essence, Google interprets a link from page A to page B as a vote, by page A, for pageB. But Google looks at more than the sheer volume of votes, or links a page receives; it also analyzes the page that casts the vote. Votes cast by pages that are themselves ‘‘important’’ weigh more heavily and help to make other pages ‘‘important"
Ad una pagina che riceve un solo link da un sito molto importante viene attribuito uno score più alto rispetto ad una pagina che riceve molti link da pagine poco importanti!
Crea pagine per gli utilizzatori e non per i motori di ricerca!
SEO sta per Search Engine Optimization e cioè l'ottimizzazione delle pagine di un sito al fine del posizionamento all'interno di SERP (search engine results page) dei motori di ricerca
Parola chiave: ottimizzare!
Pagina 5 di 25 PHP User Group Pavia - 24/11/2012
Long tail e broad head
Pagina 6 di 25 PHP User Group Pavia - 24/11/2012
Molti click da chiavi generiche con l' intento di ricerca
Oppure, pochi click provenienti da ricerche tramite chiavi specifiche con ottime possibilità di conversione
I contenuti dovrebbero misturare in modo efficace sia chiavi “Broad Head” che chiavi “Long Tail”
Principali regole per l'ottimizzazione
Scrivi contenuti di qualità
Sviluppa una buona struttura HTML (validazione W3C)
Fai in modo di aderire alle regole di usabilità
Fai attenzione alla scelta del nome a dominio
Utilizza i meta tag
Fai attenzione alla struttura dei collegamenti
Utilizza sitemaps
Tieni monitorata la velocità di risposta del sito web (Google
Caffeine)
Fai attenzione ai codici di stato HTTP
Pagina 7 di 25 PHP User Group Pavia - 24/11/2012
Pagina 8 di 25
SEO Copywriting
PHP User Group Pavia - 24/11/2012
Usa un linguaggio dedicato al target
Scrivi testo snello, abolisci la ridondanza
Organizza il testo in brevi capitoli e paragrafi relativi ad un ben determinato concetto. Utilizza apposite intestazioni ed un unico font
Usa il buon senso e non inserire una esagerazione di piccoli capitoli all'interno di un'unica pagina
Spiega gli acronimi al loro primo utilizzo
Non metterti a giocare con caratteri speciali, minuscole e maiuscole, colori e maree di punti esclamativi
Velocità di risposta
Analisi con Google PageSpeed Insight
Ottimizzazione con Google PageSpeed Service o con mod_pagespeed per Apache
Usa il net tab di Firebug per valutare le modalità di caricamento delle risorse
Pagina 9 di 25 PHP User Group Pavia - 24/11/2012
Pagina 10 di 25
Metti il turbo
Allevia le fatiche del browser, favorisci il rendering della pagina con accorgimenti riguardanti le strutture HTML, le regole CSS e le intestazioni della risposta HTTP
PHP User Group Pavia - 24/11/2012
Metti il turbo
Utilizza tecniche di caching lato client o tramite proxy per evitare che i dati attraversino il network ad ogni richiesta
Pagina 11 di 25 PHP User Group Pavia - 24/11/2012
Metti il turbo
Minimizza l'ammontare dei dati spediti da ogni risposta server, ottimizza le dimensioni al fine di utilizzare al meglio il payload di ogni pacchetto dati (1460 byte, 1.426KB)
MTU Ethernet = 1500 byte Intestazioni IP = 20 byte Intestazioni TCP = 20 byte Carico utile (payload) = 1500 - 20 - 20 = 1460 byte
Pagina 12 di 25 PHP User Group Pavia - 24/11/2012
Metti il turbo
Se la risposta ha una dimensione di 1550 byte tenta di ridurla ad una dimensione <= 1460 byte (1 pacchetto dati)
Se la risposta ha una dimensione di 2700 bytes allora puoi aggiungere informazioni sino ad una dimensione <= 2920 byte (2 pacchetti dati)
La dimensione della risposta comprende sia le intestazioni che il corpo
Pagina 13 di 25 PHP User Group Pavia - 24/11/2012
Metti il turbo
Mantieni più piccole possibili le intestazioni della richiesta (cookie compresi) in modo da utilizzare un solo pacchetto per la trasmissione (1460 bytes)
Servi le risorse statiche da sotto domini cookieless (senza cookie)
Pagina 14 di 25 PHP User Group Pavia - 24/11/2012
Metti il turbo
Minimizza il numero di richieste che il client deve effettuare per ottenere una determinata rappresentazione da parte del server:
accorpa i file CSS, JS
usa CSS Sprite per le immagini
parallelizza i download di CSS e immagini su più sotto domini cookieless
non utilizzare redirezioni inutili
se possibile evita di utilizzare la regola @import dei CSS e l'istruzione Javascript document.write()
valuta tramite Firebug ed ottimizza l'ordine di caricamento di script JS e CSS esterni
Pagina 15 di 25 PHP User Group Pavia - 24/11/2012
Le immagini contano!
Utilizza correttamente i formati compressi per le immaginiTenta di utilizzare il più possibile PNGUtilizza GIF per piccole icone o animazioni di baseUtilizza JPG per immagini fotografiche
Esegui una ottimizzazione di base con GIMP o più profonda tramite programmi dedicati (jpegtran, jpegoptim, OptiPNG, PNGOUT)
Esegui un resize fisico, evita il resize tramite attributi HTML
Pagina 16 di 25 PHP User Group Pavia - 24/11/2012
Sitemaps
Uno o più file XML che informano i crawler dei motori di ricerca riguardo le pagine del sito disponibili per l'indicizzazione aggiungendo dei metadata informativi:
ultima data di modifica (lastmod)
frequenza di aggiornamento (changefreq)
importanza che si attribuisce alla pagina (priority)
Pagina 17 di 25 PHP User Group Pavia - 24/11/2012
URL puliti
www.site.com/?id=11 è un numero intero
www.site.com/1/dodge-chargerun oggetto Dodge Charger e un numero intero
www.site.com/cars-for-rent/dodge/charger.htmlun auto modello Charger di marca Dodge disponibile per il noleggio
Pagina 18 di 25 PHP User Group Pavia - 24/11/2012
SEO, framework PHP e dintorni
Zend Framework 1.12Zend_Controller_Router_RewriteZend_View_Helper_Navigation_SitemapZend_View_Helper_UrlZend_View_Helper_HeadTitleZend_View_Helper_HeadMetahttp://framework.zend.com/manual/1.12/en/zend.controller.router.htmlhttp://framework.zend.com/manual/1.12/en/zend.view.helpers.html
Yii FrameworkCUrlManagerSEO Extensionhttp://www.yiiframework.com/extension/seo
DrupalPuò essere impostato per l'utilizzo di clean URI ed esistono moduli aggiuntivi per l'ottimizzazione dei contenuti per i motori di ricercahttp://drupal.org/project/seotools
PHP User Group Pavia - 24/11/2012Pagina 19 di 25
Robots.txt
File che limita l'accesso dei crawler dei motori di ricerca ai contenuti di un sito. Utile quando si desidera escludere alcune tipologie di risorse dall'indicizzazione da parte dei motori di ricerca
User-agent: il robot al quale si applica la regola Disallow: l'URI che si desidera bloccare
Se non hai accesso alla root del sito web, utilizza un meta tag robots con valore noindex
PHP User Group Pavia - 24/11/2012Pagina 20 di 25
Strumenti di analisi
PHP User Group Pavia - 24/11/2012Pagina 21 di 25
Utilizza Google Analytics per monitorare il comportamento dei visitatori del tuo sito web
Utilizza gli strumenti per webmaster offerti da Google per analizzare il comportamento del Googlebot, lo stato di indicizzazione delle pagine e possibili problemi legati a URI bloccati, obsoleti, ecc.
Crossover di competenze
PHP User Group Pavia - 24/11/2012Pagina 22 di 25
L'ottimizzazione per i motori di ricerca coinvolge sia aspetti di livello infrastrutturale che applicativo
Molte figure IT sono coinvolte più o meno consapevolmente in progetti nei quali l'aderenza ai requisiti SEO gioca un ruolo fondamentale verso il successo
Sys Admin, Software Engineer, Database Administrator, Developer, Software Architect, Web Copywriter, Professionisti SEO e SEM; sei coinvolto da SEO?
Risorse Utili
PHP User Group Pavia - 24/11/2012Pagina 23 di 25
113 Design Guidelines for Homepage Usabilityhttp://www.useit.com/homepageusability/guidelines.html
Search Engine Optimization Bible 2nd Edition (2009, Jerri L.Ledford , Wiley)
Google PageSpeed https://developers.google.com/speed/pagespeed
Google Analytics http://www.google.com/analytics
Strumenti per webmaster Google http://www.google.com/webmasters/tools/?hl=it
Zend Framework http://framework.zend.com
Yii Framework http://www.yiiframework.com
Grazie a
PHP User Group Pavia - 24/11/2012Pagina 24 di 25
Tutti i partecipanti
Publicenter Web
OpiMAINT S.r.l.
Bruno's wife