WordPress, come risolvere il problema dei tag H1 multipli

Chi mi conosce sa che, oltre che scrivere, mi piace molto anche programmare. Del resto, molti dei miei progetti di gamification e storytelling sono esempi di programmazione a oggetti. Più in generale, per guadagnare visibilità nel World Wide Web – e quindi lettori, utenti – non basta proporre contenuti interessanti. Bisogna anche tenere in ordine il codice del proprio sito, soprattutto quando ci si avvale di una piattaforma software complessa come WordPress.

Famoso per essere uno strumento di sviluppo assolutamente accessibile e adatto anche a chi ha poca dimestichezza con php e html, il CMS di Matt Mullenweg richiede comunque grande attenzione. Soprattutto nella scelta del template, cioè il modello delle pagine del sito. Cercando con Google, oltre che con il motore di ricerca interno di WordPress, potete trovarne tantissimi, perlopiù gratuiti. Ma se pensate che, per attrarre lettori, basti scegliere una bella grafica, vi sbagliate di grosso.

Secondo Salvatore Aranzulla, Riccardo Scandellari e altri esperti che ho avuto il piacere di intervistare, la maggior parte degli accessi si ottiene con Google. Anche nell’era dei social network, in cui occorre condividere tutto con tutti, il motore di ricerca di Page e Brin è il sito più utilizzato per cercare, e trovare, informazioni, sia per il lavoro che per lo svago. E siccome il posto migliore per nascondere un cadavere è la seconda pagina dei risultati di ricerca di Google (perché non la guarda nessuno), i nostri contenuti devono posizionarsi non bene, benissimo!

Il template Twenty Eleven, vecchio amico della SEO

Il template Twenty Eleven

L’amico Davide Prevosto della web agency Encodia ha recentemente pubblicato un libro sulla SEO Audit per spiegare quanto sia importante la manutenzione del codice per avere un sito sempre ben posizionato su Google. Un template può darvi molti vantaggi, in termini di divulgazione dei vostri contenuti digitali, ma anche qualche svantaggio. Io uso il template Twenty Eleven praticamente da sempre, cioè dalla primavera del 2012. È semplice, funzionale e anche responsive, cioè capace di adattarsi allo schermo del dispositivo – pc, tablet, smartphone – che visualizza il sito. Negli anni però ho dovuto imparare a risolvere alcuni problemucci che hanno rischiato di compromettere il buon posizionamento del sito su cui anche voi ora state navigando. Google infatti penalizza le pagine che non sono impostate secondo certi standard.

Per esempio è buona norma che in una pagina non ci sia più di un tag H1, cioè quello che dà il titolo all’articolo. Si tratta infatti di un tag molto potente che, come il tag TITLE che appare di solito nel titolo della scheda del browser, deve servire a presentare, sintetizzandolo in una riga, il contenuto della pagina. Se ce ne sono due o più, il programma di Google che deve posizionare la pagina può penalizzare questa ambiguità. O almeno questo è quello che dicono molti esperti di analisi SEO, che poi è la Search Engine Optimization.

Come eliminare il problema dei tag H1 multipli nel template Twenty Eleven

Purtroppo il template Twenty Eleven è uno di quelli che, in molte pagine, utilizza tag H1 multipli. Per risolvere il problema ho dovuto trafficare un po’ con l’editor del tema che si trova nella sezione Aspetto della Bacheca. Ne scrivo qui perché non mi pare sia stata ancora pubblicata una soluzione a questo problema. O almeno io non l’ho trovata. Naturalmente, prima di avventurarvi nella modifica del codice php del vostro sito, fate un back up!

Cominciamo dal problema più grosso. Nei siti basati su Twenty Eleven tutte le pagine hanno il tag H1 doppio perché il template lo utilizza sia per il nome del sito che per il titolo dell’articolo. Almeno uno andrebbe tolto e io ho scelto di togliere quello del nome del sito, che però è appaiato al tag H2 del sottotitolo, che va a sua volta tolto per evitare che ci sia un H2 prima di un H1 (altra cosa solitamente deprecata).

Per risolvere sono andato a cercare le seguenti righe del file header.php:

<hgroup>
  <h1 id="site-title"><span><a href="<?php echo esc_url( home_url( '/' ) ); ?>" rel="home"><?php bloginfo( 'name' ); ?></a></span><br>
  <h2 id="site-description"><?php bloginfo( 'description' ); ?></h2>
</hgroup>

E le ho riscritte così:

<hgroup>
  <p id="site-title"><span><a href="<?php echo esc_url( home_url( '/' ) ); ?>" rel="home"><?php bloginfo( 'name' ); ?></a></span><br>
  <span id="site-description"><?php bloginfo( 'description' ); ?></span>
  </p>
</hgroup>

Con i tag P e SPAN al posto di H1 e H2, grazie al mantenimento degli id “site-title” e “site-description”, l’intestazione del sito è pressoché uguale a prima. Resta però un altro grosso problema relativo al template Twenty One.

Dieci tag H1 nelle pagine del blog

Nelle pagine del blog, il titolo di ogni articolo elencato – e sono dieci! – ha il tag H1. Come toglierli tutti in un colpo o almeno in due? La prima cosa da fare è togliere il tag H1 – modificandolo in H2 – nel file content.php. Poi, siccome almeno un tag H1 ci deve essere, bisogna aggiungere la riga <h1 class="page-title">Blog</h1> nel file index.php:

<?php if ( have_posts() ) : ?>
  <h1 class="page-title">Blog</h1>
<?php twentyeleven_content_nav( 'nav-above' ); ?>

L’editor del tema presente nella Bacheca di WordPress permette di fare molte altre cose. Avendo un po’ di dimestichezza con il php, si può migliorare notevolmente l’indicizzazione e il conseguente posizionamento delle proprie pagine su Google, senza ricorrere a plugin che possono appesantire il sito. Se riesco farò un altro post su come deindicizzare, con poche righe di codice, tutte le pagine ritenute poco interessanti o addirittura pericolose per via dei contenuti doppi. Nel frattempo, happy blogging!