JSON-LD; the time efficient method to Schema markup

Schema.org – the breakdown

Schema.org is mostly known for its universal code-oriented methodology into making your website indexable. It is a HTML code used by search engines such as Bing, Google and Yahoo to extract ‘rich snippets’ of information from your web pages. In laymen’s terms, it is nothing short of an instruction manual you can give to search engines to ensure they categorise your website correctly. Schema represents a unity of internet giants, all coming together to comprehend all microdata available to us online, and to index it accordingly.

It is interesting to think that installing one snippet of code can turn your webpage from a nationwide business barely hitting your desired geodemographic, to a specialized local business prioritized by Google, following the 2016 Google algorithm changes.

What can JSON-LD be used for?

  • Data Type (Primary Key)
  • Company Name
  • Company Address
  • Location on Google maps
  • ‘Geolocation’ - Longitude/Latitude
  • URL & Associated URLs
  • Opening hours
  • Telephone number
  • Contact point
  • Logo
  • External company picture


If your company is lacking a digital footprint, some of this information may be previously unavailable when searching for your business. Once completing this how-to-guide, you can test your microdata and website visibility using our in-house free auditing service.

Great – so how do I get started?   

Schema.org has one of the most extraordinary learning curves in digital marketing, as it takes an enormous amount of trial-and-error before things start working properly. Fortunately, there are several guides and workarounds available, and I’m just going to show you a select few links to get you started onto the most time efficient way of marking your website up using Schema/JSON-LD.

1. Read the Google developers write up on the introduction to Structured Data – this will give you some background as to the usual format of structured data so you can get a feel of things.

2. Let’s get started! Schema just got even easier, with Googles’ release of the Structured Data Markup Helper, we just need to choose which category our website is in, and type your URL into the ‘start tagging’ element at the bottom of the page.

3. For today’s example, we are going to look at BarkWeb ltd. So, we are going to choose the data subset ‘Local Businesses’ and click ‘Start Tagging'.

4. Start from the top of the list! Simply highlight and select the data terms that correlate with the correct heading. So here, we’ll select the name and telephone number. We’ll let it start populating additional schema coding for the webpage on the right-hand side.

Top tip: If you don’t put a country code in, your phone number will not be indexed by major search engines. So if like us you have a number on your page showing the UK only area code, you can add your telephone number by clicking ‘Add missing tags’, and type the number in manually under the ‘Telephone’ sub-category.

5. Once the name and telephone number are on, we can start working with address, adding the street address, city and region.

6. Once the address is added, we’re going to backtrack to Email. Again, just select the text and choose the data subcategory. If your page is missing this then you can add it as a missing tag.

7. Time to add a URL, this gives the script a second URL to refer to. Usually, it is worthwhile adding social links, and these can of course be edited later to add more information such as "sameAs". As this is not the landing page, it will prove worthwhile to link back to the landing page to ensure the landing page and the business contact page stay indexed together.

8. Now we’ve tagged everything relevant, time to create the HTML! (click on the big red button).

9. Now, you should see the suggested HTML. Microdata is the preferred format by Google, but today we’re going to try some JSON-LD. Google representatives have stated time and time again that wrapping your text with schema coding is the best way to get your site understood, however, JSON-LD is a widely accepted format that adds rich snippets to your page without having to directly access the surrounding content.



If you wanted to continue with Microdata, the yellow tabs on the right-hand side are the bits of microdata markup you have created within the context, you can download and export this data to post it into your CMS manually.

10. Upon selecting JSON-LD, it will come up with this simplified script, highlight and copy from “<script type=” – “</script>” onto your clipboard. 

11. Paste your new script into Google’s structured data testing tool here, under ‘CODE SNIPPET’. 

12. If your page is coming up as followed, and you think that is enough JSON-LD coding for one day, please skip ahead to ‘How can I tell if my Script is working?’, portion of this tutorial.

13. Warning: Advanced users only. Now, we’re going to get a little more in depth. Whilst staying on this testing tool, we’re going to expand this script with every relevant variable. Firstly, we’re going to start with the business type. Local Business may be enough for most people, but if you’d like to hone in on the category and indexing of your business as a more defined entity, or if you aren’t sure which business category your business would be considered within Schema.org, check out Phil from LocalVisiblitySystem’s Google docs spreadsheet to find which subcategory your business is under right here:  Schema Business Link

So, for BarkWeb, we are going to change the ‘LocalBusiness’ to ‘ProfessionalService’.

14. We are then going to add “sameAs” links, this means we can meld our various social media channels into the same search index as our main website, this is an invaluable method of letting search engines know all social channels are connected and owned by the same company.

15. Next, we are going to focus on localizing your business. For BarkWeb, we are going to use the metrics ‘Longitude’ ‘Latitude’ and Google Maps. To access this information, type in your company address into Google Maps, and click ‘Share’.

It should pop up with this, your longitude is the first long number which is highlighted, whilst your latitude is the second number (after the comma), with the Google maps link just being a link to the full map (copy the web address at the top and paste it).

16. Using the “hasmap” and other location designated commands, our list is starting to populate nicely;

17. Note: keep clicking the validate button as you go, to ensure the code is still in working order. The structure of the code is what makes or breaks it.

Finally, we’re going to want to add a logo, description and opening hours.

It is important to post the opening hours outside of any brackets, and ensure to put a comma before and after, so as not to break the code, as followed. The order doesn’t matter whatsoever if every element of this code is still working.

18. After adding the finishing touches of the company logo (and copying it over as an “image” data subset), the opening hours and description, test your code one last time. If no errors are showing, then your JSON-LD Script is ready to implement! It should look a little something like this;

Here if your fully prepared JSON-LD schema markup;

It is argued that it should always be in the <head> of the page to load the script first, however, the script is a JavaScript so can be placed anywhere and it will load simultaneously with the page.

Cite: Whitespark.ca/blog

I would suggest posting in the footer as it is the norm to have the same footer on every page, however, you can place individual contact points and numbers in different scripts if your company has multiple contact numbers.

How can I make sure my script is working?

There are two structured data testing tools that I would strongly recommend using every time, to ensure that your data is valid.

Firstly, the Google structured data testing tool I mentioned earlier. You can either enter a URL or copy and paste your code (which you should still have on your clipboard), into this testing tool. It will let you edit and correct faults as you go, and will outline any errors you are currently experiencing. It also displays suggestions if you aren’t sure about the spelling of any of your code and want to input it manually. This tool should be second nature to you by now if you have followed the advanced section of this tutorial.

Note: Google SDTT is temperamental, it might say there is an issue when there simply isn’t, Google developers have stated that it will be undergoing minor tweaks until this is fixed throughout 2017. Google have also added an additional help page to make this process simpler to understand.

Finally, you want to use the  Yandex microdata testing tool to ensure it is being picked up and categorized correctly. Here is an example of the script we just created in the Yandex testing tool;

So, my script is made & functional – what now?

Now, after making any last-minute edits, you copy the script to the clipboard and simply post it in the footer of your web page. Because it’s JSON-LD and not plain schema, you don’t have to worry about the placement or wrapping the code around relevant text.

Again, I choose to post JSON-LD scripts into the CSS footer of the page using our custom designed CMS from BarkWeb, as followed;

And that’s it! Your website is locally optimised and now better indexed for geographical searches relating to your business location.


If you’d like any more information on how to optimise your site locally, contact us on 01323 735800, or go through our internal Optimise portal.