You may have noticed my recent activity on 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.

2 Answers 2


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. Commented Oct 26, 2016 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",

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