Do I need JSON-LD on all pages or just the home page?
Google uses the phrase "Include the contact markup on one page in your official site" in relation to the Organization information you are adding.
https://developers.google.com/search/docs/guides/enhance-site
Typically you would add it to the home page or contact page. i.e. pages that talk about the organization.
Don't add it to pages on other subjects unless it is part of some other entity. I.e. the publisher of an article. Then, you only need to provide basic details including an id and url so that systems can connect the partial organization with your more detailed one on another page.
Google no longer seems to talk about the use of WebSite in that way. It used to help in mobile search results. I recall that they said only on the home page.
Another use for WebSite states "Implement the WebSite structured data element on the homepage for your site".
https://developers.google.com/search/docs/data-types/sitelinks-searchbox
JSON-LD should be included on the company home page for the company info. While you shouldn't use that on other pages, you should include JSON-LD on the other pages that provides the information on those pages.
- Services pages should have rich snippets.
- Menu pages should have rich snippets.
- Product pages should have Schema as well.
The key is to place appropriate Schema on the pages that you wish to rank on the search engines. Every page's Schema should be different. If you have duplicate pages (pages that can be accessed with http
or https
, or pages with passed parameters, like example.com/page.php?a=1
) make sure to include canonical references to the source page. This will cause search engines to view the pages the same and WILL effect analytics and ranking in a large way.
You can include multiple structured data objects on a page, as long as they describe user-visible page content. However, if you mark up one item in a list you must mark up all items; marking up just one category entity from all listed on the page is against our guidelines.
Examples: https://developers.google.com/search/docs/guides/sd-policies