web-dev-qa-db-fra.com

Comment spécifier des services pour le LocalBusiness?

Comment puis-je montrer à Googlebot par attributs de Schema.org que ma société fournit des services ci-dessous?

Réparation, installation et modernisation:

  • installation de gaz
  • installation d'eau
  • installation électrique

Dispositifs de réparation et d'installation:

  • réparation de chauffe-eau
  • cuisinière à gaz

J'ai créé ces structures de données mais je ne sais pas laquelle est correcte.

<div itemscope itemtype="http://schema.org/Service">
    <span itemprop="serviceType">building installations</span>
    <div itemprop="provider" itemscope itemtype="http://schema.org/LocalBusiness">
        <span itemprop="name">CompanyName</span>
    </div>
    <div itemprop="hasOfferCatalog" itemscope itemtype="https://schema.org/OfferCatalog">
        <div itemprop="itemListElement" itemscope itemtype="https://schema.org/OfferCatalog">
            <span itemprop="name">Repair, installation and modernization</span>
            <div itemprop="itemListElement" itemscope itemtype="https://schema.org/OfferCatalog">
                <span itemprop="itemListElement" itemscope itemtype="https://schema.org/Offer">
                    <span itemprop="itemOffered" itemscope itemtype="https://schema.org/Service">
                        <span itemprop="name">gas installation</span>
                    </span>
                </span>
            </div>
        </div>
    </div>
</div>

Puis-je le raccourcir de cette façon?

<div itemscope itemtype="http://schema.org/Service">
    <span itemprop="serviceType">building installations</span>
    <div itemprop="provider" itemscope itemtype="http://schema.org/LocalBusiness">
        <span itemprop="name">CompanyName</span>
    </div>
    <div itemprop="hasOfferCatalog" itemscope itemtype="https://schema.org/OfferCatalog">
        <div itemprop="itemListElement" itemscope itemtype="https://schema.org/OfferCatalog">
            <span itemprop="name">Repair, installation and modernization</span>
            <div itemprop="itemListElement" itemscope itemtype="https://schema.org/OfferCatalog">
                <span itemprop="itemListElement" itemscope itemtype="https://schema.org/Service">
                    <span itemprop="name">gas installation</span>
                </span>
            </div>
        </div>
    </div>
</div>

Les services doivent-ils être séparés de cette manière?

<div itemscope itemtype="http://schema.org/Service">
    <span itemprop="serviceType">building installations</span>
    <div itemprop="provider" itemscope itemtype="http://schema.org/LocalBusiness">
        <span itemprop="name">CompanyName</span>
    </div>
    <div itemprop="hasOfferCatalog" itemscope itemtype="https://schema.org/OfferCatalog">
        <div itemprop="itemListElement" itemscope itemtype="https://schema.org/OfferCatalog">
            <span itemprop="name">repair</span>
            <span itemprop="name">installation</span>
            <span itemprop="name">modernization</span>
            <div itemprop="itemListElement" itemscope itemtype="https://schema.org/OfferCatalog">
                <span itemprop="itemListElement" itemscope itemtype="https://schema.org/Offer">
                    <span itemprop="itemOffered" itemscope itemtype="https://schema.org/Service">
                        <span itemprop="name">gas installation</span>
                    </span>
                </span>
            </div>
        </div>
    </div>
</div>

Si aucun des exemples n'est correct, merci de me dire comment procéder.

1
Berd

Je pense qu'aucun de vos exemples n'est tout à fait correct.

  1. Votre service "Installation de gaz" est offert dans le cadre d’un catalogue OfferCatalog dans le cadre d’un catalogue OfferCatalog sous la forme d’un élément itemListElement, qui est lui-même un catalogue OfferCatalog fourni par le service "Installations pour bâtiments". Déroutant? Justement.

  2. Vous avez modifié l'objet itemListElement de votre troisième offre OfferCatalog pour qu'il s'agisse d'un service plutôt que d'une offre. OfferCatalogs est censé être un catalogue d'offres, et ce n'est plus le cas maintenant.

  3. Ici, l'élément itemListElement a trois noms. Ceci est donc source de confusion quant à ce qu'est réellement l'objet itemListElement.

Au lieu de cela, voici ce que je recommanderais.

<div itemscope itemtype="http://schema.org/Service">
    <span itemprop="serviceType">Repair, installation and modernization</span>
    <div itemprop="provider" itemscope itemtype="http://schema.org/LocalBusiness">
        <span itemprop="name">CompanyName</span>
    </div>
    <div itemprop="hasOfferCatalog" itemscope itemtype="https://schema.org/OfferCatalog">
        <div itemprop="itemListElement" itemscope itemtype="https://schema.org/Offer">
            <span itemprop="name">gas installation</span>
        </div>
    </div>
</div>

De cette manière, votre service dispose d'un catalogue d'offres avec une offre pour chaque offre.


Pour inclure le reste de vos puces (que vous n'avez pas incluses dans vos exemples de code), procédez comme suit:

<div itemscope itemtype="http://schema.org/Service">
    <span itemprop="serviceType">Repair, installation and modernization</span>
    <div itemprop="provider" itemscope itemtype="http://schema.org/LocalBusiness" id="business">
        <span itemprop="name">CompanyName</span>
    </div>
    <div itemprop="hasOfferCatalog" itemscope itemtype="https://schema.org/OfferCatalog">
        <div itemprop="itemListElement" itemscope itemtype="https://schema.org/Offer">
            <span itemprop="name">gas installation</span>
        </div>
        <div itemprop="itemListElement" itemscope itemtype="https://schema.org/Offer">
            <span itemprop="name">water installation</span>
        </div>
        <div itemprop="itemListElement" itemscope itemtype="https://schema.org/Offer">
            <span itemprop="name">electrical installation</span>
        </div>
    </div>
</div>
<div itemscope itemtype="http://schema.org/Service" itemref="business">
    <span itemprop="serviceType">Repair and installation devices</span>
    <div itemprop="hasOfferCatalog" itemscope itemtype="https://schema.org/OfferCatalog">
        <div itemprop="itemListElement" itemscope itemtype="https://schema.org/Offer">
            <span itemprop="name">water heater repair</span>
        </div>
        <div itemprop="itemListElement" itemscope itemtype="https://schema.org/Offer">
            <span itemprop="name">gas stove</span>
        </div>
    </div>
</div>

Ici, j’ai également utilisé ‘itemid’ pour désigner le même LocalBusiness pour les deux services.

Cela a beaucoup plus de sens:

1
grg