Альтернатива ItemList для многократного использования на одной странице - PullRequest
0 голосов
/ 08 января 2019

Я создаю портал вакансий, и на домашней странице есть 4 ползунка, на которых показано следующее:

  • слайдер 1: популярные компании
  • ползунок 2: рекомендуемые задания
  • слайдер 3: вакансии по странам
  • слайдер 4: вакансии по категориям / сек.

Общее для этих 4 ползунков:
фоновое изображение, заголовок заголовка, подзаголовок и URL

Какую схему мне использовать для этих целей?

Я пытался использовать ItemList, но, похоже, он не работает в Инструменте тестирования структурированных данных Google.

Я получаю следующую ошибку:

Multiple ItemList markups on a page are not allowed.

Это фрагмент списка товаров. Четыре слайдера будут иметь одинаковый формат.

@if (!empty($countries))
  <div itemscope itemtype="http://schema.org/ItemList">
    <h2 class="mt-5" itemprop="name">Check Out This Featured Companies</h2>
    <div class="featuredCompaniesDiv mb-5 pb-5">
      <div class="row mb-5">
        <div class="col-xs-12">                
          <div class="featuredCompanies">
            <?php $countriesCount = 1; ?>
            @foreach($countries as $country)
              <div class="featuredCompanies--item" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
                <meta itemprop="position" content="{{ $countriesCount }}">
                <meta itemprop="name" content="{{ $country->company_name }}">
                <meta itemprop="url" content="{{ action('PublicController@jobsByCountry', ['country' => $country->address_format]) }}">
                <a class="inner-div" href="{{ action('PublicController@jobsByCountry', ['country' => $country->address_format]) }}">
                  <span class="post-featured-img">
                    <img src="/img/spacer.png" data-lazy="/img/cnt/{{ $country->iso_code_3 }}.jpg" alt="Buick Enspire" width="700" height="323">
                  </span>
                  <h3 class="top-h3">{{ $country->name }}
                    @if ($country->cnt == 1)
                      <small>({{ $country->cnt }} Job)</small>
                    @else
                      <small>({{ $country->cnt }} Jobs)</small>
                    @endif
                  </h3>
                </a>
              </div>
              <?php $countriesCount++; ?>
            @endforeach
          </div>
        </div>
      </div>
    </div>
  </div>
@endif

1 Ответ

0 голосов
/ 09 января 2019

Нашел решение для этого через https://webmasters.stackexchange.com/questions/98556/what-is-the-correct-way-to-use-the-collectionpage-type-for-a-category-page

Ошибка исчезла.

Вот окончательный код:

@if (!empty($countries))
    <div itemscope itemtype="http://schema.org/CollectionPage">
      <h2 class="mt-5" itemprop="name">Check Out This Featured Companies</h2>
      <div class="featuredCompaniesDiv mb-5 pb-5" itemprop="hasPart">
        <div class="row mb-5">
          <div class="col-xs-12">                
            <div class="featuredCompanies">
              <?php $countriesCount = 1; ?>
              @foreach($countries as $country)
                <div class="featuredCompanies--item" itemscope itemtype="http://schema.org/ItemPage">
                  <meta itemprop="position" content="{{ $countriesCount }}">
                  <meta itemprop="name" content="Jobs near {{ $country->name }}">
                  <meta itemprop="url" content="{{ action('PublicController@jobsByCountry', ['country' => $country->address_format]) }}">
                  <a class="inner-div" href="{{ action('PublicController@jobsByCountry', ['country' => $country->address_format]) }}">
                    <span class="post-featured-img">
                      <img src="/img/spacer.png" data-lazy="/img/cnt/{{ $country->iso_code_3 }}.jpg" alt="Buick Enspire" width="700" height="323">
                    </span>
                    <h3 class="top-h3">{{ $country->name }}
                      @if ($country->cnt == 1)
                        <small>({{ $country->cnt }} Job)</small>
                      @else
                        <small>({{ $country->cnt }} Jobs)</small>
                      @endif
                    </h3>
                  </a>
                </div>
                <?php $countriesCount++; ?>
              @endforeach
            </div>
          </div>
        </div>
      </div>
    </div>
@endif
...