0

Magento のブレッドクラムについてサポートが必要です。これは、Googleテストツールが私に教えてくれるものです:

ブレッドクラム 1 の URL: http://domain.com/ title: ホーム ブレッドクラム 2 の URL: http://domain.com/category/ title: カテゴリ ブレッドクラム 3 のタイトル: 欠落しており、必須 url: 欠落しており、必須

そして、これはbreadcrumbs.phtmlです

<?php if($crumbs && is_array($crumbs)): ?>
<div class="breadcrumbs" xmlns:v="http://rdf.data-vocabulary.org/#">
    <ul>
        <?php foreach($crumbs as $_crumbName=>$_crumbInfo): ?>
            <li class="<?php echo $_crumbName ?>" typeof="v:Breadcrumb">
            <?php if($_crumbInfo['link']): ?>
                <a rel="v:url" property="v:title" href="<?php echo $_crumbInfo['link'] ?>" title="<?php echo $this->escapeHtml($_crumbInfo['title']) ?>"><?php echo $this->escapeHtml($_crumbInfo['label']) ?></a>
            <?php elseif($_crumbInfo['last']): ?>
                <strong><?php echo $this->escapeHtml($_crumbInfo['label']) ?></strong>
            <?php else: ?>
                <?php echo $this->escapeHtml($_crumbInfo['label']) ?>
            <?php endif; ?>
            <?php if(!$_crumbInfo['last']): ?>
                <span>/ </span>
            <?php endif; ?>
            </li>
        <?php endforeach; ?>
    </ul>
</div>
<?php endif; ?>

どうすれば修正できますか?

前もって感謝します!イヴァン

4

4 に答える 4

1

このコードを使用して、Google コンソールの警告でブレッドクラムの問題を解決しました。テストについては、ここをクリックしてください: https://search.google.com/structured-data/testing-tool#

<?php
$separator = $this->getBreadcrumbsSeparator();
 ?>

    <?php if($crumbs && is_array($crumbs)): ?>
    <div class="breadcrumbs"  >
    <ul itemscope itemtype="http://schema.org/BreadcrumbList">
      <?php $i = 0; ?>
        <?php foreach($crumbs as $_crumbName=>$_crumb): ?>
 <li class="<?php echo $_crumbName ?>" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
        <?php if(!empty($_crumb['link']) && (!$_crumb['last'])): ?>
            <a  itemprop="item" href="<?php echo $_crumb['link'] ?>" title="<?php echo $this->htmlEscape($_crumb['label']) ?>" rel="v:url" property="v:title">
                <?php echo $this->htmlEscape($_crumb['label']) ?>
                  <meta itemprop="position" content="<?php echo $i; ?>">
                  <meta itemprop="name" content="<?php echo $this->escapeHtml($_crumb['label']) ?>">
            </a>
        <?php elseif($_crumb['last']): ?>
            <strong>
            <?php echo $this->htmlEscape($_crumb['label']) ?>
              <meta itemprop="position" content="<?php echo $i; ?>">
              <meta itemprop="name" content="<?php echo $this->escapeHtml($_crumb['label']) ?>">

            </strong>
        <?php else: ?>
            <?php echo $this->htmlEscape($_crumb['label']) ?>
             <meta itemprop="position" content="<?php echo $i; ?>">
             <meta itemprop="name" content="<?php echo $this->escapeHtml($_crumb['label']) ?>">
        <?php endif; ?>
        <?php if(!$_crumb['last']): ?>
            <span><?php echo $separator; ?></span>
             <meta itemprop="position" content="<?php echo $i; ?>">
             <meta itemprop="name" content="<?php echo $this->escapeHtml($_crumb['label']) ?>">
        <?php endif; ?>
        </li>
          <?php $i++; ?>
        <?php endforeach; ?>
    </ul>
</div>

ここで、コードを開発サイトの製品ページから Google Web マスター ツールの Google 構造化データにコピーします。Google がページを読み取ることができれば、すべてがうまくいきます。そこで確認し、必要に応じてコードを少し変更します。コードを確認するには、ここをクリックしてください: https://search.google.com/structured-data/testing-tool

于 2020-02-01T05:57:09.837 に答える
0

ブレッドクラムの最後の項目へのリンクがありません。URL の代わりにパスを表示するには、Google がこれを必要とします。

<?php elseif($_crumbInfo['last']): ?>

<a href="<?php echo $path ?>" itemprop="url">の前に追加し<strong>、コースの最後にタグを閉じることを忘れないでください</strong></a>

于 2015-07-07T21:19:48.420 に答える
0

コードを以下のコードに置き換えます..

<?php if($crumbs && is_array($crumbs)): ?>
<div class="breadcrumbs">
<ul xmlns:v="http://rdf.data-vocabulary.org/#">
    <?php foreach($crumbs as $_crumbName=>$_crumbInfo): ?>
        <li class="<?php echo $_crumbName ?>" typeof="v:Breadcrumb">
        <?php if($_crumbInfo['link']): ?>
            <a href="<?php echo $_crumbInfo['link'] ?>" title="<?php echo $this->escapeHtml($_crumbInfo['title']) ?>" rel="v:url" property="v:title"><?php echo $this->escapeHtml($_crumbInfo['label']) ?></a>
        <?php elseif($_crumbInfo['last']): ?>
            <strong rel="v:url" property="v:title"><?php echo $this->escapeHtml($_crumbInfo['label']) ?></strong>
        <?php else: ?>
            <?php echo $this->escapeHtml($_crumbInfo['label']) ?>
        <?php endif; ?>
        <?php if(!$_crumbInfo['last']): ?>
            <span>/ </span>
        <?php endif; ?>
        </li>
    <?php endforeach; ?>
</ul>
</div>
<?php endif; ?>

ここで、コードを開発サイトの製品ページから Google Web マスター ツールGoogle 構造化データにコピーします。Google がページを読み取ることができれば、すべてがうまくいきます。そうでない場合、フルページキャッシュはそれらを非表示にします。Magento がブレッドクラムをキャッシュしないという問題を修正する必要があります。このサイトは、キャッシュの問題を解決するのに役立つ場合があります --> Magento Cache Breadcrumb の問題を修正します。これで問題が解決することを願っています。役立つ別のサイト -->> http://inchoo.net/magento/google-rich-snippets-in-magento/

于 2015-03-04T05:47:34.597 に答える