在 Drupal 7 中添加 microdata 或 schema.org 以进行面包屑 SEO

2023-12-31

我目前对 microdata 和 schema.org 有点困惑。microdata 和 schema.org 相同吗?我读了 and 微软 http://onlinehelp.microsoft.com/en-us/bing/hh207238.aspx文档,但这并没有帮助我了解这两个名称之间的区别。

到目前为止,我明白了这一点,我已经生成了以下 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 面包屑。我在网上找到的this fix http://drupalbin.com/19863我试图将其包含到我自己的 SEO 模块中,如下所示:

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?我知道这个输出将是垃圾,但我看不到结果。

如果我猜对了,那么创建的输出就是主题公司第 1682 行theme_breadcrumb(...)而不是我的代码。

如果有人能帮助我,那就太好了,即使您不知道我问题的所有答案!


microdata 和 schema.org 相同吗?

不,他们不是!

微数据是一个WHATWG http://wiki.whatwg.org/wiki/FAQ#What_is_the_WHATWG.3Fhtml 规范。它的目的是让计算机更容易阅读文档的内容。

Schema.org 是用于描述项目的词汇表。 Schema.org 由 Bing、Google 和 Yahoo 推出。

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

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

http://schema.org/ http://schema.org/

是否可以减少html代码的数量?

查看 schema.org 上网页项标记的示例代码:http://schema.org/WebPage 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。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Drupal 7 中添加 microdata 或 schema.org 以进行面包屑 SEO 的相关文章

  • 每次服务器重新启动后 MySQL 都会损坏

    我有一个有点奇怪的问题 我在 Windows 环境中运行 MySQL 和 Drupal 站点 不是出于选择 但这就是事情的结果 大多数时候该站点都很好 但是每次服务器重新启动 从更新或维护 时数据库将损坏 当我登录 MySQL Work b
  • Drupal 6模块安装文件未在数据库中创建表

    我正在使用 Schema API 在 Drupa 6 17 上为我的模块创建表 但这些表并未在数据库中创建 我安装了架构模块 它告诉我 虽然我的模块的架构被识别 但它的表不在数据库中 它出现在 缺失 下 Tables in the sche
  • 使用 ASP.NET MVC 的 SEO URL

    有没有一个确定的DO and DONT当实施 seo url 时 许多好的做法对于 html 网站来说似乎很好 但在中型 大型数据库网站上却失效了 据我所知 网址应该是www mysite com category page name he
  • 了解 htaccess 文件匹配代码

    我正在尝试将 drupal 安装在我的 bluehost 托管网站的子目录中 这是一个巨大的痛苦 我认为 htaccess 中的以下几行是问题所在 当我当前导航到 mysite com subdir install php 时 出现 403
  • 如何摆脱 Drupal CSS 样式表?

    我正在努力完成以下任务 我需要使用 Drupal 6 作为项目要求 但我想将它与我自己的 HTML 和 CSS 样式表一起用于每个节点 视图 面板等 问题是 无论什么主题 我总是发现 Drupal 适用于我的 HTML 内容 包括我的 CS
  • 我网站的 CSS 何时会影响我的搜索引擎排名?

    起初我认为 css 绝对没有什么用处 只是当用户在浏览器中查看文档时设计文档样式 但后来我意识到搜索引擎也在索引页面中使用CSS 搜索引擎不会将内容编入索引display hidden我相信 并且严厉惩罚使用关键字堆叠的网站 用户从未见过的
  • Drupal 7:菜单结构层次结构中的 Pathauto 模式

    我正在尝试创建一个 Pathauto 模式 它看起来像 Drupal root parent menu item name node title 其中 node title 是菜单层次结构中 parent menu item name 的子
  • SEO 友好的 URL 真的会影响页面的排名吗? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 如今 SEO 友好的 URL 非常流行 但它们实际上对 Google 和其他搜索引擎中的页面排名产生有意义的影响吗 如果是这样 为什么 如
  • 如何在 Drupal 7 中打印自定义菜单?

    我在 Drupal 7 中创建了一个菜单 并创建了该菜单下页面的链接 我将新菜单命名为 站点菜单 在我希望菜单出现的 page tpl php 中 我已将其放在适当的位置 清除缓存并刷新页面后 我的菜单不会出现 我很困惑 任何帮助将不胜感激
  • URL 重写查询数据库?

    我试图了解 URL 重写的工作原理 我有以下链接 mysite com profile php id 23 我想用用户的名字和姓氏重写上面的网址 mysite com directory liam gallagher 然而 根据我读到的内容
  • 在 JSON-LD 中创建产品数组

    有人能发现我下面的代码有什么问题吗 它不会在 Google 结构化测试工具中进行验证 我正在尝试创建 JSON LD 代码以添加到具有多种待售产品的页面
  • 身份验证错误:无法响应以下任何质询:{} Android - 401 Unauthorized

    身份验证错误 无法响应以下任何质询 Android 401 Unauthorized 我已从此链接参考在 Android 上使用 HttpPost 和 DefaultHttpClient 时出现身份验证错误 https stackoverf
  • 基于导航历史而不是路线路径的角度面包屑

    有没有办法实现基于导航历史记录的面包屑而不是基于正常路线路径的面包屑 例子 路线 主页 HChild1 HChild1 1 首页 HChild2 HChild2 1 如果用户从主页导航到 HChild2 1 面包屑应该是 首页 HChild
  • 推送通知 Drupal 模块 - 删除设备(Web 服务)

    我已经开始使用这个模块 并且我已经成功注册设备 按照他的作者发布的说明进行操作 here http www danielhanold com story drupal 7 push notifications how to register
  • 是否有适用于 SaaS 或订阅的 Schema.org 类型?

    我们销售按月订阅的软件即服务 我试图弄清楚我们是否可以通过 Schema org 的规范提供元数据 我一直在考虑products https developers google com structured data rich snippe
  • 将自定义模块创建的内容添加到 drupal 搜索索引中

    我开发了一个模块 可以在不使用 CCK 的情况下为我的网站创建内容 数据将保存在Drupal默认表之外的不同表中 我的要求是 如何让 Drupal 索引我的自定义模块创建的内容 你必须实施钩子搜索 http api drupal org a
  • 在 Drupal 中选择性地删除页面的样式表

    我正在尝试为首页制作不同的布局 在此过程中 我声明了名为 front page css 和 page front tpl php 的新样式表 我正在使用加载responsive sidebar css 的 Zen 子主题 我想删除 resp
  • robots.txt 允许除少数子目录之外的所有子目录

    我希望我的网站能够在搜索引擎中编入索引 除了少数子目录 以下是我的robots txt设置 robots txt在根目录下 User agent Allow 分离robots txt在子目录中 被排除 User agent Disallow
  • 找出是什么原因导致可怕的“网站遇到意外错误。请稍后再试。”信息

    在进行 drupal 6 到 7 升级时 我收到了不太有用的消息 网站遇到意外错误 请稍后再试 每次我进入某些页面时 例如 管理 配置 找出导致致命错误的原因以便我可以修复它的最佳方法是什么 我现在能想到的就是开始禁用贡献的模块 直到该页面
  • 同一元素上的“itemprop”和“rel”属性

    使用是否有效itemprop属性and the rel同一元素上的属性 示例来自Google 的站点名称文档 https developers google com search docs data types sitename包含 这给出

随机推荐