Error en Breadcrumb en DataLife Engine

En este Tutoriales En Linea les mostraremos la manera de corregir el error de Breadcrumb de los datos estructurados de Schema.org del sistema de gestión de contenido de DataLife Engine.

Como se sabe, en DLE, a partir de la versión 10.0, se agregaron a la barra de velocidad (speedbar) las llamadas migas de pan para el micromarking.

Todo funciona correctamente y el motor de búsqueda las lee normalmente, incluso el validador no muestra ningún error, pero hay un matiz.

Preste atención a la línea con el parámetro itemtype:
<span itemscope itemtype=\"http://data-vocabulary.org/Breadcrumb\">
En la dirección dada data-vocabulary.org/Breadcrumb Google responde 404 o error. En la herramienta de prueba de datos estructurados. Eso es un error.

No sé sobre ti, pero no me gusta. Por lo tanto, convertí la barra de velocidad en una vista compacta según el esquema:
schema.org/BreadcrumbList
Para ello abriremos el archivo engine/engine.php
Buscar el siguiente código (Parte Inferior - 1274.):
/*
=====================================================
 speedbar creation
=====================================================
*/
if ($config['speedbar'] AND !$view_template ) {
......
}
?>
Reemplazar con:
if ($config['speedbar'] AND !$view_template ) {
    function get_breadcrumblistcategories($id,$sec = false){
        global $speedbar,$cat_info,$config,$cstart,$dle_module;
        if(!$id) return;
        $parent_id = $cat_info[$id]['parentid'];
        if($parent_id) get_breadcrumblistcategories( $parent_id, true );
        if($sec OR $cstart>1 OR $dle_module!='cat') $speedbar[] = array( $config['http_home_url'] . get_url( $id ) . '/', $cat_info[$id]['name'], $cat_info[$id]['metatitle'] );
        else $speedbar[] = $cat_info[$id]['name'];
    }
    $config['speedbar_separator'] = $config['speedbar_separator'] ? trim($config['speedbar_separator']) : "&raquo";
    $speedbar = array( array( $config['http_home_url'], $config['short_title'], $config['home_title'] ) );
    if (intval($category_id)) get_breadcrumblistcategories( intval($category_id) );
    elseif( $do == 'tags' ){
        $speedbar[] = array( "/tags/", $lang['tag_cloud'] );
        $speedbar[] = $tag;
    }elseif($nam_e) $speedbar[] = $nam_e;

    if($titl_e) $speedbar[] = $titl_e;
    elseif( isset($_GET['cstart']) AND intval($_GET['cstart']) > 1 ) $speedbar[] = $lang['news_site']." ".intval($_GET['cstart']);

    foreach($speedbar as $k=>$v){
        $speedbar[$k] = '<li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">';
        $title_s = "<span itemprop=\"name\">".(is_array($v) ? $v[1] : $v)."</span>";
        $speedbar[$k] .= is_array($v) ? "<a itemprop=\"item\" href=\"{$v[0]}\" title=\"".($v[2] ?: $v[1])."\">{$title_s}</a>" : $title_s;
        $speedbar[$k] .= "<meta itemprop=\"position\" content=\"".( $k+1 )."\" /></li>";
    }
    $tpl->load_template ( 'speedbar.tpl' );
    $tpl->set ( "{speedbar}", "<ul itemscope itemtype=\"http://schema.org/BreadcrumbList\" class=\"speedbar\">".implode("<li class=\"speedbar_sep\">{$config['speedbar_separator']}</li>",$speedbar)."</ul>" );
    $tpl->compile ( 'speedbar' );
    $tpl->clear();
    $tpl->result['speedbar'] = '<div id="dle-speedbar">'.$tpl->result['speedbar'].'</div>';
}
?>
En los estilos puedes agregar:
.speedbar{
    margin: 0;
    padding: 10px;
    list-style: none;
}
.speedbar:after{
    content: "";
    display: block;
    clear: both;
}
.speedbar li{
    float: left;
    margin-right: 6px;
    color: #222;
}
.speedbar li.speedbar_sep{
    color: #999;
}


<a onclick=Tutoriales En Linea" class='avatar avatar-64 photo' height='64' width='64'>
  • Autor:
  • Editor:
      Tutoriales En Linea
  • Fecha:2019-01-24
  • Categorias: Noticias Tutorial DataLife Engine Schema.org Hack Marketing SEO Herramientas



Información
Usuarios que no esten registrados no pueden dejar comentarios, te invitamos a que te registre!