Skip to content Skip to footer

How to Create Local Business Schema for Multiple Locations

40 Comments

  • Abhishek
    Posted February 10, 2025 at 9:44 am

    Hello Andrew
    Thank you for answering all comments and article was very insightful
    I need suggestion
    i have ecommerce in 3 countries
    all 3 have different homepage in magento
    and in each country i have multiple physical stores,
    if possible can you suggest me how i should implement schema for this in my webiste

    • Post Author
      Andrew Postelniak
      Posted February 10, 2025 at 12:29 pm

      it’s a difficult question, not sure what is the correct way to implement Schema in your case. This article is mostly for local businesses with up to ten branches, which covers the vast majority of local businesses. In your case, it appears you have an international business with dozens of branches, I am even not sure if you need this kind of Schema at all. Either way, if your website(s) have a separate landing page for each store, I would probably add a simple LocalBusiness (or its subtype such as “Store”) Schema to each page and wouldn’t add any markup to the homepage(s). Hope this helps.

  • Ayelen
    Posted February 27, 2024 at 11:14 pm

    Would this apply to a business that teaches karate and holds classes in churches and schools across the US? I want search engines to know that people can find a class in different locations but these steps don’t allow me to add an address for a adepartment.

    • Post Author
      Andrew Postelniak
      Posted February 28, 2024 at 8:22 am

      No, as far as I know LocalBusiness Schema can only be used for businesses with a permanent physical location where visitors can receive services or products.

      • log
        Posted May 31, 2024 at 1:25 pm

        and how would you configure for a business that sell a service in multiple location? (Like Ayelen example)?

        • Post Author
          Andrew Postelniak
          Posted May 31, 2024 at 2:09 pm

          please read the comments below. As far as I know, you can add Local Business Schema only if your business has a physical location that people can visit since the “address” attribute is mandatory in the markup. If you don’t have a physical address, I think you can specify your legal address if it makes sense.

  • Michael
    Posted August 9, 2023 at 12:18 am

    Hi Andrew, thank you for the article. I have a website that has separate location page for each city I cover. The homepage does not have any city specific information. I have a few questions if you don’t mind.

    How should I set up the schema for the homepage if it is not associated with any physical location? Just Organization with departments pointing to the corresponding location pages??

    For the schema for the location pages, I have ‘address’ that points to the office address, ‘geo’ that points to the coordinates, and ‘areaserved’ that points to a Wikipedia article about the city. Is adding the link to Wikipedia article useful?

    And I only have one main social media account for the business. Individual locations do not have their own social media account. In that case, for each location page, should I use ‘sameAs’ to add the social media accounts, or am I better off not adding them as they are not location specific social media accounts?

    Thank you for your help.

    • Post Author
      Andrew Postelniak
      Posted August 9, 2023 at 8:35 am

      Michael, as for Schema markup for the homepage: if your homepage is not associated with any physical location, I think you can choose not to add any markup to the homepage. In this case, not the homepage, but the location pages should rank in Google for relevant local search queries.

      As for linking to Wikipedia – I can’t tell if that’s good or bad, I’ve never used Wiki links in Schema markup. I usually just add a list of cities. But I assume that is not a problem – you can do it if you want.

      As for ‘sameAs’ – you can use the same social media link(s) on different location pages. Many businesses with numerous offices have only one page on one social media, that’s totally fine.

  • Luk
    Posted July 15, 2023 at 6:23 pm

    Hello, Andrew

    This artical is very helpful. But I have some question.
    In your example. This main shema code Should I use in all pages on site( I think about not only main page but on contact page or galerry)?

    And on pages where I have another locaction I add this additional code?

    • Post Author
      Andrew Postelniak
      Posted July 16, 2023 at 8:21 am

      I usually add markup only to the homepage and locations pages as described in the article.

  • manoj
    Posted July 12, 2023 at 5:23 am

    Good question. Exactly the issue i was facing. For small businesses, there is usually no head office.. multiple branches with 1 branch being most important.

  • Khan Ibrahim
    Posted May 20, 2023 at 8:20 pm

    Great Article and in-depth explanation.

    I have one simple question, after implementing the schema for homepage and individual location pages.

    What would be best? Linking homepage from GMB profile or individual location page from GMB profile.

    • Post Author
      Andrew Postelniak
      Posted May 21, 2023 at 8:59 am

      Thank you. I would link Google Business Profiles of departments with the corresponding location pages, and the profile of the main office with the homepage.

  • Nimit Kumar
    Posted April 12, 2023 at 5:34 am

    Great article on how to create local business schema for multiple locations.

    What if we are in the used car business? We sell cars in 30 cities and have a physical presence in each of those locations. How should we can add schema in that case.

    • Post Author
      Andrew Postelniak
      Posted April 12, 2023 at 7:44 am

      Thank you. Your case is not unique, just follow the instructions in the article. If you have 30 landing pages for each city, you need to add simple LocalBusiness markup (or its subtype such as AutomotiveBusiness) to each of the location pages, and also extended markup (with the subOrganization attribute) to the homepage. If not – add extended markup only to the homepage. Other details are described in the article.

  • kevin
    Posted December 5, 2022 at 8:01 am

    Why not a georadius for area served? I’m wondering if it makes sense to do that or if it’s better to list all of the cities.

    Also, what are your thoughts on individual service area pages without physical locations…what would the specific schema type for those pages be?

    • Post Author
      Andrew Postelniak
      Posted December 5, 2022 at 8:43 am

      GeoRadius is another possible option for the “areaServed” attribute. I used text (list of cities) as a more simple example.

      As for adding Schema to service pages without physical locations – as far as I know, it is against Google guidelines, so I wouldn’t recommend it. In addition, the “address” attribute is mandatory in LocalBusiness markup, so if you add it without an address, the markup will throw an error when validated in the Rich Results Tool.

  • Andrew
    Posted August 8, 2022 at 11:28 am

    Hi Andrew,

    quick question no physical address but a large number of cities covered

    – can you add multiple services areas to this instead of actual locations, and would it also be the best place to add services offered as well?

    Thanks

    AP

    • Post Author
      Andrew Postelniak
      Posted August 8, 2022 at 1:19 pm

      as I already answered in the comments below, I am not sure that you can use LocalBusiness markup for a service-area company that doesn’t have an office. According to Google documentation, the “address” is a required attribute for this markup.

      I don’t want to give the wrong advice but you can try using the Service schema. As for adding multiple service areas instead of actual locations – I haven’t made such markup, so I don’t have the necessary template (if such a template can be created at all).

      However, you still can create a Google Business Profile page for a service-area business.

  • Sarathy
    Posted February 13, 2022 at 8:45 pm

    Hi Andrew Postelniak,

    Thanks a lot for your awesome help.

    I have a small question. How to alter this for an “Organization” (Not a local business) that sells funds/insurance online as well as have many local branch offices.

    Thanks a lot

    • Post Author
      Andrew Postelniak
      Posted February 14, 2022 at 8:48 am

      I know that Schema type “Organization” also has the “subOrganization” attribute, just like “LocalBusiness”. So you may try simply replacing the “type” attribute. Some “LocalBusiness” attributes may not apply to “Organization” (such as “priceRange”), but you can test it in Rich Results Test.

  • Del
    Posted January 28, 2022 at 2:54 am

    Hi Andrew,

    Great read, really helped me out.

    If I have a business that offers different activities each activity has a part:
    ….com/Activity-1
    ….com/Activity-2
    ….com/Activity-3

    We also have multiple locations each location has a page
    ….com/Location-1
    ….com/Location-2
    ….com/Location-3

    Not all locations offer the same activates so how do I best convey this information through Schema?

    1. List the location that offer the activates on the activates page
    OR
    2. List the activities in the schema on the Location page?

    Thanks for your help in advance

    • Post Author
      Andrew Postelniak
      Posted January 28, 2022 at 9:12 am

      LocalBusiness schema (or its subtypes) is intended for location pages, so I think the second option is correct. But this is not an exact science: on activities pages, you can also probably add a link to the corresponding location pages (using the “URL” attribute) if the chosen schema type for activity pages supports the “URL” attribute.

  • Wyn
    Posted December 17, 2021 at 7:02 am

    Amazing, thank you.

    Wix won’t accept multiple @type fields. You will need to add:

    “@graph”: [
    {

    Do this directly below @context.

  • Sandra
    Posted November 16, 2021 at 6:25 pm

    I have a business with multiple locations and each location has a separate landing page. My homepage is not specific to a location, as in it does not represent the “main location.” – it is just generic. So I would add json codes on each landing page but how would i do the json for the homepage?

    • Post Author
      Andrew Postelniak
      Posted November 16, 2021 at 7:01 pm

      If your homepage does not represent the main location (head office), I think you can choose not to add any markup to the homepage. Another possible option – you can select one of the locations as the main one, and mark up the rest as branches. This way, the homepage will contain info about all locations.

  • Mike Abbort
    Posted November 10, 2021 at 1:50 pm

    Hi, Andrew Postelniak I have 4 locations in Canada and they have different working hours. What should I do about this?

    • Post Author
      Andrew Postelniak
      Posted November 10, 2021 at 2:34 pm

      you need to use the “openingHoursSpecification” property within every “subOrganization”, just like any other properties that are different for different locations (address, telephone, etc.)

  • ali arshad
    Posted November 10, 2021 at 1:25 pm

    Hi Andrew!

    I have Different Location page with city name like allen, houston, etc this all pages under location page: Like yourwebsite.com/location/houston What i have to do for add a schema?

    • Post Author
      Andrew Postelniak
      Posted November 10, 2021 at 2:28 pm

      It is hard to say. Maybe you can create separate location pages for each city or use the markup intended for the homepage, on the page that contains info about several offices/locations.

  • Gabriela
    Posted October 22, 2021 at 9:47 pm

    This is great, thank you! Question – Could you use this markup on the contact page that includes both addresses on it? Or do you still recommend implementing it on the homepage?

    • Post Author
      Andrew Postelniak
      Posted October 23, 2021 at 11:08 am

      I’ve never used LocalBusiness markup on a contact page – only on the homepage or location pages. If you want to add a markup to the contact page, I think you can use Organization with multiple ContactPoint attributes (without address).

  • Vishal
    Posted July 1, 2021 at 2:41 pm

    Thanks, Mr. Andrew! This post is very helpful for me. Because I used to create different Schema Markups scripts for each location before. But this method is very easy & clear. Exactly what I was looking for a long time.

    Thanks a lot!!

    • Vishal
      Posted July 1, 2021 at 3:01 pm

      Just a little confusion — What are City 3, City 4, City 5 & City 6? while we have only 2 other locations…

      • Post Author
        Andrew Postelniak
        Posted July 1, 2021 at 4:22 pm

        In this example, each of the locations (offices) serves two cities: main office serves City 1 and City 2, location A – City 3 and 4, location B – City 5 and 6.

        If in your case each office serves only one city, you can use only one city in the “areaServed” attribute.

  • Rick
    Posted June 15, 2021 at 12:51 pm

    Great article Andrew. Just a question around structured data for the “main location”. What if you also have a location page for your main location? Would you place the homepage structured data on the location page for the main location too, or just leave it without structured data?

    Thanks!

    • Post Author
      Andrew Postelniak
      Posted June 15, 2021 at 1:59 pm

      Thanks, Rick. For the location page of the main office, I assume you need to create separate markup, just like for all other location pages. However, in the homepage markup, I would indicate a specific URL of the main location (not the homepage URL). Hope this helps.

  • Tricia
    Posted March 28, 2021 at 4:01 am

    This is very helpful, Andrew.

    I am new at adding schema and have even figured out how to add this with Google Tag Manager. I do have a question.

    I had originally put in for the type “Local Business” and it would show up like in your screenshot. However when I instead add “Professional Service” as the Local Business Type, it doesn’t include the “Local Business” at the top, it only has “Professional Service”.

    This would be where you have Automotive in your example. Is this correct, or should it also show Local Business?

    Thank you!

    • Post Author
      Andrew Postelniak
      Posted March 28, 2021 at 10:12 am

      Hi Tricia,

      The “Professional Service” type has been deprecated so I haven’t used it for a long time.

      I think you need to use “Local Business” or choose another subtype of “Local Business” that is currently valid.

      If everything is correct, the Rich Results Test tool should display “LocalBusiness” (the tool can detect all valid subtypes such as “AutomotiveBusiness”, “Restaurant”, “Dentist”, etc.)

      Hope this helps.

  • Alex Zagoumenov
    Posted January 7, 2021 at 5:03 pm

    Thanks, Andrew! Exactly what I was looking for. Very clear and to the point.

Leave a comment

Go to Top