top of page

Two locations, two sets of hours: describing each store to Google

2 hours ago
9 min read

A Hartselle hometown pharmacy, independent since 1950, runs two stores in the same town. They share a name, a website and a pharmacy team's reputation, but they do not keep the same hours, and each has its own phone number.


Now think about who is asking. A customer searching on a phone at 4:45 on a Friday doesn't want "the pharmacy's hours." They want to know whether the store they can reach in ten minutes is still open. If Google, or an AI assistant built on Google, has the two stores blurred together, that customer gets the wrong answer from a source they trust.


The national picture makes this more pressing, not less. SparkToro's 2024 Zero-Click Search Study, using a U.S. clickstream panel from September 2022 to May 2024, found that 58.5% of U.S. Google searches ended without a click to the open web. For the pharmacy's own profile, May to mid-October 2026, we measured 8,067 profile views for the main store alone, against 4,085 website visits for the whole site, both stores included. Customers met the hours on Google more often than they met them on the website. (That comparison is conservative: one store's profile against two stores' website.) The profile is the front door, and the website's job is to make sure Google can read what is behind it, store by store.


This post is about doing that for a business with two or more locations. It is part of our Search Everywhere field study, an observation of three DIWYM clients, not an experiment, and it follows our plain-English guide to rich schema.

What goes wrong when two stores look like one

When a multi-location business describes itself loosely, a few patterns tend to cause trouble:


  • One phone number for everything. The customer who calls from the second store's profile reaches the main store.

  • One hours block on the website. It matches one store and quietly misstates the other.

  • A "Locations" page with both stores in a paragraph. A person can sort it out. A machine reading the page has to guess which phone goes with which address.

  • Markup that lists one store only. Google may never learn the second exists as a separate place.


None of these is dramatic on its own. Together, they are the reason a customer arrives at a closed door. The fix is not clever. It is the same facts, kept separate for each store, in every place Google looks.

Four places each store has to be described

For the pharmacy, each store has its own version of four things.


  1. Its own Business Profile. Each store has a separate profile with its own address, phone and hours. That is the primary record Google uses for local results.

  2. Its own contact page on the website. The site has a separate contact page for each store: that store's name, address, phone, hours and directions, in plain visible text.

  3. Its own refill page. For a pharmacy, refills are the most common task. Each store has a refill page, so a customer is not asked to guess which store a form belongs to.

  4. Structured data that names both stores separately. On every page of the site, the schema describes each store as its own record. That is the block we walk through below.


The first three are for people. The fourth is for machines. All four have to say the same thing.

The schema, line by line

Here is the two-store block, trimmed and anonymized. The names, addresses, phone numbers and hours are placeholders (they are not the real ones), and the real markup carries more detail.


{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "Pharmacy",
      "@id": "https://www.example.com/#main-street-store",
      "name": "Hometown Pharmacy",
      "url": "https://www.example.com",
      "telephone": "(256) 555-0100",
      "address": {
        "@type": "PostalAddress",
        "streetAddress": "123 Main St",
        "addressLocality": "Hartselle",
        "addressRegion": "AL",
        "addressCountry": "US"
      },
      "openingHoursSpecification": [
        {
          "@type": "OpeningHoursSpecification",
          "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
          "opens": "08:00",
          "closes": "18:00"
        },
        {
          "@type": "OpeningHoursSpecification",
          "dayOfWeek": ["Saturday"],
          "opens": "09:00",
          "closes": "13:00"
        }
      ]
    },
    {
      "@type": "Pharmacy",
      "@id": "https://www.example.com/#oak-street-store",
      "name": "Hometown Pharmacy #2",
      "url": "https://www.example.com",
      "telephone": "(256) 555-0150",
      "address": {
        "@type": "PostalAddress",
        "streetAddress": "456 Oak St",
        "addressLocality": "Hartselle",
        "addressRegion": "AL",
        "addressCountry": "US"
      },
      "openingHoursSpecification": [
        {
          "@type": "OpeningHoursSpecification",
          "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
          "opens": "09:00",
          "closes": "17:00"
        }
      ]
    }
  ]
}

  • "@context": "https://schema.org" says the words below come from the shared schema.org vocabulary that Google and AI tools read.

  • "@graph": [ ... ] is a bundle that holds more than one record. This is what lets one page describe two stores without mixing them. Each store sits in its own set of curly braces, and nothing inside one leaks into the other.

  • "@type": "Pharmacy" names the kind of business. It is more specific than a generic local business, so Google doesn't have to infer it. Both stores use it.

  • "@id" is a nickname for each store: one ends in #main-street-store, the other in #oak-street-store. A nickname gives the store a stable identity that other code can point to. It is optional, but it is a clean way to keep two similar records apart.

  • "name" is the name as customers see it. The second store's name carries a "#2." Use whatever your signs and your profile use, exactly.

  • "url" is the website address.

  • "telephone" is that store's own number. The two stores have different numbers here, and each record carries only its own.

  • "address" is a small record inside the record: street, town, state, country. Each store has its own.

  • "openingHoursSpecification" holds that store's hours. Each entry in the list is one rule.


Look closely at the hours, because that is the point of the example. The main store has two rules: Monday through Friday, 8 a.m. to 6 p.m. ("08:00" to "18:00", written on a 24-hour clock), and Saturday, 9 a.m. to 1 p.m. The second store has one rule: Monday through Friday, 9 a.m. to 5 p.m. There is no Saturday rule for the second store, and that omission says something. A day left out reads as a day the store is not open. Customers who ask about Saturday at the second store should get "closed," and the markup is what lets a machine say so.


This sample uses the same website address in both records, because both stores share one website. What makes them separate is everything else: the nickname, the name, the phone, the address and the hours.

The contact pages do the same job for people

A separate contact page for each store is the visible twin of the code. Each page should show, in ordinary text:


  • the store's name, exactly as it appears on its Business Profile

  • its address, with a map or directions link

  • its phone number, as a tap-to-call link

  • its hours, including any difference from the other store

  • a line on what is at this location, such as services or drive-through, if that differs


The rule that makes this work is that the visible page and the schema agree. If the contact page says the second store closes at 5 p.m., the markup says 17:00 and the profile says 5 p.m. When we compared the schema with each Business Profile in October 2026, the name, address, phone and hours matched for both stores. (That match is a snapshot of the day we checked, and we counted address format variants, such as "St" versus "Street," as matches.)

Keep the profiles and the site in sync

Hours are the facts that change most. Holidays, a staff illness, a seasonal schedule: any of them can make one store different from the other for a week.


  • Change all three places together. When hours change, update the store's Business Profile, its contact page and its schema on the same day. Our standing rule is that schema changes the same day as the profile.

  • Use special hours for holidays. The profile lets you set holiday hours in advance, per location. Do it for each store separately. One store closing early for a local event is common, and the other may not.

  • Watch for drift. A phone number changes, a profile gets edited by someone on the team, a page gets cloned and nobody updates it. A monthly look at both profiles next to both contact pages catches most of it.


A word of caution about what we can claim. The two-store setup was built to prevent wrong answers, not to win a ranking, and we can't show that it raised any number. The pharmacy's site also launched in May 2024 with its pages, its refill pages and its profile work, so there is no clean before and after. We also pulled Business Profile numbers for the main store only, not the second. What we can say is what the structure is for: when a customer or an AI assistant asks about a specific store, the information it reads is specific to that store.

What this means if you have more than one location

The pharmacy has two stores, but the same thinking applies to a dental practice with two offices, an auto repair shop with a second bay across town, or a home service company with separate branches. The shape is the same: one record per location, each with its own phone, address and hours, a page for each, and a profile for each.


A few practical rules:


  • Give every location its own page. Not a section of one page. A page that only that location owns can hold its own address, hours and directions.

  • Use the same name format everywhere. Pick "Hometown Pharmacy" and "Hometown Pharmacy #2," or use a town or street, but pick once and use it on signs, the profile and the website.

  • Don't copy a page and change one word. If two location pages are nearly identical, say what actually differs: the hours, the staff, the services, the parking, the neighborhood.

  • Describe only locations that exist. Don't create a record or a page for a place customers can't actually visit.

  • Check the profile first. If a profile is wrong, schema can't rescue it. The profile is the primary record, and the website supports it.


If you want to see how this fits a retail pharmacy specifically, our independent pharmacy page covers the industry, and our location presence service covers keeping each profile accurate. For the wider thread on why it matters, Why independent pharmacies in North Alabama need AI-ready SEO is a good next read.

Check your own locations today

This takes about ten minutes for two locations.


  1. Search each location by name on your phone. Read the hours and phone number in the profile panel for each.

  2. Open each location's contact page. Do the name, address, phone and hours match what you just read, character for character?

  3. Check holiday and special hours in each profile, not just the regular hours.

  4. View the page source of your homepage and search for application/ld+json. Find each location's hours in the code, or confirm that they are missing.

  5. Run Google's Rich Results Test on a location page and see which business type it detects.

  6. Write down any mismatch and fix the profile and the site together.


If you find a mismatch between a profile and your website, our five minute consistency check shows you how to settle which one is right.

Frequently asked questions

Should each of my locations have its own Google Business Profile?

In general, yes. Each physical location customers can visit has its own phone number, address and hours, and the profile is the primary record Google uses for local results. The hometown pharmacy we studied has two stores and keeps each one's information separate on its profile, its contact page and in its website code, so a customer asking about one store gets that store's details.


Do I need a separate page on my website for each location?

We recommend one. At the Hartselle pharmacy, each store has its own contact page and its own refill page. A page that belongs to one location can hold that location's address, phone, hours and directions in plain text, and it gives Google and AI tools one clear place to read the details without guessing which store a paragraph describes. Don't fold two stores into one page.


How do I show different hours for each location in schema?

Describe each location as its own record, and give each one its own hours rules. In the anonymized example above, the main store has a weekday rule and a Saturday rule, while the second store has only a shorter weekday rule. Leaving Saturday out of the second record says it isn't open that day. Each record carries its own phone number and address too.


What happens if my website says one thing and my profile says another?

Google has to choose between sources, or it may show less, and a customer can end up with the wrong answer. The profile is the primary record, so fix it first, then update the website to match. When we checked the pharmacy's markup against both of its stores' profiles in October 2026, name, address, phone and hours matched. That was a snapshot of one day, which is why we recommend regular checks.


Does adding location schema improve my ranking?

We can't promise it will, and we can't prove it did for this pharmacy, because its pages and profile work launched together with the markup. Google says structured data can enable richer results but doesn't guarantee them. The purpose is accuracy: when someone asks about a particular store, the information Google reads is specific to that store, not an average of both. Accuracy is the goal, and ranking is not the claim.


How often should I check my locations' hours?

Change them in every place on the same day, and look at each profile next to its contact page and its code at least monthly. Set holiday hours ahead of time for each location separately. Hours are the facts that change most, and a mismatch between a profile, a page and the website's code is the usual way a customer ends up at a closed door.

Keep reading


When a customer asks Google about your second location, the answer should be about your second location. Call (256) 274-1289 or message us for a free visibility check.

Explore DIWYM's solutions for all your digital marketing needs

More DIWYM

Never miss an update

Thanks for submitting!

bottom of page