Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

Strukturierte Daten für lokale Unternehmen (LocalBusiness)

Wenn Nutzer in der Google Suche oder in Google Maps Unternehmen suchen, kann in den Suchergebnissen ein hervorgehobenes Knowledge Panel mit Details zu einem Unternehmen angezeigt werden, das der Anfrage entspricht. Bei der Suche nach einem bestimmten kommerziellen Angebot, z. B. „beste Restaurants in New York“, wird unter Umständen ein Karussell mit Unternehmen angezeigt, die mit den Kriterien der Suchanfrage übereinstimmen. Mithilfe von strukturierten Daten für lokale Unternehmen kannst du Google unter anderem über deine Öffnungszeiten, die verschiedenen Abteilungen innerhalb des Unternehmens und die Rezensionen zu deinem Unternehmen informieren. Wenn du Nutzern die Möglichkeit geben möchtest, direkt in den Suchergebnissen eine Reservierung vorzunehmen oder eine Bestellung aufzugeben, kannst du mithilfe der Google Maps Booking API Buchungen, Zahlungen und andere Aktionen aktivieren.

So fügst du strukturierte Daten hinzu

Strukturierte Daten sind ein standardisiertes Format, mit dem du Informationen zu einer Seite angeben und die Seiteninhalte klassifizieren kannst. Falls strukturierte Daten für dich ein neues Thema sind, findest du hier Informationen dazu, wie sie funktionieren.

In der folgenden Übersicht haben wir zusammengefasst, wie du strukturierte Daten erstellst, testest und veröffentlichst. Eine detaillierte Anleitung dazu, wie du einer Webseite strukturierte Daten hinzufügst, findest du im Codelab zu strukturierten Daten.

  1. Füge die erforderlichen Properties hinzu. Hier erfährst du, wie du strukturierte Daten je nach verwendetem Format auf der Seite einfügst.
  2. Folge den Richtlinien.
  3. Prüfe deinen Code mit dem Test für Rich-Suchergebnisse und behebe alle kritischen Fehler. Zusätzlich solltest du alle nicht kritischen Probleme beheben, die im Tool möglicherweise gemeldet werden. Das kann dabei helfen, die Qualität deiner strukturierten Daten zu verbessern. Das ist jedoch nicht nötig, um für Rich-Suchergebnisse geeignet zu sein.
  4. Stelle ein paar Seiten mit deinen strukturierten Daten bereit und teste mit dem URL-Prüftool, wie Google die Seiten sieht. Achte darauf, dass die Seiten für Google zugänglich sind und nicht durch eine robots.txt-Datei, das noindex-Tag oder Anmeldeanforderungen blockiert werden. Wenn die Seiten in Ordnung sind, kannst du Google bitten, deine URLs noch einmal zu crawlen.
  5. Damit Google über künftige Änderungen auf dem Laufenden bleibt, empfehlen wir dir, eine Sitemap einzureichen. Mit der Search Console Sitemap API lässt sich dieser Vorgang automatisieren.

Beispiele

Einfacher lokaler Brancheneintrag

Hier ein Beispiel für einen einfachen lokalen Brancheneintrag in JSON-LD.

Lokaler Brancheneintrag in der Google Suche


<html>
  <head>
    <title>Dave's Steak House</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "Restaurant",
      "image": [
        "https://example.com/photos/1x1/photo.jpg",
        "https://example.com/photos/4x3/photo.jpg",
        "https://example.com/photos/16x9/photo.jpg"
       ],
      "name": "Dave's Steak House",
      "address": {
        "@type": "PostalAddress",
        "streetAddress": "148 W 51st St",
        "addressLocality": "New York",
        "addressRegion": "NY",
        "postalCode": "10019",
        "addressCountry": "US"
      },
      "review": {
        "@type": "Review",
        "reviewRating": {
          "@type": "Rating",
          "ratingValue": "4",
          "bestRating": "5"
        },
        "author": {
          "@type": "Person",
          "name": "Lillian Ruiz"
        }
      },
      "geo": {
        "@type": "GeoCoordinates",
        "latitude": 40.761293,
        "longitude": -73.982294
      },
      "url": "https://www.example.com/restaurant-locations/manhattan",
      "telephone": "+12122459600",
      "servesCuisine": "American",
      "priceRange": "$$$",
      "openingHoursSpecification": [
        {
          "@type": "OpeningHoursSpecification",
          "dayOfWeek": [
            "Monday",
            "Tuesday"
          ],
          "opens": "11:30",
          "closes": "22:00"
        },
        {
          "@type": "OpeningHoursSpecification",
          "dayOfWeek": [
            "Wednesday",
            "Thursday",
            "Friday"
          ],
          "opens": "11:30",
          "closes": "23:00"
        },
        {
          "@type": "OpeningHoursSpecification",
          "dayOfWeek": "Saturday",
          "opens": "16:00",
          "closes": "23:00"
        },
        {
          "@type": "OpeningHoursSpecification",
          "dayOfWeek": "Sunday",
          "opens": "16:00",
          "closes": "22:00"
        }
      ],
      "menu": "https://www.example.com/menu",
      "acceptsReservations": "True"
    }
    </script>
  </head>
  <body>
  </body>
</html>

Unten siehst du ein Beispiel für ein Restaurant, das die Anforderungen an eine Detailseite erfüllt (es wird vorausgesetzt, dass es auch eine Übersichtsseite mit Karussell-Markup gibt). Das Restaurantkarussell ist derzeit nur für eine kleine Anzahl von Restaurants verfügbar. Wenn du teilnehmen möchtest, fülle bitte unser Formular für Interessenten aus.

<html>
  <head>
    <title>Trattoria Luigi</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org/",
      "@type": "Restaurant",
      "name": "Trattoria Luigi",
      "image": [
        "https://example.com/photos/1x1/photo.jpg",
        "https://example.com/photos/4x3/photo.jpg",
        "https://example.com/photos/16x9/photo.jpg"
       ],
       "priceRange": "$$$",
       "servesCuisine": "Italian",
       "address": {
         "@type": "PostalAddress",
         "streetAddress": "148 W 51st St",
         "addressLocality": "New York",
         "addressRegion": "NY",
         "postalCode": "10019",
         "addressCountry": "US"
       }
    }
    </script>
  </head>
  <body>
  </body>
</html>

Öffnungszeiten

Die folgenden Beispiele zeigen, wie verschiedene Öffnungszeiten mit Markup ausgezeichnet werden.

Reguläre Öffnungszeiten

Wenn die Properties validFrom und validThrough nicht verwendet werden, bedeutet dies, dass die Öffnungszeiten für das gesamte Jahr gelten. In diesem Beispiel hat das Geschäft wochentags von 9:00 bis 21:00 Uhr und am Wochenende von 10:00 bis 23:00 Uhr geöffnet.

"openingHoursSpecification": [
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": [
      "Monday",
      "Tuesday",
      "Wednesday",
      "Thursday",
      "Friday"
    ],
    "opens": "09:00",
    "closes": "21:00"
  },
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": [
      "Saturday",
      "Sunday"
    ],
    "opens": "10:00",
    "closes": "23:00"
  }
]
Öffnungszeiten nach Mitternacht

Öffnungs- und Schließzeiten gibst du in diesem Fall mit einer einzigen OpeningHoursSpecification-Property an. Im folgenden Beispiel sind die Öffnungszeiten von Samstag um 18:00 Uhr bis Sonntag um 3:00 Uhr definiert.

"openingHoursSpecification": {
  "@type": "OpeningHoursSpecification",
  "dayOfWeek": "Saturday",
  "opens": "18:00",
  "closes": "03:00"
}
Ganztägige Öffnungszeiten

Wenn du ein Geschäft als rund um die Uhr geöffnet auszeichnen möchtest, setze die Property open auf "00:00" und die Property closes auf "23:59". Möchtest du dagegen signalisieren, dass ein Geschäft den ganzen Tag geschlossen ist, setze die beiden Properties opens und closes auf "00:00". Das folgende Beispiel zeigt ein Geschäft, das samstags ganztägig geöffnet und sonntags ganztägig geschlossen ist.

"openingHoursSpecification": [
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": "Saturday",
    "opens": "00:00",
    "closes": "23:59"
  },
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": "Sunday",
    "opens": "00:00",
    "closes": "00:00"
  }
]
Saisonal abweichende Öffnungszeiten

Mit den Properties validFrom und validThrough definierst du saisonal abweichende Öffnungszeiten. Das folgende Beispiel zeigt ein Geschäft, das in den Weihnachtsferien geschlossen ist.

"openingHoursSpecification": {
  "@type": "OpeningHoursSpecification",
  "opens": "00:00",
  "closes": "00:00",
  "validFrom": "2015-12-23",
  "validThrough": "2016-01-05"
}

Mehrere Abteilungen

Bei einem Unternehmen mit verschiedenen Abteilungen mit jeweils eigenen Properties für Öffnungszeiten oder Rufnummern kannst du die Property department jeweils mit einem eigenen Element pro Abteilung auszeichnen. Definiere hier die Properties, die sich bei der betreffenden Abteilung vom übergeordneten Geschäft unterscheiden.

<html>
  <head>
    <title>Dave's Department Store</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "Store",
      "image": [
        "https://example.com/photos/1x1/photo.jpg",
        "https://example.com/photos/4x3/photo.jpg",
        "https://example.com/photos/16x9/photo.jpg"
       ],
      "name": "Dave's Department Store",
      "address": {
        "@type": "PostalAddress",
        "streetAddress": "1600 Saratoga Ave",
        "addressLocality": "San Jose",
        "addressRegion": "CA",
        "postalCode": "95129",
        "addressCountry": "US"
      },
      "geo": {
        "@type": "GeoCoordinates",
        "latitude": 37.293058,
        "longitude": -121.988331
      },
      "url": "https://www.example.com/store-locator/sl/San-Jose-Westgate-Store/1427",
      "priceRange": "$$$",
      "telephone": "+14088717984",
      "openingHoursSpecification": [
        {
          "@type": "OpeningHoursSpecification",
          "dayOfWeek": [
            "Monday",
            "Tuesday",
            "Wednesday",
            "Thursday",
            "Friday",
            "Saturday"
          ],
          "opens": "08:00",
          "closes": "23:59"
        },
        {
          "@type": "OpeningHoursSpecification",
          "dayOfWeek": "Sunday",
          "opens": "08:00",
          "closes": "23:00"
        }
      ],
      "department": [
        {
          "@type": "Pharmacy",
          "image": [
        "https://example.com/photos/1x1/photo.jpg",
        "https://example.com/photos/4x3/photo.jpg",
        "https://example.com/photos/16x9/photo.jpg"
       ],
          "name": "Dave's Pharmacy",
          "address": {
            "@type": "PostalAddress",
            "streetAddress": "1600 Saratoga Ave",
            "addressLocality": "San Jose",
            "addressRegion": "CA",
            "postalCode": "95129",
            "addressCountry": "US"
          },
          "priceRange": "$",
          "telephone": "+14088719385",
          "openingHoursSpecification": [
            {
              "@type": "OpeningHoursSpecification",
              "dayOfWeek": [
                "Monday",
                "Tuesday",
                "Wednesday",
                "Thursday",
                "Friday"
              ],
              "opens": "09:00",
              "closes": "19:00"
            },
            {
              "@type": "OpeningHoursSpecification",
              "dayOfWeek": "Saturday",
              "opens": "09:00",
              "closes": "17:00"
            },
            {
              "@type": "OpeningHoursSpecification",
              "dayOfWeek": "Sunday",
              "opens": "11:00",
              "closes": "17:00"
            }
          ]
        }
      ]
    }
    </script>
  </head>
  <body>
  </body>
</html>

Richtlinien

Damit dein Brancheneintrag in den Rich-Suchergebnissen für lokale Unternehmen angezeigt wird, musst du die folgenden Richtlinien einhalten.

Definitionen strukturierter Datentypen

In den folgenden Tabellen sind die Properties und ihre Verwendung für lokale Unternehmen und die verschiedenen Typen von Geschäftsaktionen aufgeführt. Dabei werden die Letzteren so beschrieben, wie sie unter schema.org/LocalBusiness vollständig definiert sind.

Damit die Inhalte als Rich-Suchergebnis angezeigt werden können, müssen mindestens alle erforderlichen Properties hinzugefügt werden. Du kannst auch die empfohlenen Properties einbinden, um den Nutzern mit zusätzlichen Informationen zu deinen Inhalten einen Mehrwert zu bieten.

Du kannst auf jeder Seite deiner Website strukturierte Daten vom Typ LocalBusiness einfügen. Es kann jedoch sinnvoll sein, die Daten auf einer Seite zu platzieren, die Informationen zu deinem Unternehmen enthält.

LocalBusiness

Die vollständige Definition von LocalBusiness findest du unter schema.org/LocalBusiness. Definiere jeden Standort des lokalen Unternehmens als LocalBusiness-Typ. Verwende einen möglichst konkreten LocalBusiness-Untertyp. Beispiele hierfür sind Restaurant, DaySpa und HealthClub. Wenn du mehrere Typen verwendest, gib sie als Array an (additionalType wird nicht unterstützt). Hier ein Beispiel, wenn ein Unternehmen mehrere Dienstleistungen anbietet:

{
  "@context": "https://schema.org",
  "@type": ["Electrician", "Plumber", "Locksmith"],
  ....
}

Die von Google unterstützten Eigenschaften sind folgende:

Erforderliche Eigenschaften
address

PostalAddress

Der Standort des Unternehmens. Hier ist es sinnvoll, möglichst viele Properties anzugeben. Je mehr Properties du angibst, desto informativer ist das Ergebnis für die Nutzer. Beispiel:


"address": {
  "@type": "PostalAddress",
  "streetAddress": "148 W 51st St Suit 42 Unit 7",
  "addressLocality": "New York",
  "addressRegion": "NY",
  "postalCode": "10019",
  "addressCountry": "US"
}
name

Text

Der Name des Unternehmens

Empfohlene Properties
aggregateRating

AggregateRating

Für Websites, auf denen Rezensionen zu anderen lokalen Unternehmen erfasst werden: Die Durchschnittsbewertung für das lokale Unternehmen, die sich aus mehreren Bewertungen und Rezensionen errechnet. Bitte beachte die Richtlinien für Rezensions-Snippets und die Liste der erforderlichen und empfohlenen Properties für Gesamtbewertungen.

department

LocalBusiness

Ein verschachteltes Element für eine einzelne Abteilung. Du kannst für eine Abteilung beliebige Properties aus dieser Tabelle definieren.

Zusätzliche Richtlinien:

  • Gib den Geschäftsnamen mit dem Abteilungsnamen im folgenden Format an: {store name} {department name}. Beispiel: gMart und gMart Pharmacy.
  • Wenn der Abteilungsname eine eigene Marke darstellt, gib ihn separat an. Beispiel: Best Buy und Geek Squad.
geo

GeoCoordinates

Die geografischen Koordinaten des Unternehmens

geo.latitude

Number

Der Breitengrad des Unternehmensstandorts. Er muss mit einer Genauigkeit von mindestens fünf Nachkommastellen angegeben werden.

geo.longitude

Number

Der Längengrad des Unternehmensstandorts. Er muss mit einer Genauigkeit von mindestens fünf Nachkommastellen angegeben werden.

menu

URL

Für Lebensmittelunternehmen die vollständig qualifizierte URL des Leistungsangebots, z. B. für Gastronomiebetriebe die URL der Speisekarte.

openingHoursSpecification

Ein Array oder ein einzelnes Objekt vom Typ OpeningHoursSpecification. Beide werden unterstützt.

Öffnungszeiten des Geschäftsstandorts

openingHoursSpecification.closes

Time

Uhrzeit, zu der der Unternehmensstandort schließt, im Format „hh:mm:ss“

openingHoursSpecification.dayOfWeek

Text

Mindestens eines der folgenden Elemente:

  • Montag
  • Dienstag
  • Mittwoch
  • Donnerstag
  • Freitag
  • Samstag
  • Sonntag
openingHoursSpecification.opens

Time

Uhrzeit, zu der der Unternehmensstandort öffnet, im Format „hh:mm:ss“

openingHoursSpecification.validFrom

Date

Das Anfangsdatum einer saisonal bedingten Geschäftsschließung im Format JJJJ-MM-TT

openingHoursSpecification.validThrough

Date

Das Enddatum einer saisonal bedingten Geschäftsschließung im Format JJJJ-MM-TT

priceRange

Text

Die relative Preisspanne eines Unternehmens. Sie wird normalerweise entweder als numerischer Bereich, z. B. „$10-15“, oder durch eine normalisierte Anzahl von Währungszeichen wie etwa „$$$“ angegeben.

In diesem Feld dürfen maximal 100 Zeichen eingetragen sein. Wenn das Feld mehr als 100 Zeichen enthält, zeigt Google keine Preisspanne für das Unternehmen an.

review

Rezension

Für Websites, auf denen Rezensionen zu anderen lokalen Unternehmen erfasst werden: Eine Rezension zum lokalen Unternehmen. Bitte beachte die Richtlinien für Rezensions-Snippets und die Liste der erforderlichen und empfohlenen Properties für Rezensionen.

servesCuisine

servesCuisine

Die Art der Küche, die im Restaurant serviert wird

telephone

Text

Eine geschäftliche Telefonnummer, die als primäre Kontaktmöglichkeit für Kunden vorgesehen ist. Gib in jedem Fall auch die Landes- und Ortsvorwahl an.

url

URL

Die vollständig qualifizierte URL des jeweiligen Unternehmensstandorts. Die URL muss ein funktionierender Link sein.

Wenn auf deiner Website mehrere Restaurants aufgeführt sind und diese in einem Hostkarussell angezeigt werden sollen, füge das Karussellobjekt hinzu. Definiere zusätzlich zu den standardmäßigen Karussell-Properties in deinem Karusselobjekt die unten aufgeführten Properties. Die Karussell-Eigenschaften sind zwar nicht obligatorisch, aber du musst die folgenden Eigenschaften hinzufügen, wenn deine Restaurantliste in einem Hostkarussell angezeigt werden soll.

Die von Google unterstützten Eigenschaften sind folgende:

Erforderliche Eigenschaften
image

Wiederholte URL oder wiederholtes ImageObject

Mindestens ein Bild des Restaurants

Additional image guidelines:

  • Every page must contain at least one image (whether or not you include markup). Google will pick the best image to display in Search results based on the aspect ratio and resolution.
  • Image URLs must be crawlable and indexable. To check if Google can access your URLs, use the URL Inspection tool.
  • Images must represent the marked up content.
  • Images must be in a file format that's supported by Google Images.
  • For best results, we recommend providing multiple high-resolution images (minimum of 50K pixels when multiplying width and height) with the following aspect ratios: 16x9, 4x3, and 1x1.

For example:

"image": [
  "https://example.com/photos/1x1/photo.jpg",
  "https://example.com/photos/4x3/photo.jpg",
  "https://example.com/photos/16x9/photo.jpg"
]
name

Text

Der Name des Restaurants

Empfohlene Properties
address

PostalAddress

Der Standort des Unternehmens. Hier ist es sinnvoll, möglichst viele Properties anzugeben. Je mehr Properties du angibst, desto informativer ist das Ergebnis für die Nutzer. Beispiel:


"address": {
  "@type": "PostalAddress",
  "streetAddress": "148 W 51st St",
  "addressLocality": "New York",
  "addressRegion": "NY",
  "postalCode": "10019",
  "addressCountry": "US"
}
servesCuisine

servesCuisine

Die Art der Küche, die im Restaurant serviert wird

Troubleshooting

If you're having trouble implementing or debugging structured data, here are some resources that may help you.

  • If you're using a content management system (CMS) or someone else is taking care of your site, ask them to help you. Make sure to forward any Search Console message that details the issue to them.
  • Google does not guarantee that features that consume structured data will show up in search results. For a list of common reasons why Google may not show your content in a rich result, see the General Structured Data Guidelines.
  • You might have an error in your structured data. Check the list of structured data errors.
  • If you received a structured data manual action against your page, the structured data on the page will be ignored (although the page can still appear in Google Search results). To fix structured data issues, use the Manual Actions report.
  • Review the guidelines again to identify if your content isn't compliant with the guidelines. The problem can be caused by either spammy content or spammy markup usage. However, the issue may not be a syntax issue, and so the Rich Results Test won't be able to identify these issues.
  • Troubleshoot missing rich results / drop in total rich results.
  • Allow time for re-crawling and re-indexing. Remember that it may take several days after publishing a page for Google to find and crawl it. For general questions about crawling and indexing, check the Google Search crawling and indexing FAQ.
  • Post a question in the Google Search Central forum.