I am marking up schema.org for a law firm site, the site is a basic 7 page site detailing a law firm that has multiple locations.

My thought was just to put the schema markup on the homepage (JSON-ld) and markup the contact page with schema (microdata due to CMS limitations).

Originally, I wanted to put the contact data on the homepage under legalservice, so it is all related and in one spot. However Google states not to mark up content that isn't on the page (the home page contains no contact information)

My questions are:

  1. Is it wrong to place contact/location information on a page which doesn't contain the contact information? If so should all schema just live on the contact page?

  2. If they should be separated, should the Schema live on both the homepage and contact page, same Schema with contact page expanded to include locations/contact?


3 Answers 3


Is it wrong to place contact / location information on a page that does not contain the contact information?

Do not do this - not to mark up content that isn't on the page.

...all schema just live on the contact page?

Schema is not only the markup of structured data for contacts - read more Full Hierarchy of Schema. Note that with LegalService you can use elements for example for opening hours, for localize your business = geo + hasMap + globalLocationNumber + areaServed + location. Using an element hasOfferCatalog you can create markup for embedded offerings with OfferCatalog. Probably this markup will be more suitable for the main webpage (index) of your website with a description of the business. For the Contacts web page, you can use Organization. Note that the markup ContactPage is a child of WebPage. To mark out the contact of your business, I recommend applying Organization.

  • Really interesting stuff, thanks for going in detail!
    – StuFu
    Commented Sep 13, 2017 at 14:03

Use subdomains for each location. In Google My business & Bing, designate the site that belongs to that location. Modify structured data for each subdomain that services that geo.location.

Use AboutPage schema for NAP, Opening Hours and linked data for schema attorney and founders from the about page using @id URL.

The HomePage is too convoluted with various entities. The AboutPage & ContactPage schema types were made for this.


I would make a page for each location and have the markup for each individual location on its own page so that each location has a canonical page that you can use.

  • I know that's really what should happen here, unfortunately the client really wants the locations all on one page :(
    – StuFu
    Commented Sep 13, 2017 at 14:04

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.