SlideShare ist ein Scribd-Unternehmen logo
1 von 35
Downloaden Sie, um offline zu lesen
5 Regole SEO da tenere a mente nello
 sviluppo di temi e plugin Wordpress
                     di ANDREA CARDINALI




             WORDCAMP BOLOGNA - 9 FEBBRAIO 2013
                 @WORDCAMPBOLOGNA # WPCAMPBO13
SI DICE CHE LA SEO E’ MORTA…




WORDCAMP BOLOGNA - 9 FEBBRAIO 2013   @WORDCAMPBOLOGNA # WPCAMPBO13
#1: LA SEO NON MORIRA’ MAI




WORDCAMP BOLOGNA - 9 FEBBRAIO 2013   @WORDCAMPBOLOGNA # WPCAMPBO13
#2 LINKING INTERNO E INDICIZZAZIONE


                                                    LINKING INTERNO




 FONTE: http://www.linkdex.com/blog/page-rank-and-link-juice-explained/

WORDCAMP BOLOGNA - 9 FEBBRAIO 2013                                        @WORDCAMPBOLOGNA # WPCAMPBO13
#2 LINKING INTERNO E INDICIZZAZIONE


                                     LINKING INTERNO
 In generale evitare di avere troppi link su una pagina.

 Cosa evitare:
 • Tag cloud nel footer (effettuare una selezione dei tag)
 • Paginazione elevata

 Cercate di distribuire al meglio il link juice.

 Cosa fare:
 • Utilizzare i breadcrumbs
 • Link sitewide alla mappa del sito
 • Linkare le pagine con ancor text differenti
 • Se nella pagina sono presenti più link alla stessa risorsa, verificare che il link che
   si trova più in alto nella pagina (nel codice sorgente) abbia un anchor text
   ottimizzato (es. Titolo post + leggi tutto)
 • Noindex, follow nelle pagine superiori alla prima



WORDCAMP BOLOGNA - 9 FEBBRAIO 2013                                        @WORDCAMPBOLOGNA # WPCAMPBO13
#2 LINKING INTERNO E INDICIZZAZIONE – ROBOTS.TXT


                                     ROBOTS.TXT
 File virtuale gestito in automatico da WP (Non inserirlo nella web root)


 Aggiungere regole al robots.txt

 add_filter(‘robots_txt’,’crd_blocca_file’,999,1);
 function crd_blocca_cartella_plugin($output)
 {
     $site_url = parse_url( site_url() );
     $path = ( !empty( $site_url['path'] ) ) ? $site_url['path'] : '';
     $output .= "Disallow: $path/filedabloccare.phpn";
     return $output;
 }



 User-agent: *
 Disallow: /filedabloccare.php




WORDCAMP BOLOGNA - 9 FEBBRAIO 2013                                     @WORDCAMPBOLOGNA # WPCAMPBO13
#2 LINKING INTERNO E INDICIZZAZIONE – META ROBOTS


                    GESTIONE meta name=‘robots’
 Se non specificato lo spider considera la pagine come INDEX, FOLLOW

 NOINDEX, NOFOLLOW
 • i link presenti all’interno della pagina non vengono seguiti
 • tutto ciò che non vogliamo compaia nei risultati di ricerca

 NOINDEX, FOLLOW
 • la pagina non compare nei risultati di ricerca ma i risultati sì*




WORDCAMP BOLOGNA - 9 FEBBRAIO 2013                                     @WORDCAMPBOLOGNA # WPCAMPBO13
#2 LINKING INTERNO E INDICIZZAZIONE – META ROBOTS


                    GESTIONE meta name=‘robots’
Aggiungere il <meta name=‘robots’> nell’ <head>
 add_action( 'wp_head',crd_custom_meta',999 );

 function crd_custom_meta() {
 echo "<meta name='robots' content='noindex,follow' />n";
 }




 <!DOCTYPE html>
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html;
 charset=UTF-8" />
 <meta name='robots' content='noindex,follow' />



 http://support.google.com/webmasters/bin/answer.py?hl=it&answer=93710
WORDCAMP BOLOGNA - 9 FEBBRAIO 2013                                       @WORDCAMPBOLOGNA # WPCAMPBO13
#2 LINKING INTERNO E INDICIZZAZIONE – META ROBOTS


                    GESTIONE meta name=‘robots’
 Bloccare indicizzazione tramite Header X-Robots-Tag




 <?php
 @header( 'Content-Type: text/html; charset=' . get_option(
 'blog_charset' ) );
 @header( 'X-Robots-Tag: noindex' );




WORDCAMP BOLOGNA - 9 FEBBRAIO 2013                     @WORDCAMPBOLOGNA # WPCAMPBO13
#2 LINKING INTERNO E INDICIZZAZIONE – STATUS CODE


RISPOSTE HTTP (STATUS CODE) CORRETTE
  200 - OK
  302 – Found
  301 – Moved Permanently
  404 – Not Found
  503 - Unavailable




  TOOLS:
  • Firebug
  • Network Inspector
  • Fiddler




WORDCAMP BOLOGNA - 9 FEBBRAIO 2013                  @WORDCAMPBOLOGNA # WPCAMPBO13
#2 LINKING INTERNO E INDICIZZAZIONE – STATUS CODE


                                STATUS CODE 200: OK




WORDCAMP BOLOGNA - 9 FEBBRAIO 2013                    @WORDCAMPBOLOGNA # WPCAMPBO13
#2 LINKING INTERNO E INDICIZZAZIONE – STATUS CODE


                   STATUS CODE 302 (TEMPORANEO)




           • Da utilizzare quando si cambia provvisoriamente url a una risorsa.
            (es. voglio dirottare i visitatori dalla homepage a una landing page)
           • Lo spider non aggiorna l’url della risorsa
           • Non trasferisce Link juice

           • ATTENZIONE: wp_redirect($url) utilizza il 302
           • Utilizzato anche per _wp_old_slug




WORDCAMP BOLOGNA - 9 FEBBRAIO 2013                                       @WORDCAMPBOLOGNA # WPCAMPBO13
#2 LINKING INTERNO E INDICIZZAZIONE – STATUS CODE


        STATUS CODE 301: MOVED PERMANENTLY
         •    Da utilizzare quando si cambia url a una risorsa.
         •    Trasferisce Link juice
         •    Utile soprattutto quando si cambia permalink ad un url dopo la pubblicazione
         •    Attenzione a _wp_old_slug (function wp_old_slug_redirect )
         •    Attenzione a quando si cambia la struttura dei permalink


             Wordpress di default utilizza lo status code 302 (Non passa link juice).
             Per modificare questo comportamento:

         add_filter(‘wp_redirect_status’,’crd_redirect_corretto’,10,2);

         function crd_redirect_corretto ($location,$status)
         { //aggiungere eventuale condizione aggiuntiva x 301
             if(302==$status)
                 $status=301;
             return $status;
         }

WORDCAMP BOLOGNA - 9 FEBBRAIO 2013                                          @WORDCAMPBOLOGNA # WPCAMPBO13
#2 LINKING INTERNO E INDICIZZAZIONE – STATUS CODE


        STATUS CODE 301: MOVED PERMANENTLY
           Come inserire un redirect (o qualsiasi altra regola) nel .htaccess
    //utilizzare solo nell’admin es. add_action('admin_init',
    'crd_htaccess');

    function crd_htaccess()
    {

    $htaccess_file = ABSPATH.'.htaccess';
    $rules=array();
    $rules[]='Redirect 301 /vecchio-url/ http://www.example.com/nuovo-
    url/';
    insert_with_markers( $htaccess_file, 'Marker personalizzato
    Redirect', $rules );
    }



       Redirect 301 /vecchio-url/ http://www.example.com/nuovo-url/


WORDCAMP BOLOGNA - 9 FEBBRAIO 2013                                        @WORDCAMPBOLOGNA # WPCAMPBO13
#2 LINKING INTERNO E INDICIZZAZIONE – STATUS CODE


                    STATUS CODE 404: NOT FOUND
 • Restituito ogni volta che si richiede una risorsa inesistente
 • Importante monitorarli ( è possibile farlo in almeno 4 modi diversi)
 • E’ possibile personalizzare la pagina d’errore (404.php)




WORDCAMP BOLOGNA - 9 FEBBRAIO 2013                                    @WORDCAMPBOLOGNA # WPCAMPBO13
#2 LINKING INTERNO E INDICIZZAZIONE – STATUS CODE


      STATUS CODE 404: COME TRACCIARLO (1)
  Tracciamento tramite file di testo e/o email di alert:

 add_action (‘template_redirect’,’crd_log_404’);
 function crd_log_404()
 {
     if(is_404())
     {
     //consigliato solo per siti nuovi e/o con pochi errori
     wp_mail(‘webmaster@example.com’,’errore 404’, $_SERVER[‘REQUEST_URI’]);

       //il file error.log deve essere scrivibile
       file_put_contents(‘error.log’,sprintf(‘%s - %s ’,date(‘d-m-Y h:i:s’), ’,
       $_SERVER[‘REQUEST_URI’])

       }
 }




WORDCAMP BOLOGNA - 9 FEBBRAIO 2013                             @WORDCAMPBOLOGNA # WPCAMPBO13
#2 LINKING INTERNO E INDICIZZAZIONE – STATUS CODE


      STATUS CODE 404: COME TRACCIARLO (2)
 Tracciamento tramite Google Analytics (inserire in 404.php)
 <script type="text/javascript">
   var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-XXXXX-X']);
  _gaq.push(['_trackEvent', 'Error', '404', ‘pagina’+ document.location.pathname
 + document.location.search + '&from=' + document.referrer]);

   (function() {
     var ga = document.createElement('script'); ga.type = 'text/javascript';
 ga.async = true;
     ga.src = ('https:' == document.location.protocol ? 'https://ssl' :
 'http://www') + '.google-analytics.com/ga.js';
     var s = document.getElementsByTagName('script')[0];
 s.parentNode.insertBefore(ga, s);
   })();
 </script>




WORDCAMP BOLOGNA - 9 FEBBRAIO 2013                             @WORDCAMPBOLOGNA # WPCAMPBO13
#2 LINKING INTERNO E INDICIZZAZIONE – STATUS CODE


          STATUS CODE 404: COME RESTITUIRLO
 Impostare manualmente un 404:
 <?php
              global $wp_query;
              $wp_query->set_404();
              status_header( 404 );
 ?>




WORDCAMP BOLOGNA - 9 FEBBRAIO 2013                  @WORDCAMPBOLOGNA # WPCAMPBO13
#2: MASSIMIZZARE L’INDICIZZAZIONE – STATUS CODE


                    STATUS CODE 404: NOT FOUND
 Personalizzate il template 404.php
     • [Internet Explorer will only show your custom 404 page
        if it’s larger than 512 bytes (hard to get smaller than
        that with WordPress).]

 Proponete alternative:
     • Ricerca
     • Sitemap
     • Link all’homepage
     • Miglior alternativa




 http://yoast.com/404-error-pages-wordpress/
WORDCAMP BOLOGNA - 9 FEBBRAIO 2013                                @WORDCAMPBOLOGNA # WPCAMPBO13
#2: MASSIMIZZARE L’INDICIZZAZIONE


      STATUS CODE 503: SERVICE UNAVAILABLE
           • Da utilizzare durante le operazioni di manutenzione
           • Specificare anche l’header Retry-After

 Per personalizzare la pagina, creare il file maintance.php dentro wp-content (non
 utilizzare funzioni di WP )

 <?php
 $protocol = $_SERVER["SERVER_PROTOCOL"];
 if ( 'HTTP/1.1' != $protocol && 'HTTP/1.0' != $protocol )
          $protocol = 'HTTP/1.0';
 header( "$protocol 503 Service Unavailable", true, 503 );
 header( 'Content-Type: text/html; charset=utf-8' );
 header( 'Retry-After: 3600' ); // 3600 secondi = 1ora
 ?>
 <!DOCTYPE html>
 <html>
 <head>
          <title>Sorry, We're Getting Tuned Up</title>
 <!– […] -->


WORDCAMP BOLOGNA - 9 FEBBRAIO 2013                                   @WORDCAMPBOLOGNA # WPCAMPBO13
#3: EVITARE CONTENUTI DUPLICATI




                   NO AI CONTENUTI DUPLICATI




WORDCAMP BOLOGNA - 9 FEBBRAIO 2013       @WORDCAMPBOLOGNA # WPCAMPBO13
#3: EVITARE CONTENUTI DUPLICATI




           36 + 15 + 17= 68




WORDCAMP BOLOGNA - 9 FEBBRAIO 2013   @WORDCAMPBOLOGNA # WPCAMPBO13
#3: EVITARE CONTENUTI DUPLICATI

 COME EVITARE I CONTENUTI DUPLICATI -1
 Nelle pagine archivio e categoria non inserire il post completo

  if(have_posts()):while(have_posts()):the_post();?>
 <div class=‘post’>
 <h3><a href="<?php the_permalink()?>">
 <?php the_title()?></a></h3>
 <?php the_excerpt()?>
 <p><a class="btn" href="<?php the_permalink()?>">Leggi&raquo;</a>
 </p>
 </div><!--/.post-->
 <?php endwhile; endif;?>


  • Evitare d’inserire l’excerpt nella pagina in cui è presente il post (è un riassunto)
  • Scegliere se far indicizzare categorie o tag (non entrambi)




WORDCAMP BOLOGNA - 9 FEBBRAIO 2013                                       @WORDCAMPBOLOGNA # WPCAMPBO13
#3: EVITARE CONTENUTI DUPLICATI

 COME EVITARE I CONTENUTI DUPLICATI - 2
 • Aggiungere testo unico nella pagina archivio (solo nella prima e non nelle successive)


 DESCRIZIONE UNICA IN ARCHIVE.PHP

   <h1><?php echo single_cat_title('',false)?></h1>

 <?php if(!is_paged()):
 <p><?php category_description()?></p>
  <?php endif;?>




WORDCAMP BOLOGNA - 9 FEBBRAIO 2013                                   @WORDCAMPBOLOGNA # WPCAMPBO13
#4: CANONICALIZZAZIONE DEI CONTENUTI


                              UTILIZZO rel=‘canonical’
 Es. ordinamento risultati tramite query string

 http://www.example.com/prodotti/plugin/?sort=alpha
 http://www.example.com/prodotti/plugin/?sort=price

 COME AGGIUNGERE IL CANONICAL IN UNA PAGINA:

 remove_action(‘wp_head’,’rel_canonical’);
 add_action(‘wp_head’, crd_manage_canonical’);

 function crd_manage_canonical()
 {
  $link=‘http://www.example.com/prodotti/plugin/’;
  echo "<link rel='canonical' href='$link' />n";
 }


 <link rel=‘canonical’ href=‘http://www.example.com/prodotti/plugin/’ />

WORDCAMP BOLOGNA - 9 FEBBRAIO 2013                                  @WORDCAMPBOLOGNA # WPCAMPBO13
#5: UTILIZZARE I MICROFORMATI

                                     MICROFORMATI




WORDCAMP BOLOGNA - 9 FEBBRAIO 2013                  @WORDCAMPBOLOGNA # WPCAMPBO13
#5: UTILIZZARE I MICROFORMATI

 HCALENDAR




WORDCAMP BOLOGNA - 9 FEBBRAIO 2013   @WORDCAMPBOLOGNA # WPCAMPBO13
#5: UTILIZZARE I MICROFORMATI

 HREVIEW-AGGREGATE (VOTES)




WORDCAMP BOLOGNA - 9 FEBBRAIO 2013   @WORDCAMPBOLOGNA # WPCAMPBO13
#5: UTILIZZARE I MICROFORMATI

 HREVIEW-AGGREGATE (COUNT)




WORDCAMP BOLOGNA - 9 FEBBRAIO 2013   @WORDCAMPBOLOGNA # WPCAMPBO13
#5: UTILIZZARE I MICROFORMATI

 HRECIPE




WORDCAMP BOLOGNA - 9 FEBBRAIO 2013   @WORDCAMPBOLOGNA # WPCAMPBO13
#5: UTILIZZARE I MICROFORMATI

 IMPLEMENTARE rel=‘author’
 3 STEP
 1. Link dall’articolo alla pagina autore interna al sito
 2. Link dalla pagina autore al profilo G+ con rel=‘author’
 3. Link dalla pagina profilo G+ alla pagina autore con rel=‘me’




 APPROFONDIMENTO: http://seoblog.giorgiotave.it/implementare-rel-author/2108
WORDCAMP BOLOGNA - 9 FEBBRAIO 2013                                             @WORDCAMPBOLOGNA # WPCAMPBO13
#4: EVITARE CONTENUTI DUPLICATI

 IMPLEMENTARE rel=‘author’
 In single.php


 Altri articoli di<a href="<?php echo
 get_author_posts_url(get_the_author_meta('ID'));?>“ rel=“author”>
 <?php the_author()?></a>


 In author.php

 <a href="<?php echo get_the_author_meta(‘gplus');?>"     rel=“me"
 target="_blank">Google plus</a>


 gplus è un custom user meta.




WORDCAMP BOLOGNA - 9 FEBBRAIO 2013                      @WORDCAMPBOLOGNA # WPCAMPBO13
#4: EVITARE CONTENUTI DUPLICATI

                                     APPROFONDIMENTI
 SCHEMA.ORG
 http://www.schema.org

 GOOGLE RICH SNIPPET TESTING TOOL:
 http://www.google.com/webmasters/tools/richsnippets

 GENERATORE SCHEMA.ORG:
 http://www.microdatagenerator.com/

 ALTRO GENERATORE SCHEMA.ORG
 http://schema-creator.org




WORDCAMP BOLOGNA - 9 FEBBRAIO 2013                     @WORDCAMPBOLOGNA # WPCAMPBO13
WEB PERFORMANCE OPTIMIZATION




                                     DOMANDE?




WORDCAMP BOLOGNA - 9 FEBBRAIO 2013              @WORDCAMPBOLOGNA # WPCAMPBO13
RELATORE




                              GRAZIE!
                              Andrea Cardinali
                              Web: www.andreacardinali.it



                              Twitter: @andreacardinali
                              Google + : Andrea Cardinali

WORDCAMP BOLOGNA - 9 FEBBRAIO 2013                          @WORDCAMPBOLOGNA # WPCAMPBO13

Weitere ähnliche Inhalte

Was ist angesagt?

Come eseguire correttamente una migrazione SEO
Come eseguire correttamente una migrazione SEOCome eseguire correttamente una migrazione SEO
Come eseguire correttamente una migrazione SEOSemrush Italia
 
I link interni sono fattori di rank? Scopriamolo!
I link interni sono fattori di rank? Scopriamolo!I link interni sono fattori di rank? Scopriamolo!
I link interni sono fattori di rank? Scopriamolo!Semrush Italia
 
Wordpress e la gestione di progetti complessi
Wordpress e la gestione di progetti complessiWordpress e la gestione di progetti complessi
Wordpress e la gestione di progetti complessiMaurizio Pelizzone
 
SEMrush WebStudy Marathon - SEO Tecnico - CMS in ottica SEO per i contenuti
SEMrush WebStudy Marathon - SEO Tecnico - CMS in ottica SEO per i contenutiSEMrush WebStudy Marathon - SEO Tecnico - CMS in ottica SEO per i contenuti
SEMrush WebStudy Marathon - SEO Tecnico - CMS in ottica SEO per i contenutisemrush_webinars
 
WordPress - 9 Falsi miti smascherati - Andrea Cardinali - WordPress Romagna M...
WordPress - 9 Falsi miti smascherati - Andrea Cardinali - WordPress Romagna M...WordPress - 9 Falsi miti smascherati - Andrea Cardinali - WordPress Romagna M...
WordPress - 9 Falsi miti smascherati - Andrea Cardinali - WordPress Romagna M...Andrea Cardinali
 
SEMrush WebStudy Marathon - SEO Tecnico - Robots Exclusion Protocol
SEMrush WebStudy Marathon - SEO Tecnico - Robots Exclusion ProtocolSEMrush WebStudy Marathon - SEO Tecnico - Robots Exclusion Protocol
SEMrush WebStudy Marathon - SEO Tecnico - Robots Exclusion Protocolsemrush_webinars
 
Black Hat Seo: il Lato Oscuro della SEO
Black Hat Seo: il Lato Oscuro della SEOBlack Hat Seo: il Lato Oscuro della SEO
Black Hat Seo: il Lato Oscuro della SEOPaolo Dello Vicario
 
Sviluppare plugin per WordPress: Best Practice e Silver Bullet
Sviluppare plugin per WordPress: Best Practice e Silver BulletSviluppare plugin per WordPress: Best Practice e Silver Bullet
Sviluppare plugin per WordPress: Best Practice e Silver BulletLuca Bartoli
 
Technical SEO Audit Checklist - Giovanni Sacheli Search Marketing Connect 2018
Technical SEO Audit Checklist - Giovanni Sacheli Search Marketing Connect 2018Technical SEO Audit Checklist - Giovanni Sacheli Search Marketing Connect 2018
Technical SEO Audit Checklist - Giovanni Sacheli Search Marketing Connect 2018Giovanni Sacheli
 
Sviluppare Plugin per WordPress
Sviluppare Plugin per WordPress Sviluppare Plugin per WordPress
Sviluppare Plugin per WordPress Thomas Vitale
 
Aggiornato! Il sito veloce senza codice
Aggiornato! Il sito veloce senza codiceAggiornato! Il sito veloce senza codice
Aggiornato! Il sito veloce senza codiceStefania Massenza
 
WordPress e Yoast SEO - Da dove iniziare
WordPress e Yoast SEO - Da dove iniziareWordPress e Yoast SEO - Da dove iniziare
WordPress e Yoast SEO - Da dove iniziareDaniele Sghedoni
 
Tracciare le azioni sul sito con Google Analytics e Tag Manager - Web Marketi...
Tracciare le azioni sul sito con Google Analytics e Tag Manager - Web Marketi...Tracciare le azioni sul sito con Google Analytics e Tag Manager - Web Marketi...
Tracciare le azioni sul sito con Google Analytics e Tag Manager - Web Marketi...Giovanni Sacheli
 
Come fare SEO con AngularJS
Come fare SEO con AngularJSCome fare SEO con AngularJS
Come fare SEO con AngularJSGiovanni Sacheli
 
Checklist: 18 passi per fare SEO Audit nel 2021 | Meta Line Digital Agency
Checklist: 18 passi per fare SEO Audit nel 2021 | Meta Line Digital AgencyChecklist: 18 passi per fare SEO Audit nel 2021 | Meta Line Digital Agency
Checklist: 18 passi per fare SEO Audit nel 2021 | Meta Line Digital AgencyMeta Line
 
Analisi dei competitor con Screaming Frog
Analisi dei competitor con Screaming FrogAnalisi dei competitor con Screaming Frog
Analisi dei competitor con Screaming FrogGiovanni Sacheli
 
Consigli e best practices SEO e PPC per l'Ecommerce
Consigli e best practices SEO e PPC per l'EcommerceConsigli e best practices SEO e PPC per l'Ecommerce
Consigli e best practices SEO e PPC per l'EcommerceMOCA Interactive
 

Was ist angesagt? (19)

Come eseguire correttamente una migrazione SEO
Come eseguire correttamente una migrazione SEOCome eseguire correttamente una migrazione SEO
Come eseguire correttamente una migrazione SEO
 
I link interni sono fattori di rank? Scopriamolo!
I link interni sono fattori di rank? Scopriamolo!I link interni sono fattori di rank? Scopriamolo!
I link interni sono fattori di rank? Scopriamolo!
 
Wordpress e la gestione di progetti complessi
Wordpress e la gestione di progetti complessiWordpress e la gestione di progetti complessi
Wordpress e la gestione di progetti complessi
 
SEMrush WebStudy Marathon - SEO Tecnico - CMS in ottica SEO per i contenuti
SEMrush WebStudy Marathon - SEO Tecnico - CMS in ottica SEO per i contenutiSEMrush WebStudy Marathon - SEO Tecnico - CMS in ottica SEO per i contenuti
SEMrush WebStudy Marathon - SEO Tecnico - CMS in ottica SEO per i contenuti
 
WordPress - 9 Falsi miti smascherati - Andrea Cardinali - WordPress Romagna M...
WordPress - 9 Falsi miti smascherati - Andrea Cardinali - WordPress Romagna M...WordPress - 9 Falsi miti smascherati - Andrea Cardinali - WordPress Romagna M...
WordPress - 9 Falsi miti smascherati - Andrea Cardinali - WordPress Romagna M...
 
SEMrush WebStudy Marathon - SEO Tecnico - Robots Exclusion Protocol
SEMrush WebStudy Marathon - SEO Tecnico - Robots Exclusion ProtocolSEMrush WebStudy Marathon - SEO Tecnico - Robots Exclusion Protocol
SEMrush WebStudy Marathon - SEO Tecnico - Robots Exclusion Protocol
 
Black Hat Seo: il Lato Oscuro della SEO
Black Hat Seo: il Lato Oscuro della SEOBlack Hat Seo: il Lato Oscuro della SEO
Black Hat Seo: il Lato Oscuro della SEO
 
Sviluppare plugin per WordPress: Best Practice e Silver Bullet
Sviluppare plugin per WordPress: Best Practice e Silver BulletSviluppare plugin per WordPress: Best Practice e Silver Bullet
Sviluppare plugin per WordPress: Best Practice e Silver Bullet
 
Technical SEO Audit Checklist - Giovanni Sacheli Search Marketing Connect 2018
Technical SEO Audit Checklist - Giovanni Sacheli Search Marketing Connect 2018Technical SEO Audit Checklist - Giovanni Sacheli Search Marketing Connect 2018
Technical SEO Audit Checklist - Giovanni Sacheli Search Marketing Connect 2018
 
Sviluppare Plugin per WordPress
Sviluppare Plugin per WordPress Sviluppare Plugin per WordPress
Sviluppare Plugin per WordPress
 
Aggiornato! Il sito veloce senza codice
Aggiornato! Il sito veloce senza codiceAggiornato! Il sito veloce senza codice
Aggiornato! Il sito veloce senza codice
 
Seo Audit Demo
Seo Audit DemoSeo Audit Demo
Seo Audit Demo
 
WordPress e Yoast SEO - Da dove iniziare
WordPress e Yoast SEO - Da dove iniziareWordPress e Yoast SEO - Da dove iniziare
WordPress e Yoast SEO - Da dove iniziare
 
Tracciare le azioni sul sito con Google Analytics e Tag Manager - Web Marketi...
Tracciare le azioni sul sito con Google Analytics e Tag Manager - Web Marketi...Tracciare le azioni sul sito con Google Analytics e Tag Manager - Web Marketi...
Tracciare le azioni sul sito con Google Analytics e Tag Manager - Web Marketi...
 
Come fare SEO con AngularJS
Come fare SEO con AngularJSCome fare SEO con AngularJS
Come fare SEO con AngularJS
 
Seo per le startup
Seo per le startupSeo per le startup
Seo per le startup
 
Checklist: 18 passi per fare SEO Audit nel 2021 | Meta Line Digital Agency
Checklist: 18 passi per fare SEO Audit nel 2021 | Meta Line Digital AgencyChecklist: 18 passi per fare SEO Audit nel 2021 | Meta Line Digital Agency
Checklist: 18 passi per fare SEO Audit nel 2021 | Meta Line Digital Agency
 
Analisi dei competitor con Screaming Frog
Analisi dei competitor con Screaming FrogAnalisi dei competitor con Screaming Frog
Analisi dei competitor con Screaming Frog
 
Consigli e best practices SEO e PPC per l'Ecommerce
Consigli e best practices SEO e PPC per l'EcommerceConsigli e best practices SEO e PPC per l'Ecommerce
Consigli e best practices SEO e PPC per l'Ecommerce
 

Andere mochten auch

Lo Stato Attuale della Sicurezza nell'Ecosistema di Wordpress
Lo Stato Attuale della Sicurezza nell'Ecosistema di WordpressLo Stato Attuale della Sicurezza nell'Ecosistema di Wordpress
Lo Stato Attuale della Sicurezza nell'Ecosistema di Wordpressgbrindisi
 
WORKFLOW Export PSD to HTML
WORKFLOW Export PSD to HTMLWORKFLOW Export PSD to HTML
WORKFLOW Export PSD to HTMLfrancescomarzoli
 
"L'uso efficace di una tipografia corretta" @ WordCamp Bologna 2013
"L'uso efficace di una tipografia corretta" @ WordCamp Bologna 2013"L'uso efficace di una tipografia corretta" @ WordCamp Bologna 2013
"L'uso efficace di una tipografia corretta" @ WordCamp Bologna 2013Mattia Compagnucci
 
Responsive Design - Wordcamp 2013
Responsive Design - Wordcamp 2013Responsive Design - Wordcamp 2013
Responsive Design - Wordcamp 2013Mirko Santangelo
 
Perché odio i temi di WordPress
Perché odio i temi di WordPressPerché odio i temi di WordPress
Perché odio i temi di WordPressmatteo cavucci
 
UX laws - How to design a great user experience
UX laws - How to design a great user experienceUX laws - How to design a great user experience
UX laws - How to design a great user experienceLuca Mascaro
 
Cloud Computing & WordPress - Scalability and High Availability - wpcampbo13
Cloud Computing & WordPress - Scalability and High Availability - wpcampbo13Cloud Computing & WordPress - Scalability and High Availability - wpcampbo13
Cloud Computing & WordPress - Scalability and High Availability - wpcampbo13Corley S.r.l.
 
Manage custom options pages in Wordpress
Manage custom options pages in WordpressManage custom options pages in Wordpress
Manage custom options pages in WordpressSimone D'Amico
 
Best Practices Mobile Web: Il "Tap" è il nuovo "Click" @ Wordcamp Bologna
Best Practices Mobile Web: Il "Tap" è il nuovo "Click" @ Wordcamp BolognaBest Practices Mobile Web: Il "Tap" è il nuovo "Click" @ Wordcamp Bologna
Best Practices Mobile Web: Il "Tap" è il nuovo "Click" @ Wordcamp BolognaLuca Degli Esposti
 
WordPress Development Tools and Best Practices
WordPress Development Tools and Best PracticesWordPress Development Tools and Best Practices
WordPress Development Tools and Best PracticesDanilo Ercoli
 
21 life changing beliefs
21 life changing beliefs21 life changing beliefs
21 life changing beliefsShravan Shetty
 
Find Your Tribe
Find Your TribeFind Your Tribe
Find Your TribeZac
 
Takach- New Tactics for Building Medical Homes
Takach- New Tactics for Building Medical HomesTakach- New Tactics for Building Medical Homes
Takach- New Tactics for Building Medical HomesNASHP HealthPolicy
 
Reputation management in six (sort of) easy steps
Reputation management in six (sort of) easy stepsReputation management in six (sort of) easy steps
Reputation management in six (sort of) easy stepsmickeylonchar
 
Your game is not my game, but your game is ok
Your game is not my game, but your game is okYour game is not my game, but your game is ok
Your game is not my game, but your game is okpyrografica
 
ξάνθη
ξάνθηξάνθη
ξάνθηteo70
 

Andere mochten auch (20)

Lo Stato Attuale della Sicurezza nell'Ecosistema di Wordpress
Lo Stato Attuale della Sicurezza nell'Ecosistema di WordpressLo Stato Attuale della Sicurezza nell'Ecosistema di Wordpress
Lo Stato Attuale della Sicurezza nell'Ecosistema di Wordpress
 
WORKFLOW Export PSD to HTML
WORKFLOW Export PSD to HTMLWORKFLOW Export PSD to HTML
WORKFLOW Export PSD to HTML
 
"L'uso efficace di una tipografia corretta" @ WordCamp Bologna 2013
"L'uso efficace di una tipografia corretta" @ WordCamp Bologna 2013"L'uso efficace di una tipografia corretta" @ WordCamp Bologna 2013
"L'uso efficace di una tipografia corretta" @ WordCamp Bologna 2013
 
Responsive Design - Wordcamp 2013
Responsive Design - Wordcamp 2013Responsive Design - Wordcamp 2013
Responsive Design - Wordcamp 2013
 
Perché odio i temi di WordPress
Perché odio i temi di WordPressPerché odio i temi di WordPress
Perché odio i temi di WordPress
 
UX laws - How to design a great user experience
UX laws - How to design a great user experienceUX laws - How to design a great user experience
UX laws - How to design a great user experience
 
Cloud Computing & WordPress - Scalability and High Availability - wpcampbo13
Cloud Computing & WordPress - Scalability and High Availability - wpcampbo13Cloud Computing & WordPress - Scalability and High Availability - wpcampbo13
Cloud Computing & WordPress - Scalability and High Availability - wpcampbo13
 
Manage custom options pages in Wordpress
Manage custom options pages in WordpressManage custom options pages in Wordpress
Manage custom options pages in Wordpress
 
Best Practices Mobile Web: Il "Tap" è il nuovo "Click" @ Wordcamp Bologna
Best Practices Mobile Web: Il "Tap" è il nuovo "Click" @ Wordcamp BolognaBest Practices Mobile Web: Il "Tap" è il nuovo "Click" @ Wordcamp Bologna
Best Practices Mobile Web: Il "Tap" è il nuovo "Click" @ Wordcamp Bologna
 
WordPress Development Tools and Best Practices
WordPress Development Tools and Best PracticesWordPress Development Tools and Best Practices
WordPress Development Tools and Best Practices
 
21 life changing beliefs
21 life changing beliefs21 life changing beliefs
21 life changing beliefs
 
Qltg thv
Qltg thvQltg thv
Qltg thv
 
Find Your Tribe
Find Your TribeFind Your Tribe
Find Your Tribe
 
Anna kvittar Hyper
Anna kvittar HyperAnna kvittar Hyper
Anna kvittar Hyper
 
Takach- New Tactics for Building Medical Homes
Takach- New Tactics for Building Medical HomesTakach- New Tactics for Building Medical Homes
Takach- New Tactics for Building Medical Homes
 
OK Online Enrollment
OK Online EnrollmentOK Online Enrollment
OK Online Enrollment
 
Il slides final
Il slides finalIl slides final
Il slides final
 
Reputation management in six (sort of) easy steps
Reputation management in six (sort of) easy stepsReputation management in six (sort of) easy steps
Reputation management in six (sort of) easy steps
 
Your game is not my game, but your game is ok
Your game is not my game, but your game is okYour game is not my game, but your game is ok
Your game is not my game, but your game is ok
 
ξάνθη
ξάνθηξάνθη
ξάνθη
 

Ähnlich wie 5 consigli SEO da tenere a mente durante lo sviluppo di temi e plugin @ WpCamp Bologna 2013

Sfruttare il Potenziale Nativo di WordPress - WordCamp Bologna 2013
Sfruttare il Potenziale Nativo di WordPress - WordCamp Bologna 2013Sfruttare il Potenziale Nativo di WordPress - WordCamp Bologna 2013
Sfruttare il Potenziale Nativo di WordPress - WordCamp Bologna 2013Giuliano Ambrosio
 
301 modi di fare Redirect
301 modi di fare Redirect301 modi di fare Redirect
301 modi di fare RedirectMosaiko Web srl
 
Training Signal Webtrends
Training Signal WebtrendsTraining Signal Webtrends
Training Signal WebtrendsStefano Iaboni
 
Creare un tema personalizzato per wordpress
Creare un tema personalizzato per wordpressCreare un tema personalizzato per wordpress
Creare un tema personalizzato per wordpressGGDBologna
 
DDAY2014 - Performance in Drupal 8
DDAY2014 - Performance in Drupal 8DDAY2014 - Performance in Drupal 8
DDAY2014 - Performance in Drupal 8DrupalDay
 
Miglioriamo le performance di wordpress
Miglioriamo le performance di wordpress Miglioriamo le performance di wordpress
Miglioriamo le performance di wordpress GGDBologna
 
Ottimizzare WordPress non solo per i motori di ricerca
Ottimizzare WordPress non solo per i motori di ricercaOttimizzare WordPress non solo per i motori di ricerca
Ottimizzare WordPress non solo per i motori di ricercaTiziano Fogliata
 
WebSphere Portal & User Experience
WebSphere Portal & User ExperienceWebSphere Portal & User Experience
WebSphere Portal & User ExperienceAndrea Fontana
 
CMS in ottica SEO per i contenuti - SEMrush WebStudy Marathon - SEO Tecnico -...
CMS in ottica SEO per i contenuti - SEMrush WebStudy Marathon - SEO Tecnico -...CMS in ottica SEO per i contenuti - SEMrush WebStudy Marathon - SEO Tecnico -...
CMS in ottica SEO per i contenuti - SEMrush WebStudy Marathon - SEO Tecnico -...Andrea Cardinali
 
21 SEO actions per il lancio di un nuovo sito
21 SEO actions per il lancio di un nuovo sito21 SEO actions per il lancio di un nuovo sito
21 SEO actions per il lancio di un nuovo sitoMarketing Freaks
 
Dalla SEO alla CBO: Il Crawling Budget Optimization
Dalla SEO alla CBO: Il Crawling Budget OptimizationDalla SEO alla CBO: Il Crawling Budget Optimization
Dalla SEO alla CBO: Il Crawling Budget OptimizationMartino Mosna
 
Drupal 8: dal download del Core alla pubblicazione in produzione. Cos'è cambi...
Drupal 8: dal download del Core alla pubblicazione in produzione. Cos'è cambi...Drupal 8: dal download del Core alla pubblicazione in produzione. Cos'è cambi...
Drupal 8: dal download del Core alla pubblicazione in produzione. Cos'è cambi...DrupalDay
 
Drupal 8 - dal download del core alla pubblicazione in produzione
Drupal 8 - dal download del core alla pubblicazione in produzioneDrupal 8 - dal download del core alla pubblicazione in produzione
Drupal 8 - dal download del core alla pubblicazione in produzionesparkfabrik
 
Mantenere una distribuzione Drupal attraverso test coverage: Paddle case study
Mantenere una distribuzione Drupal attraverso test coverage: Paddle case studyMantenere una distribuzione Drupal attraverso test coverage: Paddle case study
Mantenere una distribuzione Drupal attraverso test coverage: Paddle case studyDrupalDay
 

Ähnlich wie 5 consigli SEO da tenere a mente durante lo sviluppo di temi e plugin @ WpCamp Bologna 2013 (20)

Sfruttare il Potenziale Nativo di WordPress - WordCamp Bologna 2013
Sfruttare il Potenziale Nativo di WordPress - WordCamp Bologna 2013Sfruttare il Potenziale Nativo di WordPress - WordCamp Bologna 2013
Sfruttare il Potenziale Nativo di WordPress - WordCamp Bologna 2013
 
301 modi di fare Redirect
301 modi di fare Redirect301 modi di fare Redirect
301 modi di fare Redirect
 
Training Signal Webtrends
Training Signal WebtrendsTraining Signal Webtrends
Training Signal Webtrends
 
Creare un tema personalizzato per wordpress
Creare un tema personalizzato per wordpressCreare un tema personalizzato per wordpress
Creare un tema personalizzato per wordpress
 
DDAY2014 - Performance in Drupal 8
DDAY2014 - Performance in Drupal 8DDAY2014 - Performance in Drupal 8
DDAY2014 - Performance in Drupal 8
 
Miglioriamo le performance di wordpress
Miglioriamo le performance di wordpress Miglioriamo le performance di wordpress
Miglioriamo le performance di wordpress
 
Ottimizzare WordPress non solo per i motori di ricerca
Ottimizzare WordPress non solo per i motori di ricercaOttimizzare WordPress non solo per i motori di ricerca
Ottimizzare WordPress non solo per i motori di ricerca
 
WebSphere Portal e WCM #dd12
WebSphere Portal e WCM #dd12WebSphere Portal e WCM #dd12
WebSphere Portal e WCM #dd12
 
WebSphere Portal & User Experience
WebSphere Portal & User ExperienceWebSphere Portal & User Experience
WebSphere Portal & User Experience
 
IBM WCM e SEO
IBM WCM e SEOIBM WCM e SEO
IBM WCM e SEO
 
Madaudo
MadaudoMadaudo
Madaudo
 
Presentazione.Gt.2.2007
Presentazione.Gt.2.2007Presentazione.Gt.2.2007
Presentazione.Gt.2.2007
 
CMS in ottica SEO per i contenuti - SEMrush WebStudy Marathon - SEO Tecnico -...
CMS in ottica SEO per i contenuti - SEMrush WebStudy Marathon - SEO Tecnico -...CMS in ottica SEO per i contenuti - SEMrush WebStudy Marathon - SEO Tecnico -...
CMS in ottica SEO per i contenuti - SEMrush WebStudy Marathon - SEO Tecnico -...
 
Seo con drupal
Seo con drupalSeo con drupal
Seo con drupal
 
Grasso
GrassoGrasso
Grasso
 
21 SEO actions per il lancio di un nuovo sito
21 SEO actions per il lancio di un nuovo sito21 SEO actions per il lancio di un nuovo sito
21 SEO actions per il lancio di un nuovo sito
 
Dalla SEO alla CBO: Il Crawling Budget Optimization
Dalla SEO alla CBO: Il Crawling Budget OptimizationDalla SEO alla CBO: Il Crawling Budget Optimization
Dalla SEO alla CBO: Il Crawling Budget Optimization
 
Drupal 8: dal download del Core alla pubblicazione in produzione. Cos'è cambi...
Drupal 8: dal download del Core alla pubblicazione in produzione. Cos'è cambi...Drupal 8: dal download del Core alla pubblicazione in produzione. Cos'è cambi...
Drupal 8: dal download del Core alla pubblicazione in produzione. Cos'è cambi...
 
Drupal 8 - dal download del core alla pubblicazione in produzione
Drupal 8 - dal download del core alla pubblicazione in produzioneDrupal 8 - dal download del core alla pubblicazione in produzione
Drupal 8 - dal download del core alla pubblicazione in produzione
 
Mantenere una distribuzione Drupal attraverso test coverage: Paddle case study
Mantenere una distribuzione Drupal attraverso test coverage: Paddle case studyMantenere una distribuzione Drupal attraverso test coverage: Paddle case study
Mantenere una distribuzione Drupal attraverso test coverage: Paddle case study
 

Mehr von Andrea Cardinali

5 falsi miti su Woocommerce - Andrea Cardinali - WordCamp Catania 2019
5 falsi miti su Woocommerce - Andrea Cardinali - WordCamp Catania 20195 falsi miti su Woocommerce - Andrea Cardinali - WordCamp Catania 2019
5 falsi miti su Woocommerce - Andrea Cardinali - WordCamp Catania 2019Andrea Cardinali
 
WordPress Async 101 - An Introduction to wp-ajax and rest api - WordCamp Bari...
WordPress Async 101 - An Introduction to wp-ajax and rest api - WordCamp Bari...WordPress Async 101 - An Introduction to wp-ajax and rest api - WordCamp Bari...
WordPress Async 101 - An Introduction to wp-ajax and rest api - WordCamp Bari...Andrea Cardinali
 
From Cache to Ca$h - Advanced use of WP Cache - Andrea Cardinali
From Cache to Ca$h - Advanced use of WP Cache - Andrea CardinaliFrom Cache to Ca$h - Advanced use of WP Cache - Andrea Cardinali
From Cache to Ca$h - Advanced use of WP Cache - Andrea CardinaliAndrea Cardinali
 
4+1 Errori SEO Fatali per il tuo sito WordPress
4+1 Errori SEO Fatali per il tuo sito WordPress4+1 Errori SEO Fatali per il tuo sito WordPress
4+1 Errori SEO Fatali per il tuo sito WordPressAndrea Cardinali
 
Andrea Cardinali - WordPress Performance Optimization Cos'è cambiato con HTTP/2
Andrea Cardinali - WordPress Performance Optimization Cos'è cambiato con HTTP/2Andrea Cardinali - WordPress Performance Optimization Cos'è cambiato con HTTP/2
Andrea Cardinali - WordPress Performance Optimization Cos'è cambiato con HTTP/2Andrea Cardinali
 
Andrea Cardinali - SEO on Site e WordPress Errori da Evitare
Andrea Cardinali - SEO on Site e WordPress Errori da Evitare Andrea Cardinali - SEO on Site e WordPress Errori da Evitare
Andrea Cardinali - SEO on Site e WordPress Errori da Evitare Andrea Cardinali
 
Rivoluziona il tuo sito con le WP REST API - Andrea Cardinali
Rivoluziona il tuo sito con le WP REST API - Andrea CardinaliRivoluziona il tuo sito con le WP REST API - Andrea Cardinali
Rivoluziona il tuo sito con le WP REST API - Andrea CardinaliAndrea Cardinali
 
Realizzare siti velocissimi che si caricano in un secondo - WordCamp Milano 2...
Realizzare siti velocissimi che si caricano in un secondo - WordCamp Milano 2...Realizzare siti velocissimi che si caricano in un secondo - WordCamp Milano 2...
Realizzare siti velocissimi che si caricano in un secondo - WordCamp Milano 2...Andrea Cardinali
 
Gestione avanzata di WordPress con WP-CLI - WordCamp Torino 2017 - Andrea Car...
Gestione avanzata di WordPress con WP-CLI - WordCamp Torino 2017 - Andrea Car...Gestione avanzata di WordPress con WP-CLI - WordCamp Torino 2017 - Andrea Car...
Gestione avanzata di WordPress con WP-CLI - WordCamp Torino 2017 - Andrea Car...Andrea Cardinali
 
I vantaggi di utilizzare un Visual Composer - WordCamp Torino 2017 - Andrea C...
I vantaggi di utilizzare un Visual Composer - WordCamp Torino 2017 - Andrea C...I vantaggi di utilizzare un Visual Composer - WordCamp Torino 2017 - Andrea C...
I vantaggi di utilizzare un Visual Composer - WordCamp Torino 2017 - Andrea C...Andrea Cardinali
 
Professional WordPress Development with Vagrant - Andrea Cardinali - WordCam...
Professional WordPress Development with Vagrant - Andrea Cardinali -  WordCam...Professional WordPress Development with Vagrant - Andrea Cardinali -  WordCam...
Professional WordPress Development with Vagrant - Andrea Cardinali - WordCam...Andrea Cardinali
 

Mehr von Andrea Cardinali (11)

5 falsi miti su Woocommerce - Andrea Cardinali - WordCamp Catania 2019
5 falsi miti su Woocommerce - Andrea Cardinali - WordCamp Catania 20195 falsi miti su Woocommerce - Andrea Cardinali - WordCamp Catania 2019
5 falsi miti su Woocommerce - Andrea Cardinali - WordCamp Catania 2019
 
WordPress Async 101 - An Introduction to wp-ajax and rest api - WordCamp Bari...
WordPress Async 101 - An Introduction to wp-ajax and rest api - WordCamp Bari...WordPress Async 101 - An Introduction to wp-ajax and rest api - WordCamp Bari...
WordPress Async 101 - An Introduction to wp-ajax and rest api - WordCamp Bari...
 
From Cache to Ca$h - Advanced use of WP Cache - Andrea Cardinali
From Cache to Ca$h - Advanced use of WP Cache - Andrea CardinaliFrom Cache to Ca$h - Advanced use of WP Cache - Andrea Cardinali
From Cache to Ca$h - Advanced use of WP Cache - Andrea Cardinali
 
4+1 Errori SEO Fatali per il tuo sito WordPress
4+1 Errori SEO Fatali per il tuo sito WordPress4+1 Errori SEO Fatali per il tuo sito WordPress
4+1 Errori SEO Fatali per il tuo sito WordPress
 
Andrea Cardinali - WordPress Performance Optimization Cos'è cambiato con HTTP/2
Andrea Cardinali - WordPress Performance Optimization Cos'è cambiato con HTTP/2Andrea Cardinali - WordPress Performance Optimization Cos'è cambiato con HTTP/2
Andrea Cardinali - WordPress Performance Optimization Cos'è cambiato con HTTP/2
 
Andrea Cardinali - SEO on Site e WordPress Errori da Evitare
Andrea Cardinali - SEO on Site e WordPress Errori da Evitare Andrea Cardinali - SEO on Site e WordPress Errori da Evitare
Andrea Cardinali - SEO on Site e WordPress Errori da Evitare
 
Rivoluziona il tuo sito con le WP REST API - Andrea Cardinali
Rivoluziona il tuo sito con le WP REST API - Andrea CardinaliRivoluziona il tuo sito con le WP REST API - Andrea Cardinali
Rivoluziona il tuo sito con le WP REST API - Andrea Cardinali
 
Realizzare siti velocissimi che si caricano in un secondo - WordCamp Milano 2...
Realizzare siti velocissimi che si caricano in un secondo - WordCamp Milano 2...Realizzare siti velocissimi che si caricano in un secondo - WordCamp Milano 2...
Realizzare siti velocissimi che si caricano in un secondo - WordCamp Milano 2...
 
Gestione avanzata di WordPress con WP-CLI - WordCamp Torino 2017 - Andrea Car...
Gestione avanzata di WordPress con WP-CLI - WordCamp Torino 2017 - Andrea Car...Gestione avanzata di WordPress con WP-CLI - WordCamp Torino 2017 - Andrea Car...
Gestione avanzata di WordPress con WP-CLI - WordCamp Torino 2017 - Andrea Car...
 
I vantaggi di utilizzare un Visual Composer - WordCamp Torino 2017 - Andrea C...
I vantaggi di utilizzare un Visual Composer - WordCamp Torino 2017 - Andrea C...I vantaggi di utilizzare un Visual Composer - WordCamp Torino 2017 - Andrea C...
I vantaggi di utilizzare un Visual Composer - WordCamp Torino 2017 - Andrea C...
 
Professional WordPress Development with Vagrant - Andrea Cardinali - WordCam...
Professional WordPress Development with Vagrant - Andrea Cardinali -  WordCam...Professional WordPress Development with Vagrant - Andrea Cardinali -  WordCam...
Professional WordPress Development with Vagrant - Andrea Cardinali - WordCam...
 

5 consigli SEO da tenere a mente durante lo sviluppo di temi e plugin @ WpCamp Bologna 2013

  • 1. 5 Regole SEO da tenere a mente nello sviluppo di temi e plugin Wordpress di ANDREA CARDINALI WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 2. SI DICE CHE LA SEO E’ MORTA… WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 3. #1: LA SEO NON MORIRA’ MAI WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 4. #2 LINKING INTERNO E INDICIZZAZIONE LINKING INTERNO FONTE: http://www.linkdex.com/blog/page-rank-and-link-juice-explained/ WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 5. #2 LINKING INTERNO E INDICIZZAZIONE LINKING INTERNO In generale evitare di avere troppi link su una pagina. Cosa evitare: • Tag cloud nel footer (effettuare una selezione dei tag) • Paginazione elevata Cercate di distribuire al meglio il link juice. Cosa fare: • Utilizzare i breadcrumbs • Link sitewide alla mappa del sito • Linkare le pagine con ancor text differenti • Se nella pagina sono presenti più link alla stessa risorsa, verificare che il link che si trova più in alto nella pagina (nel codice sorgente) abbia un anchor text ottimizzato (es. Titolo post + leggi tutto) • Noindex, follow nelle pagine superiori alla prima WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 6. #2 LINKING INTERNO E INDICIZZAZIONE – ROBOTS.TXT ROBOTS.TXT File virtuale gestito in automatico da WP (Non inserirlo nella web root) Aggiungere regole al robots.txt add_filter(‘robots_txt’,’crd_blocca_file’,999,1); function crd_blocca_cartella_plugin($output) { $site_url = parse_url( site_url() ); $path = ( !empty( $site_url['path'] ) ) ? $site_url['path'] : ''; $output .= "Disallow: $path/filedabloccare.phpn"; return $output; } User-agent: * Disallow: /filedabloccare.php WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 7. #2 LINKING INTERNO E INDICIZZAZIONE – META ROBOTS GESTIONE meta name=‘robots’ Se non specificato lo spider considera la pagine come INDEX, FOLLOW NOINDEX, NOFOLLOW • i link presenti all’interno della pagina non vengono seguiti • tutto ciò che non vogliamo compaia nei risultati di ricerca NOINDEX, FOLLOW • la pagina non compare nei risultati di ricerca ma i risultati sì* WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 8. #2 LINKING INTERNO E INDICIZZAZIONE – META ROBOTS GESTIONE meta name=‘robots’ Aggiungere il <meta name=‘robots’> nell’ <head> add_action( 'wp_head',crd_custom_meta',999 ); function crd_custom_meta() { echo "<meta name='robots' content='noindex,follow' />n"; } <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta name='robots' content='noindex,follow' /> http://support.google.com/webmasters/bin/answer.py?hl=it&answer=93710 WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 9. #2 LINKING INTERNO E INDICIZZAZIONE – META ROBOTS GESTIONE meta name=‘robots’ Bloccare indicizzazione tramite Header X-Robots-Tag <?php @header( 'Content-Type: text/html; charset=' . get_option( 'blog_charset' ) ); @header( 'X-Robots-Tag: noindex' ); WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 10. #2 LINKING INTERNO E INDICIZZAZIONE – STATUS CODE RISPOSTE HTTP (STATUS CODE) CORRETTE 200 - OK 302 – Found 301 – Moved Permanently 404 – Not Found 503 - Unavailable TOOLS: • Firebug • Network Inspector • Fiddler WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 11. #2 LINKING INTERNO E INDICIZZAZIONE – STATUS CODE STATUS CODE 200: OK WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 12. #2 LINKING INTERNO E INDICIZZAZIONE – STATUS CODE STATUS CODE 302 (TEMPORANEO) • Da utilizzare quando si cambia provvisoriamente url a una risorsa. (es. voglio dirottare i visitatori dalla homepage a una landing page) • Lo spider non aggiorna l’url della risorsa • Non trasferisce Link juice • ATTENZIONE: wp_redirect($url) utilizza il 302 • Utilizzato anche per _wp_old_slug WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 13. #2 LINKING INTERNO E INDICIZZAZIONE – STATUS CODE STATUS CODE 301: MOVED PERMANENTLY • Da utilizzare quando si cambia url a una risorsa. • Trasferisce Link juice • Utile soprattutto quando si cambia permalink ad un url dopo la pubblicazione • Attenzione a _wp_old_slug (function wp_old_slug_redirect ) • Attenzione a quando si cambia la struttura dei permalink Wordpress di default utilizza lo status code 302 (Non passa link juice). Per modificare questo comportamento: add_filter(‘wp_redirect_status’,’crd_redirect_corretto’,10,2); function crd_redirect_corretto ($location,$status) { //aggiungere eventuale condizione aggiuntiva x 301 if(302==$status) $status=301; return $status; } WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 14. #2 LINKING INTERNO E INDICIZZAZIONE – STATUS CODE STATUS CODE 301: MOVED PERMANENTLY Come inserire un redirect (o qualsiasi altra regola) nel .htaccess //utilizzare solo nell’admin es. add_action('admin_init', 'crd_htaccess'); function crd_htaccess() { $htaccess_file = ABSPATH.'.htaccess'; $rules=array(); $rules[]='Redirect 301 /vecchio-url/ http://www.example.com/nuovo- url/'; insert_with_markers( $htaccess_file, 'Marker personalizzato Redirect', $rules ); } Redirect 301 /vecchio-url/ http://www.example.com/nuovo-url/ WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 15. #2 LINKING INTERNO E INDICIZZAZIONE – STATUS CODE STATUS CODE 404: NOT FOUND • Restituito ogni volta che si richiede una risorsa inesistente • Importante monitorarli ( è possibile farlo in almeno 4 modi diversi) • E’ possibile personalizzare la pagina d’errore (404.php) WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 16. #2 LINKING INTERNO E INDICIZZAZIONE – STATUS CODE STATUS CODE 404: COME TRACCIARLO (1) Tracciamento tramite file di testo e/o email di alert: add_action (‘template_redirect’,’crd_log_404’); function crd_log_404() { if(is_404()) { //consigliato solo per siti nuovi e/o con pochi errori wp_mail(‘webmaster@example.com’,’errore 404’, $_SERVER[‘REQUEST_URI’]); //il file error.log deve essere scrivibile file_put_contents(‘error.log’,sprintf(‘%s - %s ’,date(‘d-m-Y h:i:s’), ’, $_SERVER[‘REQUEST_URI’]) } } WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 17. #2 LINKING INTERNO E INDICIZZAZIONE – STATUS CODE STATUS CODE 404: COME TRACCIARLO (2) Tracciamento tramite Google Analytics (inserire in 404.php) <script type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-XXXXX-X']); _gaq.push(['_trackEvent', 'Error', '404', ‘pagina’+ document.location.pathname + document.location.search + '&from=' + document.referrer]); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })(); </script> WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 18. #2 LINKING INTERNO E INDICIZZAZIONE – STATUS CODE STATUS CODE 404: COME RESTITUIRLO Impostare manualmente un 404: <?php global $wp_query; $wp_query->set_404(); status_header( 404 ); ?> WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 19. #2: MASSIMIZZARE L’INDICIZZAZIONE – STATUS CODE STATUS CODE 404: NOT FOUND Personalizzate il template 404.php • [Internet Explorer will only show your custom 404 page if it’s larger than 512 bytes (hard to get smaller than that with WordPress).] Proponete alternative: • Ricerca • Sitemap • Link all’homepage • Miglior alternativa http://yoast.com/404-error-pages-wordpress/ WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 20. #2: MASSIMIZZARE L’INDICIZZAZIONE STATUS CODE 503: SERVICE UNAVAILABLE • Da utilizzare durante le operazioni di manutenzione • Specificare anche l’header Retry-After Per personalizzare la pagina, creare il file maintance.php dentro wp-content (non utilizzare funzioni di WP ) <?php $protocol = $_SERVER["SERVER_PROTOCOL"]; if ( 'HTTP/1.1' != $protocol && 'HTTP/1.0' != $protocol ) $protocol = 'HTTP/1.0'; header( "$protocol 503 Service Unavailable", true, 503 ); header( 'Content-Type: text/html; charset=utf-8' ); header( 'Retry-After: 3600' ); // 3600 secondi = 1ora ?> <!DOCTYPE html> <html> <head> <title>Sorry, We're Getting Tuned Up</title> <!– […] --> WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 21. #3: EVITARE CONTENUTI DUPLICATI NO AI CONTENUTI DUPLICATI WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 22. #3: EVITARE CONTENUTI DUPLICATI 36 + 15 + 17= 68 WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 23. #3: EVITARE CONTENUTI DUPLICATI COME EVITARE I CONTENUTI DUPLICATI -1 Nelle pagine archivio e categoria non inserire il post completo if(have_posts()):while(have_posts()):the_post();?> <div class=‘post’> <h3><a href="<?php the_permalink()?>"> <?php the_title()?></a></h3> <?php the_excerpt()?> <p><a class="btn" href="<?php the_permalink()?>">Leggi&raquo;</a> </p> </div><!--/.post--> <?php endwhile; endif;?> • Evitare d’inserire l’excerpt nella pagina in cui è presente il post (è un riassunto) • Scegliere se far indicizzare categorie o tag (non entrambi) WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 24. #3: EVITARE CONTENUTI DUPLICATI COME EVITARE I CONTENUTI DUPLICATI - 2 • Aggiungere testo unico nella pagina archivio (solo nella prima e non nelle successive) DESCRIZIONE UNICA IN ARCHIVE.PHP <h1><?php echo single_cat_title('',false)?></h1> <?php if(!is_paged()): <p><?php category_description()?></p> <?php endif;?> WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 25. #4: CANONICALIZZAZIONE DEI CONTENUTI UTILIZZO rel=‘canonical’ Es. ordinamento risultati tramite query string http://www.example.com/prodotti/plugin/?sort=alpha http://www.example.com/prodotti/plugin/?sort=price COME AGGIUNGERE IL CANONICAL IN UNA PAGINA: remove_action(‘wp_head’,’rel_canonical’); add_action(‘wp_head’, crd_manage_canonical’); function crd_manage_canonical() { $link=‘http://www.example.com/prodotti/plugin/’; echo "<link rel='canonical' href='$link' />n"; } <link rel=‘canonical’ href=‘http://www.example.com/prodotti/plugin/’ /> WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 26. #5: UTILIZZARE I MICROFORMATI MICROFORMATI WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 27. #5: UTILIZZARE I MICROFORMATI HCALENDAR WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 28. #5: UTILIZZARE I MICROFORMATI HREVIEW-AGGREGATE (VOTES) WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 29. #5: UTILIZZARE I MICROFORMATI HREVIEW-AGGREGATE (COUNT) WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 30. #5: UTILIZZARE I MICROFORMATI HRECIPE WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 31. #5: UTILIZZARE I MICROFORMATI IMPLEMENTARE rel=‘author’ 3 STEP 1. Link dall’articolo alla pagina autore interna al sito 2. Link dalla pagina autore al profilo G+ con rel=‘author’ 3. Link dalla pagina profilo G+ alla pagina autore con rel=‘me’ APPROFONDIMENTO: http://seoblog.giorgiotave.it/implementare-rel-author/2108 WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 32. #4: EVITARE CONTENUTI DUPLICATI IMPLEMENTARE rel=‘author’ In single.php Altri articoli di<a href="<?php echo get_author_posts_url(get_the_author_meta('ID'));?>“ rel=“author”> <?php the_author()?></a> In author.php <a href="<?php echo get_the_author_meta(‘gplus');?>" rel=“me" target="_blank">Google plus</a> gplus è un custom user meta. WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 33. #4: EVITARE CONTENUTI DUPLICATI APPROFONDIMENTI SCHEMA.ORG http://www.schema.org GOOGLE RICH SNIPPET TESTING TOOL: http://www.google.com/webmasters/tools/richsnippets GENERATORE SCHEMA.ORG: http://www.microdatagenerator.com/ ALTRO GENERATORE SCHEMA.ORG http://schema-creator.org WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 34. WEB PERFORMANCE OPTIMIZATION DOMANDE? WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  • 35. RELATORE GRAZIE! Andrea Cardinali Web: www.andreacardinali.it Twitter: @andreacardinali Google + : Andrea Cardinali WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13