- Home
- Categorie
- Coding e Sistemistica
- WordPress
- dati strutturati Google Search Console
-
grazie per la risposta...anch'io sono giunto alla conclusione che è meglio lasciar peredere i plugin per cercare di risolvere il problema...
nel mio caso alla fine ho risolto cambiando tema e la situazione è migliorata notevolmente sia per i dati strutturati con errori quasi azzerati (ma dovrebbero azzerarsi nei prox giorni) sia dal punto di vista delle pagine indicizzate da google che in pochi giorni sono triplicate, non pensavo che la scelta del tema influisse così tanto, tornando ai dati strutturati il nuovo tema installato non mi risolveva il problema nelle pagine (mentre negli articoli tutto ok) ho risolto con alcune righe di codice aggiuntivo trovato in rete, in coda all'interno di function.php...le riporto caso mai servisse a qualcuno...
//risoluzione errori dati strutturati degli articoli in Google Search Console
function add_mod_hatom_data($content) {
$iso8601_date = get_the_time('c');
$author = get_the_author();
$title = get_the_title();
if( 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');che risolve il problema sulle pagine, nel caso si volesse agire anche sugli articoli dovrebbe essere sufficiente modificare l'IF in
if( is_single() || is_page() ) {
-
Ne approffitto per chiedere anch'io una cosa sui dati strutturati.
Dopo aver modificato il file function.php sono riuscito a farli recuperare a google.
Tuttavia, quando vado nello strumento di test di google per i dati strutturati, alla voce updated mi mette la data di pubbilcazione e non l'ultimo aggiornamento.
E' normale?grazie 1000
-
ci vuole qualche giorno perchè google faccia la scansione di tutti i file, nel mio caso ho notato che fa la scansione ogni 4 giorni, mi sono rimasti 2 errori e venerdì dovrebbero sparire, ammesso che google scansioni quei file (non ho la certezza che ogni volta la scansione sia completa, quindi potrebbero rimanere per altri giorni ancora)...
...aggiungo una nota...la modifica del function.php verrà persa al primo aggiornamento del tema, per fare un bel lavoro andrebbe creato un tema child (volendo si può usare il plugin Child Theme Configurator) inserendo il codice nel function.php del tema child...io ci ho provato ma la modifica non viene vista, se qualcuno ha una dritta da darmi...
-
Dadoge,
si ho modificato il function.php del child.
Il problema è che nello strumento di test dei dati strutturati, il valore di updated è in realtà quello della data di pubblicazione.
Credo che questo influisca negativamente sul posizionamento del sito!Grazie
-
scusa ho letto la domanda frettolosamente ed ho frainteso...
a questo non ci avevo pensato, in teoria dovrebbe essere sufficiente impostare
$iso8601_date = get_the_modified_date
ho fatto due prove ed in effetti pare funzionare, prova e sappimi dire...
nel mio caso il codice non agisce sugli articoli ed ho dovuto fare anche una modifica su un file del tema...ora è perfetto
Grazie per avermelo fatto notare...
-
Grazie,
Io nel mio file function.php ho creato questa funzione per recuperare questi dati e ho già il codice:ultima modifica: <span class="updated"> '.$iso8601_date.'</span>
Cosa dovrei mettere secondo te?
Grazie 1000
Buona giornata
-
Massimodefilippo
ti chiedo una cosa io...hai fatto la modifica nel tema child, ho provato anch'io ma non me la prende, ammetto la mia ignoranza in merito ai temi child, al punto che utilizzo un plugin per crearli, la function.php del tema child come deve essere fatta? Il plugin me la genera così (in più ho aggiunto il codice di cui sopra ed un altro script per l'author)
<?php
// Exit if accessed directly
if ( !defined( 'ABSPATH' ) ) exit;// BEGIN ENQUEUE PARENT ACTION
// AUTO GENERATED - Do not modify or remove comment markers above or below:if ( !function_exists( 'chld_thm_cfg_parent_css' )
function chld_thm_cfg_parent_css() {
wp_enqueue_style( 'chld_thm_cfg_parent', trailingslashit( get_template_directory_uri() ) . 'style.css', array( ) );
}
endif;
add_action( 'wp_enqueue_scripts', 'chld_thm_cfg_parent_css', 10 );if ( !function_exists( 'child_theme_configurator_css' )
function child_theme_configurator_css() {
wp_enqueue_style( 'chld_thm_cfg_child', trailingslashit( get_stylesheet_directory_uri() ) . 'style.css', array( 'chld_thm_cfg_parent' ) );
}
endif;
add_action( 'wp_enqueue_scripts', 'child_theme_configurator_css' );//risoluzione problema author_link
add_filter( 'author_link', 'modify_author_link', 10, 1 );
function modify_author_link( $link ) {
$link = 'hxxps://xxx.bio-prodotti.it/';
return $link;
}//risoluzione errori dati strutturati degli articoli in Google Search Console
function add_mod_hatom_data($content) {
$iso8601_date = get_the_modified_date('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');// END ENQUEUE PARENT ACTION
E' corretto?
-
proverei a sostituire $iso8601_date con get_the_modified_date('c')
se non funziona dovresti risalire all'assegnazione della variabile, io procedo così, mi scarico il tema in locale e con dreamweaver faccio una ricerca in tutte le sottocartelle e poi agisco di conseguenza, quindi dovresti trovare una riga del tipo $iso8601_date = get_the_time('c'); che dovrebbe diventare $iso8601_date = get_the_modified_date('c');
-
Ciao,
Ho capito l'origine del problema, ho due righe di codice, uno con l'aggiornamento e l'altro con la data di pubblicazione:href="... (.) fisioterapiarubiera (.) .com" title="Testa pesante" rel="bookmark"><time class="timestamp updated" datetime="2015-02-28T19:47:50+00:00">28 febbraio 2015</time></a>
E l'altra più in basso è:
<div style="font-size:0px;height:0px;line-height:0px;margin:0;padding:0;clear:both"></div><div class="hatom-extra" style="display:none;visibility:hidden;"><span class="entry-title">Testa pesante</span> was last modified: <span class="updated"> gennaio 4th, 2018</span>
Ho preso queste righe dal visualizza sorgente pagina.
Purtroppo il test dei dati strutturati di google prende il dato sbagliato.
Come fare?Grazie 1000
-
L'unica cosa che forse risolverebbe è questa:
- Missing updated: which means that the item (page/post) missing the *“updated”*CSS class.
And for this, you need to find the function that displays the time for your post/page, if it’s there, you will add this class to the time function so it will be something like:
[TABLE="class: highlight tab-size js-file-line-container, width: 699"][TD="class: blob-num js-line-number, align: right"][/TD]
[TD="class: blob-code blob-code-inner js-file-line"] <span class="date updated published"><?php the_time(); ?></span>[/TD]
[/TR]
[/TABLE]Note: this will make the published time and updated time the same. If you want to get the updated time you need to add this function
[TABLE="class: highlight tab-size js-file-line-container, width: 699"][TD="class: blob-num js-line-number, align: right"][/TD]
[TD="class: blob-code blob-code-inner js-file-line"]$updated_time = get_the_modified_time('F jS, Y');[/TD]
[/TR]
[/TABLE]and then add class=”updated” to it
[TABLE="class: highlight tab-size js-file-line-container, width: 699"][TD="class: blob-num js-line-number, align: right"][/TD]
[TD="class: blob-code blob-code-inner js-file-line"]<span class="updated"> '.$updated_time.'</span>[/TD]
[/TR]
[/TABLE]Ma non so dove mettere quest'ultimo codice.
-
se mi dici che tema usi se è free provo a scaricarlo e ci do un'occhiata...
-
Ciao,
Uso responsive ed è free.Grazie
-
sono un po' di fretta, ma posso indicarti un tentativo da fare...
nel file: responsive\core\includes\function.php
alle righe 473 e 474 c'è
esc_html( get_the_date('c')),
esc_html( get_the_date() )prova a modificare tutte e due o una delle due sostituendo get_the_modified_date('c')
dovrebbe risolvere perchè sono all'interno della funzione responsive_post_meta_data() è c'è anche get_the_title() tipico dei dati strutturati...se non risolve dimmelo che cerco ancora...
Ciao
-
Ciao Dadoge, quindi no nmodificherei il tema child?
grazie
-
intanto capisci se risolve il problema modificando il file nel tema poi cerchi di riportare la correzione nel child...
-
@dadoge said:
intanto capisci se risolve il problema modificando il file nel tema poi cerchi di riportare la correzione nel child... thuê ?? ch?i xúc cát h?t mu?ng 0918621929