Come risolvere gli errori entry-title, updated, author su WordPress

da Gen 22, 2016Guide e Tool2 commenti

I dati strutturati sono una fantastica “trovata”, ma spesso anche dopo aver inserito tutto correttamente, mi sono ritrovato di fronte a Google Search Console che mi informa di errori entry-title updated author . Anche se molto strano, dato che sono informazioni inserite in maniera dinamica ed automatizzata, capita che alcuni temi premium, con funzioni e stringhe totalmente rivisitate mostrino questo problema. Bene adesso ti spiegherò brevemente come risolvo questo fastiodioso avviso di Google Search Console.

Per prima cosa consiglio di munirsi di un buon client FTP (ad esempio FileZilla), e di lavorare in locale, onde evitare di trovarsi il sito down per qualche funzione scritta male.
Generalmente io ho sempre nel mio ambiente di sviluppo una copia di backup aggiornata del sito e lavoro su quella, ma se proprio sei svogliato o non sai come lavorare in locale, puoi usare la funzione di editing presente nella dashboard di WordPress. Mi raccomando cervello collegato! Io non ho idea di come sia strutturato il codice del tuo tema, per cui lavora in maniera intelligente!

theme editor

Si possono usare diversi metodi per risolvere questo problema, io te ne indicherò due, che sono quelli per me più comodi:

  • modificare il file single.php
  • aggiungere una funzione in function.php

Per prima cosa vediamo come modificare il single.php.

Errore entry-title: Missing entry-title

Cerca il file single.php ed all’interno di questo ricercate la stringa:

<h1 class="title single-title"><?php the_title(); ?></h1>

Aggiungi la classe “entry-title”  come di seguito:

<h1 class="title single-title entry-title"><?php the_title(); ?></h1>

Se non riesci a trovare una stringa identica a quella che ti ho indicato, tranquillo è normale, dipende dal tema in uso. In questo caso cerca la stringa di codice che faccia riferimento al title.

Ora osserva entrambi i codici sopra, la differenza è solo di “entry-title”, non presente nella prima stringa. Queste sono le due parole di cui Google ha bisogno, aggiunte tra le classi, come si può vedere nel codice … ricorda di non rimuovere nulla e non modificare altro.

Errore updated: Missing updated

Come per l’errore precedente ricerca tra le funzioni del tuo tema la stringa:

<!--?php the_time('j F,Y'); ?-->

Modifica come di seguito:

<span class="post_date date updated"><?php the_time('j F,Y'); ?></span>

Impossibile trovare il primo codice? Scopri qualcosa che si riferisce al “Date” o “Time” e come prima osserva attentamente la differenza fra le due stringhe, è stato aggiunto “date update” alle classi, queste sono le due parole di cui Google ha bisogno per non mostrare più il noioso avviso in Search Console.

Errore author: Missing hCard “author”

I passaggi ormai li conosci vero? Cerca la stringa:

<!--?php the_author(); ?-->

Correggi come segue:

<span class="vcard author">
<!--?php the_author(); ?-->
</span>

 

Risoluzione mediante la modifica di function.php

La soluzione migliore è di lavorare direttamente sul file function.php del tema in uso, richiede davvero due minuti, o ancora meglio modificando il file function.php del tema child.

Una volta aperto il function.php ti basterà aggiungere alla fine dello stesso questa porzione di codice(valida solo per gli articoli):

//fix errori entry-title, updated, author solo articoli
function add_mod_hatom_data($content) {
$iso8601_date = get_the_time('c');
$author = get_the_author();
$title = get_the_title();
if(is_single()) {
$content .= '<div class="hatom-extra"><span class="entry-title">'.$title.'</span>
ultima modifica: <span class="updated"> '.$iso8601_date.'</span>
da <span class="author vcard"><span class="fn">'.$author.'</span></span></div>';
}
return $content;
}
add_filter('the_content', 'add_mod_hatom_data');

Se vuoi implementare questo fix per i dati strutturati anche per le pagine il codice corretto è:

//fix errori entry-title, updated, author articoli e pagine
function add_mod_hatom_data($content) {
$iso8601_date = get_the_time('c');
$author = get_the_author();
$title = get_the_title();
if( is_single() || is_page() ) {
$content .= '<div class="hatom-extra"><span class="entry-title">'.$title.'</span>
ultima modifica: <span class="updated"> '.$iso8601_date.'</span>
da <span class="author vcard"><span class="fn">'.$author.'</span></span></div>';
}
return $content;
}
add_filter('the_content', 'add_mod_hatom_data');

Alla fine dei post e delle pagine verrà aggiunta una riga di testo contenente tutte le informazioni corrette relative ai dati strutturati. Se preferisci nascondere la riga, basta farlo tramite il CSS, nel nostro caso aggiungendo al foglio di stile(preferibilmente del tema child), la seguente stringa:

.hatom-extra {
display: none;
}

Perfetto adesso non resta che testare le modifiche effettuate! Per farlo puoi usare lo Strumento di Test per i Dati Strutturati , è davvero intuitivo da usare, ma se hai problemi lascia la tua richiesta nei commenti, posso sempre darti una dritta.

2 Commenti

  1. Giofe86

    Caro Imre,

    grazie intanto per il tuo contenuto, utile e semplice da seguire.

    Vorrei farti le seguenti domande:

    1. stranamente con le modifiche al file function.php continuavo a riscontrare l’assenza dei dati entry-title, author and updated da search console mentre i test dei dati strutturati sembravano ok.
    Elimino quella parte di codice dal file function e proseguo con il primo metodo da te citato?

    2. Ho utilizzato l’altro metodo ottenendo il seguente codice:

    ·

    Spero che possa chiarirmi le idee.

    A presto,

    Giovan Giuseppe

    • Imre Guaglianone

      Ciao Giovan Giuseppe,
      vedrai sparire gli errori da search console solo dopo un po’ di tempo. Purtroppo dovrai aspettare le successive scansioni del bot. L’importante é che, eseguendo il test sui dati strutturati, questi risultino corretti.

      Per quanto riguarda il punto 2, purtroppo non visualizzo il codice.

      // Imre

Invia un commento

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.