Ottimizzare wordpress(non solo) per i motori di ricercaConvegno GT – Riccione, 6 Dicembre 2009Tiziano Fogliatahttp://www.motoricerca.net   http://www.fogliata.net/ tiziano.fogliata@gmail.com
HarderFasterBetterStronger
Google vorrebbeche le pagine web fossero così,ma non è il solo
Spesso però sono così…
L’irresistibile fascino deiplugin per WordPress
La velocità di un sito ha un impatto direttosulla percezione degli utentiPiù utileDi qualitàCredibileAutorevole
Anche se la banda disponibileè in aumentonon è un buon motivoper non ottimizzare
Come misurare la velocità
Firebug per MozillaFirefox:http://getfirebug.com/Yahoo! Yslow per Firebug:http://developer.yahoo.com/yslow/Google PageSpeed:http://code.google.com/intl/it-IT/speed/page-speed/PingdomTools:http://tools.pingdom.com/
Alcune soluzioni lato server per WordPressWP Super Cache:http://wordpress.org/extend/plugins/wp-super-cache/Optimize DB:http://wordpress.org/extend/plugins/optimize-db/Usare acceleratori PHP (eAccelerator) e eseguiretuningMySQL (query_cache)Trovare un hosting migliore…ma non sempre è colpa del server
Altre aree di interventoMinimizzare le richieste HTTP (CSS Sprites  (http://spriteme.org/) e Imagemaps)
Usare un Content Delivery Network (per distribuire i contenuti da server situati inaree geografiche differenti)
Usare gli mod_expires o gli header per il controllo della cache del browser
Sfruttare la compressione Gzip
CSS in alto e JavaScript in basso ed esternalizzarli
Ridurre i DNS Lookup (evitare di caricare troppi elementi provenientida domini diversi)
Ottimizzare le immagini
Evitare i redirect
Ridurre la dimensione dei cookiehttp://developer.yahoo.com/performance/rules.html
Potete provare ad abilitarela compressione Gzipaggiungendo alcune righeal vostro file .htaccess<IfModule mod_deflate.c>AddOutputFilterByType DEFLATE text/html text/plain text/xml text/cssapplication/javascript application/x-javascript application/x-httpd-php</IfModule>
Per i file che non modificate frequentemente inseritequeste righe in modo che il browser li conservi in cachesenza verificare ogni volta se ne esisteuna versione più aggiornata <IfModule mod_expires.c>ExpiresActive onExpiresByTypeimage/gif "access plus 1 month"ExpiresByTypeimage/jpeg "access plus 1 month"ExpiresByTypeimage/png "access plus 1 month"ExpiresByType text/css "access plus 1 month"ExpiresByTypeapplication/javascript "access plus 1 month"ExpiresByTypeapplication/x-javascript "access plus 1 month"    </IfModule>Se mod_expires non è disponibile:    <FilesMatch "\.(ico|jpg|jpeg|png|gif|js|css)$">Header set Expires "Sun, 2 Jan 2011 01:00:00 GMT"Header set Cache-Control "max-age=315360000"HeaderunsetPragma    </FilesMatch>
Può tornare utile un plugin come PHP Speedyhttp://aciddrop.com/2009/02/02/php-speedy-wp-052-bug-fix/Permettediraggrupparepiù filein mododaridurre le richiesteHTTP, riducei file Javascript eCSS, effettua la compressioneGZIP e aggiungegli expiresheaders
Un CDN per WordPressTroppo complicato per un semplice blog?
UnitedStatesAshburn, VA Dallas/Fort Worth, TXLos Angeles, CAMiami, FLNewark, NJPalo Alto, CASeattle, WASt. Louis, MOEuropeAmsterdamDublinFrankfurtLondonAsiaHong KongTokyoAmazon CloudFronthttp://aws.amazon.com/cloudfront/Costi dai server europeiData Transfer$0.170 per GB – first 10TB / month data transfer out$0.120 per GB – next 40 TB / month data transfer out$0.100 per GB – next 100 TB / month data transfer out$0.090 per GB – next 100 TB / month data transfer out$0.080 per GB – next 250 TB / month data transfer out$0.070 per GB – next 250 TB / month data transfer out$0.060 per GB – next 250 TB / month data transfer out$0.050 per GB – data transfer out / monthover 1,000 TBDati conservati su Amazon S3
CloudBerry S3 Explorerhttp://cloudberrylab.com/
Impostare i CNAMEIn modo da usare il proprio dominio perdistribuire i file
Amazon S3 Plugin for WordPresshttp://wordpress.org/extend/plugins/tantan-s3/
CDN Rewrites pluginhttp://wordpress.org/extend/plugins/cdn-rewrites/
…e per le immagini già presenti sul blog?Basta un semplice comando SQLsul database:UPDATE wp_posts SET post_content = REPLACE (post_content, ‘vecchioURL/wp-content/upload/', ‘nuovoURL/wp-content/upload/');
Ora che è veloce, rendiamolo più attraente
Perché accontentarsi dei semplici commenti?
IntenseDebatehttp://www.intensedebate.comDISQUShttp://disqus.com/

Ottimizzare WordPress non solo per i motori di ricerca

  • 1.
    Ottimizzare wordpress(non solo)per i motori di ricercaConvegno GT – Riccione, 6 Dicembre 2009Tiziano Fogliatahttp://www.motoricerca.net http://www.fogliata.net/ tiziano.fogliata@gmail.com
  • 2.
  • 3.
    Google vorrebbeche lepagine web fossero così,ma non è il solo
  • 4.
  • 7.
  • 9.
    La velocità diun sito ha un impatto direttosulla percezione degli utentiPiù utileDi qualitàCredibileAutorevole
  • 10.
    Anche se labanda disponibileè in aumentonon è un buon motivoper non ottimizzare
  • 11.
  • 12.
    Firebug per MozillaFirefox:http://getfirebug.com/Yahoo!Yslow per Firebug:http://developer.yahoo.com/yslow/Google PageSpeed:http://code.google.com/intl/it-IT/speed/page-speed/PingdomTools:http://tools.pingdom.com/
  • 15.
    Alcune soluzioni latoserver per WordPressWP Super Cache:http://wordpress.org/extend/plugins/wp-super-cache/Optimize DB:http://wordpress.org/extend/plugins/optimize-db/Usare acceleratori PHP (eAccelerator) e eseguiretuningMySQL (query_cache)Trovare un hosting migliore…ma non sempre è colpa del server
  • 16.
    Altre aree diinterventoMinimizzare le richieste HTTP (CSS Sprites (http://spriteme.org/) e Imagemaps)
  • 17.
    Usare un ContentDelivery Network (per distribuire i contenuti da server situati inaree geografiche differenti)
  • 18.
    Usare gli mod_expireso gli header per il controllo della cache del browser
  • 19.
  • 20.
    CSS in altoe JavaScript in basso ed esternalizzarli
  • 21.
    Ridurre i DNSLookup (evitare di caricare troppi elementi provenientida domini diversi)
  • 22.
  • 23.
  • 24.
    Ridurre la dimensionedei cookiehttp://developer.yahoo.com/performance/rules.html
  • 25.
    Potete provare adabilitarela compressione Gzipaggiungendo alcune righeal vostro file .htaccess<IfModule mod_deflate.c>AddOutputFilterByType DEFLATE text/html text/plain text/xml text/cssapplication/javascript application/x-javascript application/x-httpd-php</IfModule>
  • 27.
    Per i fileche non modificate frequentemente inseritequeste righe in modo che il browser li conservi in cachesenza verificare ogni volta se ne esisteuna versione più aggiornata <IfModule mod_expires.c>ExpiresActive onExpiresByTypeimage/gif "access plus 1 month"ExpiresByTypeimage/jpeg "access plus 1 month"ExpiresByTypeimage/png "access plus 1 month"ExpiresByType text/css "access plus 1 month"ExpiresByTypeapplication/javascript "access plus 1 month"ExpiresByTypeapplication/x-javascript "access plus 1 month" </IfModule>Se mod_expires non è disponibile: <FilesMatch "\.(ico|jpg|jpeg|png|gif|js|css)$">Header set Expires "Sun, 2 Jan 2011 01:00:00 GMT"Header set Cache-Control "max-age=315360000"HeaderunsetPragma </FilesMatch>
  • 28.
    Può tornare utileun plugin come PHP Speedyhttp://aciddrop.com/2009/02/02/php-speedy-wp-052-bug-fix/Permettediraggrupparepiù filein mododaridurre le richiesteHTTP, riducei file Javascript eCSS, effettua la compressioneGZIP e aggiungegli expiresheaders
  • 29.
    Un CDN perWordPressTroppo complicato per un semplice blog?
  • 30.
    UnitedStatesAshburn, VA Dallas/FortWorth, TXLos Angeles, CAMiami, FLNewark, NJPalo Alto, CASeattle, WASt. Louis, MOEuropeAmsterdamDublinFrankfurtLondonAsiaHong KongTokyoAmazon CloudFronthttp://aws.amazon.com/cloudfront/Costi dai server europeiData Transfer$0.170 per GB – first 10TB / month data transfer out$0.120 per GB – next 40 TB / month data transfer out$0.100 per GB – next 100 TB / month data transfer out$0.090 per GB – next 100 TB / month data transfer out$0.080 per GB – next 250 TB / month data transfer out$0.070 per GB – next 250 TB / month data transfer out$0.060 per GB – next 250 TB / month data transfer out$0.050 per GB – data transfer out / monthover 1,000 TBDati conservati su Amazon S3
  • 31.
  • 33.
    Impostare i CNAMEInmodo da usare il proprio dominio perdistribuire i file
  • 34.
    Amazon S3 Pluginfor WordPresshttp://wordpress.org/extend/plugins/tantan-s3/
  • 35.
  • 36.
    …e per leimmagini già presenti sul blog?Basta un semplice comando SQLsul database:UPDATE wp_posts SET post_content = REPLACE (post_content, ‘vecchioURL/wp-content/upload/', ‘nuovoURL/wp-content/upload/');
  • 37.
    Ora che èveloce, rendiamolo più attraente
  • 38.
    Perché accontentarsi deisemplici commenti?
  • 39.
  • 41.
    SEO PluginAll InOne SEO Packhttp://wordpress.org/extend/plugins/all-in-one-seo-pack/HeadSpace2http://wordpress.org/extend/plugins/headspace2/Oltre a title, description e noindex consente numerosealtre opzioni come i temi personalizzati in base allapagina, suggerisce i tag, consente modifiche di massae altro ancora. Però è più complesso ed in alcuni casisi verificano incompatibilità con altri plugin
  • 42.
    Diamo il benvenutoai visitatori
  • 43.
  • 44.
    Non tralasciamo ilsettore mobilePageview da dispositivi mobili che usano Opera Minida sett ‘08 a sett ‘09 +230%Fonte: Opera State of the Mobile Web
  • 45.
  • 46.
    Non dimentichiamo lasicurezzaWordPress Exploit Scanner:http://wordpress.org/extend/plugins/exploit-scanner/Login LockDown:http://wordpress.org/extend/plugins/login-lockdown/AskApache Password Protect:http://wordpress.org/extend/plugins/askapache-password-protect/WP Security Scan:http://wordpress.org/extend/plugins/wp-security-scan/Antivirus forWordPresshttp://wordpress.org/extend/plugins/antivirus/
  • 47.
    Grazie a Giorgioe a tutti gli organizzatori per il gradito invito e per avere reso possibile questo evento.Grazie a tutti voi per l’attenzione.
  • 48.