在Drupal 7中添加微数据或schema.org面包屑SEO(Adding microdata

2019-09-16 20:54发布

我目前关于微数据和schema.org有点困惑。 是微观数据和schema.org一样吗? 我读了谷歌和微软的文档,但没有帮助我得到这两个名字之间的差别。

到目前为止,我理解这一点我自己制作的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>

在我看来,太多的开销,但是没关系,如果搜索结果看起来不错。 是否有可能减少的HTML代码的计数?

另外,如果我不需要那么如何进行搜索引擎发现两种不同的路径呢?

我的下一个问题是,我想这种格式应用到Drupal的breadcrumps。 我在网上找到这个补丁 ,我想包括我自己的搜索引擎优化模块是这样的:

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";
}

到目前为止,我检查了所有这些代码被执行。 但这种主题化不适用我的网页上。 为什么这些代码不行? 难道这是与模块相关的breadcrumb ? 我知道,这个输出将是垃圾,但我看不到结果。

如果我猜的比对是theme.inc线1682ff创建的输出theme_breadcrumb(...)而不是我的代码。

这将是很好,如果有人可以帮助我,如果你还不清楚我的问题的所有答案!

Answer 1:

是微观数据和schema.org一样吗?

不,他们不是!

微数据是WHATWG HTML规范。 这是supose,使其更容易对电脑读取文件的内容。

Schema.org是用来描述一个项目一个词汇。 Schema.org是由冰,谷歌和雅虎推出。

http://en.wikipedia.org/wiki/Microdata_(HTML)

http://www.w3.org/TR/html5/microdata.html

http://schema.org/

是否有可能减少的HTML代码的计数?

看一看的代码为例,在schema.org的网页项的标记: http://schema.org/WebPage

 <body itemscope itemtype="http://schema.org/WebPage"> ... <div itemprop="breadcrumb"> <a href="category/books.html">Books</a> > <a href="category/books-literature.html">Literature & Fiction</a> > <a href="category/books-classics">Classics</a> </div> 

如何进行搜索引擎发现两种不同的路径

如果您schema.org中改用上面的例子中,你标记的痕迹,而不是单独的链接。 如果标记两条路径,他们都将被视为两个独立的。 (或者至少应该是)

为什么这些代码不行?

我认为这个问题应该从这个职位分开,并在不同的人问。 我不熟悉Drupal和一些可以回答关于微观数据,甚至不知道PHP的问题的人。



文章来源: Adding microdata or schema.org for breadcrumb SEO in Drupal 7