SEO Grow Up

Stillhouse Physical Therapy

Sample, not client work. The business shown is fictional.

A fictional neighborhood clinic in Sylvan Park. It has a website, a Google profile, a Facebook page and an old listing from a former address. Search engines and AI assistants read those as four slightly different businesses. The Schema & entity pack sorts that out.

Jump to the job: Schema & entity pack, $499

What this shows

The structured data (JSON-LD) that goes into the site’s pages, the sameAs map that tells machines which profiles belong to one business, and a short FAQ markup. Schema is a plain statement of facts in a format machines read. It doesn’t make anything show up. It makes sure what they read is right.

There is no patient content, no treatment claims and no outcomes in this sample or in the markup.

Sample, not client work. The business shown is fictional.

JSON-LD excerpt (home page)

A code sample, not live markup on this page. The domain, street, phone and handles are made up.

{
  "@context": "https://schema.org",
  "@type": "Physiotherapy",
  "@id": "https://stillhouse-pt.example/#clinic",
  "name": "Stillhouse Physical Therapy",
  "url": "https://stillhouse-pt.example/",
  "telephone": "+1-615-555-0142",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "300 Sample Row",
    "addressLocality": "Nashville",
    "addressRegion": "TN",
    "postalCode": "37209",
    "addressCountry": "US"
  },
  "openingHoursSpecification": [
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
      "opens": "07:00",
      "closes": "18:00"
    }
  ],
  "areaServed": ["Sylvan Park", "West End", "Nashville"],
  "sameAs": [
    "https://www.facebook.com/stillhousept-sample",
    "https://www.instagram.com/stillhousept_sample",
    "https://www.linkedin.com/company/stillhouse-pt-sample"
  ]
}

What this says

@type
What kind of business this is, in schema.org’s own words.
@id
A fixed label for the clinic. Every other page on the site points back to it, so the contact page isn’t read as a second business.
name, url, telephone, address
The facts, spelled the way the site, the profile and the listings spell them.
openingHoursSpecification
Weekday hours, matching the profile.
areaServed
The neighborhoods the clinic says it serves.
sameAs
Profiles the clinic controls and that match. Nothing else.

Sample, not client work. The business shown is fictional.

sameAs map

Which profiles belong to the same business, and which don’t.

sameAs map
ProfileIn sameAs?Note
Google Business ProfileYesThe profile’s map URL, once it’s verified
Facebook pageYesName and address match the site
InstagramYesSame name
LinkedIn pageYesSame name
Apple Business ConnectNot a URL we can citeClaim it, keep the data matching
Old listing, former addressNoAsk the directory to remove it. Don’t point at it.
State licensing board look-upNoWe don’t control it, so it doesn’t belong in a list of the business’s own profiles

Entity facts we’d check on the page

Name spelled the same in the header, the footer and the contact page. One address format. Hours that match the profile. The clinic’s practitioners named on one page, each spelled as on their license.

Sample, not client work. The business shown is fictional.

FAQ markup (excerpt)

Only questions the page actually answers in plain text, with the same words.

{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Where do I park?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "There are six spaces behind the building, off the alley. Street parking on the avenue is also available."
      }
    },
    {
      "@type": "Question",
      "name": "What should I wear to a first visit?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Something you can move in. Shorts or loose pants work for most visits."
      }
    }
  ]
}

No medical advice goes into markup. Anything about a condition or a treatment stays with the clinic and its own review.

Why it’s built this way

  1. One @id for the clinic. Every page points back to the same entity, so a search engine doesn’t think the contact page is a different business.
  2. sameAs is a short list. Only profiles the business controls, only ones that match. A long list of every directory that mentions the name dilutes it.
  3. No review or rating markup. The clinic’s reviews live on Google. Marking them up on the clinic’s own site isn’t something Google allows for a business’s own reviews, so we leave it out.

Next sample: Latch & Lumber HandymanAll samples