You may have noticed my recent activity on Pro Webmasters with various Schema and JSON-LD related questions in related to my increasing my Local SEO presence. I have just been working on the adding AreaServed and know that it supports:

  • AdministrativeArea
  • GeoShape
  • Place
  • Text

Preferably I'd prefer to use Text over GeoShape since I only like to present physical data that actually appears on the page. I have added the following:

<script type="application/ld+json">
    "@context": "http://schema.org",
    "@type": "ProfessionalService",
    "additionalType": "http://www.productontology.org/id/Web_design",
    "name": "BYBE",
    "url": "https://www.bybe.net",
    "logo": "https://www.bybe.net/wp-content/themes/showboat/logo-bybe.png",
    "description": "Creative website design company based in Bournemouth and Poole, Dorset.",
    "telephone": "01202 949749",
    "areaServed": "Bournemouth, Poole, Dorset",
    "address": {
      "@type": "PostalAddress",
      "streetAddress": "Flat 11, East Cliff Grange, 35 Knyveton Road",
      "addressLocality": "Bournemouth",
      "addressRegion": "Dorset",
      "postalCode":"BH1 3QJ"

As you can see I've added 3 locations to Area Served (Bournemouth, Poole, Dorset).


  • Is using multiple locations as text values correct?
  • Is there a better way? (without GeoShape).

The reason I ask is because of the spelling 'Area' and not 'Areas' served.


I think each value should represent a single area.

If you were using the more expressive AdministrativeArea/GeoShape/Place values, you would (by definition) use one type per area (a Place always represents a single place etc.), so there is no reason to assume that a Text value would be handled in a different manner. Furthermore, the definition of areaServed doesn’t refer to multiple values, and so it doesn’t define a separator (like ,).

So instead of

"areaServed": "Bournemouth, Poole, Dorset",

I think it’s better to use

"areaServed": ["Bournemouth", "Poole", "Dorset"],
  • You sir are awesome! this works splendid. – Simon Hayter Oct 26 '16 at 18:32

Another option is to use 'GeoCircle' to set a radius around the business location, much like on Google My Business. This is my preferred option.

The 'geoRadius' is set in metres:

"areaServed": {
    "@type": "GeoCircle",
    "name": "XYZ  service area",
    "geoMidpoint": {
        "@type": "GeoCoordinates",
        "postalCode": "12345",
        "latitude": "12.33456789",
        "longitude": "-12.3456789",
        "description": "Our office location can be found here.",
        "name": "XYZ geo location"
    "geoRadius": "20000",

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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