Question

For a restaurant with two physical locations I am trying to add geo data to the rich snippets for both locations. When I add geodata for itemtype restaurant, the code validates, but then I can only add one location. Adding geo data in other parts results in errors like: Error: Page contains property "geo" which is not part of the schema.

I am trying to add this code:

<div itemprop="geo" itemscope itemtype="http://schema.org/GeoCoordinates">
 <meta itemprop="latitude" content="37.7793" />
 <meta itemprop="longitude" content="-122.4192" />
</div>

The code below is the complete rest of code which validates correctly. Any suggestions/comments are also very welcome.

   <div itemscope itemtype="http://schema.org/Restaurant">
        <span itemprop="name">Our Restaurant</span><br><br>
        <meta itemprop="description" content="The best" />
        <meta itemprop="servesCuisine" content="West European" />
        <meta itemprop="menu" content="url/menu" />
        <meta itemprop="paymentAccepted" content="Pin, Vpay" />
        <meta itemprop="logo" content="link to logo" />
        <meta itemprop="url" content="url" />
        <meta itemprop="acceptsReservations" content="0123 12345678910">
        <meta itemprop="email" content="info@myrestaurant.nl" />
    </div>

    <div itemprop="address" itemscope itemtype="http://schema.org/PostalAddress">
        <span itemprop="streetAddress">Address</span>, 
        <span itemprop="postalCode">12345</span> 
        <span itemprop="addressLocality">City</span><br><br>
        <meta itemprop="telephone" content="01234 12345678910" />
    </div>

    <div itemprop="location" itemscope itemtype="http://schema.org/PostalAddress">
        <span itemprop="streetAddress">Address1</span>, 
        <span itemprop="postalCode">54321</span> 
        <span itemprop="addressLocality">City1</span><br><br>
        <meta itemprop="telephone" content="+10 12345678910" />
    </div>
Was it helpful?

Solution

het, as your markup currently sits, you have three separate and independent schema types, and search engines will not be able to understand the relationship between them. First, you need to nest the PostalAddress type within the Restaurant schema type, like this:

<div itemscope itemtype="http://schema.org/Restaurant">
<span itemprop="name">Our Restaurant</span><br><br>
<meta itemprop="description" content="The best" />
<meta itemprop="servesCuisine" content="West European" />
<meta itemprop="menu" content="url/menu" />
<meta itemprop="paymentAccepted" content="Pin, Vpay" />
<meta itemprop="logo" content="link to logo" />
<meta itemprop="url" content="url" />
<meta itemprop="acceptsReservations" content="0123 12345678910">
<meta itemprop="email" content="info@myrestaurant.nl" />

<div itemprop="address" itemscope itemtype="http://schema.org/PostalAddress">
<span itemprop="streetAddress">Address</span>, 
<span itemprop="postalCode">12345</span> 
<span itemprop="addressLocality">City</span><br><br>
<meta itemprop="telephone" content="01234 12345678910" />
</div>
</div>

You also need to use two separate Restaurant types, one for each location. You can show the relationship between the two by using either the "branchOf" property or the "subOrganizaiton" property. But each location must use its own Restaurant schema type and then the PostalAddress type must be nested within each.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top