Optimising your website for voice searches – How to (Technical).

Digital Marketing , Article

When someone asks a question like “Where’s a good place to get pizza around here?” how do different smart devices determine which restaurant to pick?

Every day more people are starting to go to their preferred voice assistant for recommendations however not many businesses are taking advantage of this yet, mainly because no one has really covered exactly how.

The answer is actually quite simple: schema and microdata structured data.
Fancy terminology, but what it means is that behind the curtains, websites feature “META” data – or data that is used to describe, and give information about the website. E.g. A florist’s website’s META data could contain keywords related to their products. Search engines rely on some META data to glean information about the website. SCHEMA is a form of META data that is coded into the front-end of a website so that it can be processed and presented in a way that search engines understand.

Microdata Structured data or mark-up works much the same way, by giving structure to the code in a way that search engines understand, it makes it easy for them to catalogue and present that data.

There is a lot of different schema that business can use, and you can research them yourself here [https://schema.org/LocalBusiness] – but for the purpose of this I will just go into what I deem to be relevant for these kind of local results that voice assistants love pulling.

The main schema that I would recommend every local business implement would be these three:


openingHours [https://schema.org/openingHours]:

The general opening hours for a business. Opening hours can be specified as a weekly time range, starting with days, then times per day. Multiple days can be listed with commas ‘,’ separating each day. Day or time ranges are specified using a hyphen ‘-‘.

  • Days are specified using the following two-letter combinations: Mo, Tu, We, Th, Fr, Sa, Su.
  • Times are specified using 24:00 time. For example, 3pm is specified as 15:00.
  • Here is an example: <time itemprop=”openingHours” datetime=”Tu,Th 16:00-20:00″>Tuesdays and Thursdays 4-8pm</time>.
  • If a business is open 7 days a week, then it can be specified as <time itemprop=”openingHours” datetime=”Mo-Su”>Monday through Sunday, all day</time>.


Address [http://schema.org/address]: the physical address of the place. Reason for this implementation is because in order to recommend local places, they need to have the address.


Telephone [https://health-lifesci.schema.org/telephone]: Telephone number that someone can call to contact the business. This is important for giving users the ability to simply call up a place

An example of how this is all tied together using schema can be seen here – contact a developer if you aren’t sure.


[code language=”html”]
<div itemscope itemtype=”http://schema.org/LocalBusiness”>
<h1><span itemprop=”name”>HealthMint Medical Center</span></h1>
<span itemprop=”description”> HealthMint Medical Centre is a GP clinic delivering healthcare to Cranbourne, Narre Warren and Berwick. We are the clinic of the future – find out why this is!</span>
<div itemprop=”address” itemscope itemtype=”http://schema.org/PostalAddress”>
<span itemprop=”streetAddress”> 12/2-10 William Thwaites Blvd</span>
<span itemprop=”addressLocality”>Cranbourne North</span>,
<span itemprop=”addressRegion”>VIC</span>
Phone: <span itemprop=”telephone”> 03 5611 3365 </span>


Not schema but important –


Reviews: While schema can be done around this, for more basic use I would recommend funnelling reviews across Facebook, Google+, and Yelp (not as big in Australia but as you can see from the attached screenshot, Siri still pulls data from listings).

Reviews are great as they can be used to prioritise the listings, and I would actually argue that this is the most important thing that you can do for your local business. We will be doing a post on getting reviews next month so if you want to be alerted, simply comment below.


Description: While this doesn’t need to be done in the schema, this should be done in the META description of a page so that it can be pulled up and read out.


While this post got quite technical, if you find that you aren’t the right kind of person to be implementing this you can connect with a wide range of developers and SEO strategists that would be happy to implement this and all you need to do is point them towards this post, or of course we would also be happy to help ;-).


Of course please also feel free to comment below with any questions you may have, or for us to point you in the right direction with anything.