Attualmente sono un po 'confuso su microdati e schema.org. I microdati e schema.org sono gli stessi? Ho letto la documentazione Google e Microsoft, ma ciò non mi ha aiutato a ottenere la differenza tra questi due nomi.Aggiunta di microdati o schema.org per il breadcrumb SEO in Drupal 7
Finora ho capito questo ho prodotto questo codice HTML:
<span itemscope itemtype="http://data-vocabulary.org/Breadcrumb">
<a href="/" itemprop="url"><span itemprop="title">My Page</span></a>
</span>
<span itemscope itemtype="http://data-vocabulary.org/Breadcrumb">
<a href="/cat1" itemprop="url"><span itemprop="title">Category 1</span></a>
</span>
<span itemscope itemtype="http://data-vocabulary.org/Breadcrumb">
<a href="/cat1/content" itemprop="url"><span itemprop="title">Content</span></a>
</span>
A mio parere troppo in alto, ma va bene se i risultati di ricerca di un aspetto gradevole. È possibile ridurre il conteggio del codice html?
Anche se non ho bisogno di quello come i motori di ricerca rilevano due percorsi diversi?
Il mio prossimo problema è che voglio applicare questo formato ai breadcrump drupal. Ho trovato sul web this fix, che ho cercato di includere al mio modulo SEO come questo:
function mymod_page_alter(&$variables) {
if (!isset($variables['breadcrumb'])) {
$variables['breadcrumb'] = theme('my_microdata', array('breadcrumb' => drupal_get_breadcrumb()));
}
}
function mymod_theme($existing, $type, $theme, $path) {
return array(
'my_microdata' => array(
'variables' => array('breadcrumb' =>array()),
),
);
}
function mymod_menu_breadcrumb_alter(&$active_trail, $item){
foreach($active_trail as $id=>$active_trail_item){
$active_trail[$id]['localized_options']['attributes']['itemprop'][]="url";
}
}
function theme_my_microdata($variables){
$breadcrumb=$variables['breadcrumb'];
print_r(debug_backtrace());
$output="*+*+*+*+*";
if (!empty($breadcrumb)) {
// Provide a navigational heading to give context for breadcrumb links to
// screen-reader users. Make the heading invisible with .element-invisible.
$output = '<h2 class="element-invisible">' . t('You are here') . '</h2>';
$output .= '<div class="breadcrumb">';
$separator="";
foreach($breadcrumb as $breadcrumb_item){
$output.='<span typeof="datav:Breadcrumb">'.$separator.$breadcrumb_item."</span>";
$separator="»";
}
$output .='</div>';
}
return $output."xXxXxXx";
}
Finora ho controllato che tutto questo codice viene eseguito. Ma questo tema non è applicato sulla mia pagina. Perché quel codice non funziona? Questo potrebbe essere collegato al modulo breadcrumb
? So che questa uscita sarà spazzatura ma non riesco a vedere il risultato.
Se immagino giusto di quello che è l'output creato da theme.inc riga 1682ff theme_breadcrumb(...)
invece del mio codice.
Sarebbe bello se qualcuno potesse aiutarmi, anche se non conosci tutte le risposte delle mie domande!
Grande domanda sul markup, ma penso che dovresti prendere le informazioni su Drupal e spostarlo in una domanda separata – Baumr