I'm trying to take advantage of using JSON-LD for Schema.org markup over Microdata because it seems way easier to implement and to maintain. Also, I've heard that consumers like Google and Bing now prefer it's use. However, since JSON-LD markup is not directly part of the source code it presents a possible issue. That being, it's now way easier to add anything you want into your markup, which makes me wonder if this could be viewed as spammy or duplicate content.

For instance, take my example code:

JSON-LD Markup:

"@context": "http://schema.org",
"@type": "LocalBusiness",
"@ID": "myID",
"additionalType": "http://www.productontology.org/id/Company_Catagory",
"address": {
    "@type": "PostalAddress",
    "addressLocality": "some city",
    "addressRegion": "XX",
    "streetAddress": "123 any st."
"description": "Detailed description of the Company",
"name": "Company Name",
"openingHours": "Mo-Fri 08:30-17:00",
"geo": {
    "@type": "GeoCoordinates",
    "latitude": "42.000",
    "longitude": "-81.000"
"logo": "https://www.campany-name.com/logo.png",
"image": "https://www.company-name.com/logo.png",
"url": "https://www.company-name.com",
"telephone": "(xxx) xxx-xxxx",
"faxNumber": "(xxx) xxx-xxxx",
"foundingDate": "1900",
"priceRange": "$$",
"email": "[email protected]",
"currenciesAccepted": "USD",
"hasMap": "https://www.google.com/maps/place/direct-link-to-google-map",
"paymentAccepted":"Cash, Credit Card, ACH, Debit",
"sameAs" : [ "https://www.facebook.com/company-name/",

The above markup example seems to satisfy the Google markup validator for a LocalBusiness, but the actual page it's referencing might only contain a few pieces of that information.

So my question is a few parts:

  1. Would it be best to only include markup that actually appears in the source code or should I provide all the bits of markup information the consumers like Google and Bing want?

  2. If the answer to question 1 is to only include markup that appears in the source code. Then, what if it's not feasible to include some items in the source code such as the geo item. Would it be best to not include it in the markup at all?

  3. Is it necessary to include the same markup on every page, or are the consumers smart enough to understand that if the LocalBusiness type has been populated on a different page inside a domain that it applies to the entire domain?

  4. If the answer to question 3 is to only include LocalBusiness markup data on one page throughout an entire site, is there a best practice regarding which page to place it on? ie. home page, contact us page.... any SEO benefit?


Per the response from Tony McCreath (Thank You!) I'm wondering how to properly use ID's in JSON-LD markup. My understanding is it would be best to only include the above mentioned JSON-LD file on one page in the entire domain that contains the more amount of contact information. Make sure my main markup contains an ID, which I've updated into my original post (now using an ID of myID). Then on all the other pages in the domain use ID's to link them together.

Would the JSON-LD for the other pages then look like this?:

      "@ID": "myID", 
      ***other markup data specific to this page i.e. services offered***

1 Answer 1


It's not considered duplicate content or spam if it is marking up information from the visible page.

  1. Yes. Ideally.

  2. As you point out, there are scenarios where it is useful to mark up information that is not directly visible. If your marking up an address with geo, then the visible equivalent may be a map showing where you are. In some cases you may want to augment the visible content with extra context. e.g. the publisher of the article. Or the specially sized logo that amp pages want.

  3. No. Once is fine for a single entity. I'd advise giving it a unique id and using that id to reference it from other pages. e.g. Mark up the Organization once then reference it from other pages (like as the publisher) via its id.

  4. Place it on the most appropriate page about the business. The about us or contact pages are good choices, as they will have the most information for you to mark up. For the WebSite entity the home page is a good choice. As I said, use a unique id. That also means you can mark up some information on the contact page, and other information on the about us page etc. Few systems are reporting based on these common ids at the moment, but that is a key part on how structured data and the knowledge graph works. They are trying to pull all the information together. And ids are how you indicate that.


Re, referencing via ids, you would typically include basic information when you are referencing an entity that is detailed in another place. e.g.

"publisher": {"@id": "myID", "@type": "LocalBusness", "name": "My Business"}

The system would have enough to work on in the page, while knowing more details are available from other markup using the same id.

  • Thanks Tony for your detailed response! That makes way more sense now. Still not 100% clear on how to us ID correctly though. I've updated my post to summarize your response and detail out where I'm still a little lost. Would you mind taking a look at it one last time?
    – Austin
    Feb 10, 2020 at 14:36
  • I've updated my answer Feb 11, 2020 at 23:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.