der_Mausbiber: Welches Schema sollte ich nehmen? LocalBusiness/Organization/WebPage/Article?

problematische Seite

Hallo,

ich erstelle gerade eine neue, moderne Version unserer Firmenhomepage und bin jetzt bei den strukturierten Daten von Google angekommen. Diese werden über schema.org eingebunden, allerdings überfordert mich die Vielzahl an Möglichkeiten.

Zum einen frage ich mich, welches Schema ich auf der Homepage angeben soll.

LocalBusiness? Weil es ist ja ein lokales Geschäft (Schreinerei). Organization? Trifft irgendwie auch zu. WebPage? Weil es ist ja die Homepage der Firma. Article?

Welches sollte ich nehmen, oder sollte ich verschiedene Seiten verschieden ausstatten? Z.Bsp. die Startseite mit LocalBusiness und die anderen Seiten mit WebPage?

Und kann ich auf einer Seite auch mehrere Schemas nutzen? Z.Bsp. LocalBusiness & WebPage ?

Bin da etwas überfordert.

  1. problematische Seite

    @@der_Mausbiber

    LocalBusiness? Weil es ist ja ein lokales Geschäft (Schreinerei). Organization? Trifft irgendwie auch zu.

    LocalBusiness ist ein speziellerer Typ als Organization, d.h. ein Untertyp.

    Wenn’s passt, d.h. wenn’s das Betreffende besser beschreibt, nimm den spezielleren.

    Welches sollte ich nehmen, oder sollte ich verschiedene Seiten verschieden ausstatten?

    Das passende. Ohne zu wissen, was du damit ausdrücken willst, lässt sich natürlich schlecht sagen, was das passende ist.

    Und kann ich auf einer Seite auch mehrere Schemas nutzen? Z.Bsp. LocalBusiness & WebPage ?

    Ja, kannst du. Und über entsprechende properties in Verbindung setzen: LocalBusiness hat WebPage; WebPage ist über LocalBusiness.

    Ich hab mal einen Vortrag zu Schema.org gehalten. (Video, Folien) Auf dein spezielles Problem wird er nicht eingehen, aber vielleicht ist er doch hilfreich. Oder zumindest unterhaltend. ;-)

    LLAP 🖖

    --
    „Wenn du eine weise Antwort verlangst, musst du vernünftig fragen.“ —Johann Wolfgang von Goethe
    1. problematische Seite

      Okay, nehmen wir als Beispiel folgende Seite

      http://www.trennwand-rink.com/trennwaende

      Dort präsentieren wir die verschiedenen Arten von Trennwänden.

      Sollte ich hier 4 x das Schema "Product" verwenden (für die 4 verschiedenen Arten) oder LocalBusiness in Verbindung mit WebPage?

      Wie kann ich übrigens WebPage als Unterrubrik von LocalBusiness nutzen?

      1. problematische Seite

        @@der_Mausbiber

        http://www.trennwand-rink.com/trennwaende

        Dort präsentieren wir die verschiedenen Arten von Trennwänden.

        Sollte ich hier 4 x das Schema "Product" verwenden (für die 4 verschiedenen Arten)

        Ja. Das könnte dann so aussehen wie in meinem Kaffeemühlenladen.

        Wenn du ausdrücken willst, dass diese Firma die Trennwände anbietet, kuckst du in der Schema.org-Doku nach, bei welchen Prädikaten (properties) Product als Objekt auftreten kann: unter „Instances of Product may appear as values for the following properties”.

        Das wird dann wohl itemOffered sein. Welches du – wie dort unter „Used on these types” steht – nicht für Organization/LocalBusiness vewenden kannst, sondern nur für Offer und Demand. Die Firma bietet die Trennwände an, also Offer.

        Dort kuckst du unter „Instances of Offer may appear as values for the following properties“, welche property denn die Verbindung zu einer Firma (Organization/LocalBusiness) herstellen könnte: makesOffer.

        Im dortigen Beispiel findest du die Beziehung in dem Rückwärtslink <link rev="makesOffer" /> abgebildet.

        Bei dir könnte das auch so aussehen:

        <foo typeof="LocalBusiness">
          <bar property="name">Rink</bar>
          <baz property="makesOffer" typeof="Offer">
            <quz property="itemOffered" typeof="Product"></quz>
          <baz>
        </foo>
        

        Als Elementtypen hab ich hier beispielsweise foo, bar, baz, quz verwendet. An welche HTML-Elemente du die property- und typeof-Attribute koppelst, ist aus RDFa-Sicht egal.

        LLAP 🖖

        --
        „Wenn du eine weise Antwort verlangst, musst du vernünftig fragen.“ —Johann Wolfgang von Goethe
        1. problematische Seite

          Okay, das ist schon mal sehr hilfreich Danke.

          Allerdings arbeite ich nicht mit RDFa sondern mit ld+json. Bin noch ein wenig damit beschäftigt das umzuarbeiten.

          Ich habe bisher den Abschnitt soweit:

              <script type="application/ld+json">
              {
                	"@context": "http://schema.org",
                	"@type": "LocalBusiness",
                	"address": {
                  	"@type": "PostalAddress",
                  	"addressLocality": "Wetzlar",
                  	"streetAddress": "Altenbergerstrasse 53"
                	},
                	"description": "Seit über 80 Jahren Ihre verlässliche Schreinerei in Wetzlar bei allen Fragen rund um System- und WC-Trennwände, Einbauschränke und den Möbel-/Innenausbau.",
                	"name": "Rink GmbH",
                	"telephone": "06441 - 55 71",
                	"faxNumber": "06441 - 59 94",
          		"email": "info@trennwand-rink.com",
          		"logo": "https://s3.eu-central-1.amazonaws.com/rink.cdn/ui/logo.jpg",
          		"url": "http://www.trennwand-rink.com/trennwaende",
          		"image": "https://s3.eu-central-1.amazonaws.com/rink.cdn/banner/fb_trennwaende.jpg",
          		"geo": {
          			"@type": "GeoCoordinates",
          			"latitude": "50.55973",
          			"longitude": "8.48526"
          		},
          		"openingHoursSpecification": [
          		  {
          			"@type": "OpeningHoursSpecification",
          			"dayOfWeek": [
          			  "Monday",
          			  "Tuesday",
          			  "Wednesday",
          			  "Thursday"
          			],
          			"opens": "07:00",
          			"closes": "15:45"
          		  },
          		  {
          			"@type": "OpeningHoursSpecification",
          			"dayOfWeek": [
          			  "Friday"
          			],
          			"opens": "07:00",
          			"closes": "13:15"
          		  }
          		],
                	"makesOffer": {
                  	"@type": "Offer",
                  	"itemOffered": [
          			{
                  		"@type": "Product",
                  		"name": "WC-Trennwand System Rink NA 13",
          				"image": "https://s3.eu-central-1.amazonaws.com/rink.cdn/trennwaende/wc_trennwand_na_13_kinopolis_giessen.jpg"
          			},
          			{
                  		"@type": "Product",
                  		"name": "WC-Trennwand System Rink N 25",
          				"image": "https://s3.eu-central-1.amazonaws.com/rink.cdn/trennwaende/wc_trennwand_n_25_stadtvilla_herborn.jpg"
          			},
          			{
                  		"@type": "Product",
                  		"name": "WC-Trennwand System Rink N 40",
          				"image": "https://s3.eu-central-1.amazonaws.com/rink.cdn/trennwaende/wc_trennwand_n_40_cafe_geissner_giessen.jpg"
          			},
          			{
                  		"@type": "Product",
                  		"name": "WC-Trennwand System Rink NA 13 / N 25 Kita",
          				"image": "https://s3.eu-central-1.amazonaws.com/rink.cdn/trennwaende/wc_trennwand_na_13_kita_alte_sattelfabrik_bad_homburg.jpg"
          			}
          			]
                	}
              }
              </script>
          

          Stimmt das soweit alles? Und kann ich irgendwie noch den Typ "WebPage" unterbringen?

          1. problematische Seite

            @@der_Mausbiber

              	"telephone": "06441 - 55 71",
              	"faxNumber": "06441 - 59 94",
            

            Würde ich als FQTN angeben: +49 66441 5571 bzw. +49 66441 5994.

            Stimmt das soweit alles?

            Konnte nichts Unstimmiges sehen. Tricky fand ich, dass LocalBusiness eine Verfeinerung sowohl von Organization als auch von Place ist; das sollte wohl so in Ordnung sein.

            Und kann ich irgendwie noch den Typ "WebPage" unterbringen?

            AFAIS nein. Und du hast mit "url" auch genügend getan.

            LLAP 🖖

            --
            „Wenn du eine weise Antwort verlangst, musst du vernünftig fragen.“ —Johann Wolfgang von Goethe
            1. problematische Seite

              Vielen Dank.

              Das gleiche Konstrukt kann ich dann doch auf der Startseite verwenden, nur ohne den Teil mit den Produkten?

              Und sollte ich das Feld "description" für jede Seite anpassen, also quasi eine Seitenbeschreibung oder gehört da auf jeder Seite das gleiche rein, weil es eine Beschreibung der Firma ist?

              Ich habe natürlich auf jeder Seite einmal ein "meta description" und "open graph description" Feld mit einer individuellen Seitenbeschreibung.

              1. problematische Seite

                @@der_Mausbiber

                Das gleiche Konstrukt kann ich dann doch auf der Startseite verwenden, nur ohne den Teil mit den Produkten?

                Ja. Aber was willst du/sollen andere mit den Daten eigentlich anfangen? Dass sie im Quelltext stehen, heißt ja nicht, dass sie von irgendeiner Software ausgewertet werden.

                Wertest du sie aus und verwendest deshalb das JSON-LD-Format?

                Ansonsten hat ja RDFa den Vorteil, dass die Daten nicht doppelt im Quelltext vorkommen, sondern die ohnehin schon vorhandenen, für menschliche Nutzer sichtbaren Daten semantisch (maschinenlesbar) ausgezeichnet werden.

                LLAP 🖖

                --
                „Wenn du eine weise Antwort verlangst, musst du vernünftig fragen.“ —Johann Wolfgang von Goethe
                1. problematische Seite

                  Was ich damit will?

                  Hmm, ich versuche den Suchmaschinen soviel Daten wie möglich zu geben.

                  Warum das json Format? Weil Google das bevorzugt -> https://developers.google.com/search/docs/guides/intro-structured-data

                  Deshalb packe ich da soviel rein wie möglich.

                  Das die Daten doppelt vorkommen stört schon, aber das gleiche Problem habe ich ja quasi mit OpenGraph schon, bzw. so kann ich die Seitenbeschreibung, Telefonnummern, etc.. für Suchmaschinen anpassen.

                  Z.Bsp. steht im Footer als Telefonnummer "06441 - 55 71" und für die Suchmaschine habe ich "+49 6441 5571" angegeben.

                  Vorher hatte ich den Footer über RDFa strukturiert, das hat aber dazu geführt das beim Teilen über Google+ nicht mehr der "og:title" genutzt wurde, sondern der per itemprop="name" gesetzte Name - im Footer war das der Name der Firma, also "Rink GmbH". Als Ergebnis stand dann beim Teilen über Google+ immer "Rink GmbH" als Überschrift.

                  1. problematische Seite

                    @@der_Mausbiber

                    Warum das json Format? Weil Google das bevorzugt -> https://developers.google.com/search/docs/guides/intro-structured-data

                    Das lese ich da so nicht raus: “Structured data markup is most easily represented in JSON-LD format.”

                    Da steht: Am einfachsten. – Vermutlich meinen sie damit: am einfachsten für Entwickler. Und haben die ganzen JavaScript-Entwickler im Sinn, die sich „Frontend-Entwickler“ nennen, obwohl sie kaum Ahnung von HTML haben.

                    Da steht nicht: bevorzugt. Ich würde einen Parser, der die Daten aus JSON-LD ausliest, aber die aus RDFa oder Microdata (würg) ignoriert, als kaputt bezeichnen.

                    Ich hab aber keine Ahnung, was die Parser von Google oder anderen Suchmaschinen da wirklich tun.

                    LLAP 🖖

                    --
                    „Wenn du eine weise Antwort verlangst, musst du vernünftig fragen.“ —Johann Wolfgang von Goethe
                    1. problematische Seite

                      Das lese ich da so nicht raus: “Structured data markup is most easily represented in JSON-LD format.”

                      Da steht aber etwas weiter unten auch :

                      JSON-LD is the recommended format. Google is in the process of adding JSON-LD support for all markup-powered features. The table below lists the exceptions to this. We recommend using JSON-LD where possible.

                      Okay, letztendlich ist es wohl egal und ja, die doppelten Angaben im Quelltext nerven. Aber wie gesagt, wenn ich den Footer mit LocalBusiness bestücke, dann habe ich Probleme beim Teilen über Google+.

                      Quellcode footer:

                      	<footer class="container">
                              <div class="row">
                                  <div class="col-xs-12">
                                      <div class="shariff" data-theme="grey" data-services="[&quot;facebook&quot;,&quot;googleplus&quot;,&quot;pinterest&quot;,&quot;qzone&quot;,&quot;xing&quot;,&quot;linkedin&quot;]"></div>
                                  </div>
                              </div>
                              <div class="row">
                                  <div class="col-lg-12" itemscope itemtype="http://schema.org/LocalBusiness">
                                      <div class="pull-left"><p>&copy; 2012 <span itemprop="name">Rink GmbH</span>  &middot; </p></div>
                                      
                                      <div class="pull-left-none" itemprop="address" itemscope itemtype="http://schema.org/PostalAddress"><p>
                                          <span itemprop="streetAddress">  Altenberger Straße 53</span>  &middot;
                                          <span itemprop="postalCode">35576</span> 
                                          <span itemprop="addressLocality">  Wetzlar</span> <br class="visible-xs-block">
                                          <span class="visible-sm-inline visible-md-inline visible-lg-inline">  &middot; </span>Telefon <span itemprop="telephone">06441 5571</span>  &middot;  
                                          Telefax <span itemprop="faxNumber">06441 5994</span>
                                      </p></div>
                                      
                                      
                                      <div class="pull-right"><p><a title="Impressum Rink GmbH Wetzlar" href="impressum">Impressum</a> &middot; <a title="Datenschutzerklärung und Privatsphäre" href="datenschutz">Datenschutz</a></p></div>
                                  </div>
                              </div>
                      	</footer>
                      

                      Was müsste ich hier ändern, damit er beim Teilen nicht mehr "Rink GmbH" als Überschrift nimmt, sondern das was bei og:title angegeben ist.

                    2. problematische Seite

                      Wenn ich das nochmal fragen dürfte, versteht sich das Feld "description" als Seiten- oder Firmenbeschreibung?

                      Nicht das Google jetzt bei allen Suchergebnissen und allen Seiten die gleiche Beschreibung anzeigt.