Author: Mehul Dedhia

  • Nine secondary categories, and how to find the gaps

    Nine secondary categories, and how to find the gaps

    The verdict

    You get up to nine secondary categories and most clinics use two. The right way to fill them is subtraction, not invention: list every category your competitors hold, remove the ones you already have, remove the ones you cannot honestly claim, and what is left is your shortlist. Brainstorming them in a meeting produces a list of things you wish you sold.

    Nine slots. On most of the profiles I audit, two are filled and seven are empty, and the two were chosen at setup by the same person who chose the primary in the same ninety seconds.

    Empty slots are not neutral. They are relevance you are not claiming for services you actually provide.

    Why subtraction beats invention

    Ask a practice owner to list their secondary categories and you get an aspirational list. Things they are trained in but rarely do. Things they would like more of. Things that sound impressive.

    Build it from the competitor set instead and you get an empirical list. I collect the primary and all secondary categories for eight to ten competitors in the same market, put them in a single sheet, and look at what appears repeatedly that the client does not hold. Anything three or more competitors carry is table stakes. Anything one competitor carries is an opportunity or a mistake, and you have to decide which.

    The sheet takes an hour and it replaces an argument with a list.

    The filter that stops the list getting silly

    Google asks you to use as few categories as possible to describe your overall core business, and to choose categories that complete the statement “this business IS a” rather than “this business HAS a”.

    That second test does most of the work. A clinic that has a massage therapist is not a massage business. A practice that has an X-ray machine is not a radiology service. Run every candidate through IS a and the aspirational half falls out immediately.

    The guidance also notes that when you select a specific category, Google automatically understands the related general ones, so you do not need to claim both the specific and the broad version. That frees up slots people routinely waste.

    My note: “as few as possible” and “you have nine slots” are in tension, and I resolve it in favour of accuracy. Nine accurate categories is fine. Four accurate ones and five stretches is worse than four. The instruction is about not padding, not about leaving relevance unclaimed.

    What a wrong secondary actually costs

    Not a penalty. Calls.

    A category you cannot properly serve generates enquiries you have to decline, and each of those costs a receptionist five minutes and a caller their goodwill. That cost is invisible because nobody logs it. It is real, and it is the reason I would rather leave a slot empty than fill it defensively.

    This matters more in health than in trades. Somebody who rings a roofer about guttering and gets told no has lost nothing. Somebody who rings a clinic about a condition you do not treat has been told, in effect, that your profile said you did.

    How this connects to the rest

    Categories set relevance, and Google names relevance as one of the three things behind local results, alongside distance and prominence. Getting nine of them right is the cheapest relevance work available to a local business and it is done once.

    It comes second in the eight-check order I run on every Business Profile, right after benchmarking your primary category against the map pack, and for the same reason: the answer is sitting in public on your competitors’ profiles.

    The short version

    1. Nine slots, and most clinics use two. Empty slots are unclaimed relevance.
    2. Build the list by subtraction from competitors, not by brainstorming in a meeting.
    3. Three or more competitors hold it, it is table stakes. One holds it, decide if it is an opportunity or their mistake.
    4. Run every candidate through the IS a test. It removes the aspirational half instantly.
    5. A specific category implies the general one. Do not spend two slots saying one thing.
    6. A wrong secondary costs calls, not rankings. Invisible, real, and worse in health than in trades.
    7. Do it once, properly, after the primary.

    If a site should be ranking and it isn’t, that’s the work I do. SEO for chiropractors covers where the effort belongs in a practice, and an SEO audit is where the competitor category sheet gets built for your market.

  • Benchmark your primary category against the map pack, not your own menu

    Benchmark your primary category against the map pack, not your own menu

    The verdict

    Your primary category is not a description of your business. It is a bet on which search you want to compete in, and the right answer is already published: go and read the primary category of the three to five profiles currently winning the map pack for your service and your city. Most clinics pick theirs from a dropdown in ninety seconds and never look at what the competition chose.

    Open a map pack for the service you sell in the town you sell it in. Three results. Each of those businesses has a primary category, and you can read it. That is the benchmark, and it takes about four minutes to collect.

    Almost nobody does this. The category gets chosen once, during setup, by somebody scrolling a dropdown looking for the word that sounds most like the business.

    Why the dropdown misleads you

    Because it rewards accuracy and the field does not pay for accuracy. It pays for competitiveness.

    Google asks you to use as few categories as possible to describe your overall core business from the provided list, and to select categories that complete the statement “this business IS a” rather than “this business HAS a”. That is good guidance for avoiding nonsense. It is not guidance about which of three legitimate options will put you in more searches, because Google is not going to tell you that.

    So you have a field that materially affects how well your profile matches what someone is searching for, several defensible values, and no published guidance on choosing between them. That is exactly the situation where you look at what is already winning.

    How to run the benchmark

    Four minutes, once

    • Search your money term, in your town, from your town. Location matters to what you see. If you are not physically there, the result is not the one your patients get.
    • Take the top three to five map results. Not the ads. Not the organic results underneath.
    • Record each one’s primary category. It is visible on the profile.
    • Count. If four of five share a category and you are not using it, that is the finding, and it is usually the whole audit’s biggest single item.
    • Repeat for your second and third money terms. They often disagree, and the disagreement tells you which business you are actually in.

    When the benchmark and the truth disagree

    Sometimes the winning category is one you could technically claim but should not.

    I have refused categories for clients on exactly these grounds: a specialty the practitioner does not hold, a procedure the practice does not perform, a credential nobody on staff has. Google’s IS a test catches most of it. The rest is judgement, and the question to ask is not whether the category is arguable but whether the leads it brings will arrive wanting something you sell.

    A category that generates calls you have to turn down is worse than a slightly less competitive one that does not. You pay for those calls in staff time and you never see the cost in a dashboard.

    The case where the benchmark has no answer

    Occasionally your largest service has no category at all. Not a badly named one. None exists in the list.

    When that happens the benchmark still works, it just answers a different question. It tells you which of the available categories the market has settled on for businesses like yours, and the demand your category cannot express has to be captured somewhere else: in the services list, in the profile description, and in the pages on your own site. I have written that case up in full at the post about clinic markup and types that do not exist, because the same gap shows up in structured data.

    Doing it in the right order

    This is the first of eight checks I run on a profile, and it is first because it moves more than the other seven combined. The full order and why it is the order covers the rest, but if you only ever do one thing to a Business Profile, this is the one.

    The short version

    1. The right category is already published. Read what the map pack leaders are using.
    2. Four minutes, once. Top three to five results, record the primary category, count.
    3. The field rewards competitiveness, not accuracy. The dropdown rewards accuracy, which is why it misleads.
    4. Search from your town. Results you see somewhere else are not the ones patients get.
    5. Refuse a category that brings wrong-fit calls, even if you could argue for it.
    6. Run it for your top three terms. Where they disagree, you learn which business you are in.
    7. Do this before anything else on the profile.

    If a site should be ranking and it isn’t, that’s the work I do. SEO for chiropractors covers where the effort belongs in a practice, and local SEO is where the profile and the pages get treated as one job.

  • The Business Profile audit, in the order I actually do it

    The Business Profile audit, in the order I actually do it

    The verdict

    I audit a Business Profile in a fixed order, and the order is most of the value. Primary category first, because it is the single highest-impact field and everything else is tuning. Then secondary categories, then NAP consistency across four places, then the description, then where the website link points, then social profiles, then service areas, then services. Most clinics start at the bottom of that list.

    Eight checks, always the same eight, always in the same sequence. The sequence is not a formality. It is the difference between fixing the thing that decides your visibility and spending an afternoon rewriting a description nobody reads.

    Why the order is the method

    Google describes local results as resting on relevance, distance and prominence, and defines relevance as how well a Business Profile matches what someone is searching for. Distance you cannot change. Prominence moves slowly and mostly off the profile. Relevance is the part the profile actually controls, and the category field is the blunt instrument at the centre of it.

    So the order runs from what changes relevance most to what changes it least. If you only ever do the first two checks you will have captured most of the available gain.

    The eight, in order

    What I check, and in what sequence

    • 1. Primary category. The highest-impact single field on the profile. Benchmarked against what the top three to five map pack results for your service and city are actually using, not against your own sense of what you do. Google asks you to use as few categories as possible from the provided list, choosing ones that complete the statement “this business IS a”, which rules out the nonsense but does not choose between the defensible options.
    • 2. Secondary categories. Up to nine more. Found by subtraction from the competitor set rather than brainstormed in a meeting.
    • 3. NAP consistency. Not directories. Your own site, in four places: footer, contact page, location pages, and the structured data. I quote both versions in the finding when they disagree, because people do not believe it otherwise.
    • 4. The description. 750 characters, front-loaded. I rewrite it in the report rather than telling the client theirs is weak.
    • 5. The website link. Should point at the home page. The exception is a multi-location listing, which points at its own location page.
    • 6. Social profiles. Cross-checked between the site and the profile across every platform the business uses.
    • 7. Service areas. Named towns within a sensible radius, aligned with the location pages, and not oversold.
    • 8. Services. Built from every service page on the site, and in a health practice every condition page too. Predefined entries first, then custom, with descriptions, and the count benchmarked.

    What is not on the list, and why

    Posts are not on it. Photos are, but low. Neither is anything about posting frequency.

    That is not me being contrary. Google publishes its own short list of things that improve local ranking, and it names verifying the business, keeping information complete and current, responding to reviews, adding photos and videos, adding products, and getting more reviews. The same page says plainly that there is no way to request or pay for a better local ranking. Checks one through eight are the fields that feed the first two items on Google’s list. Everything else is a different job.

    The check most people skip is number three

    Categories are interesting, so people do them. NAP consistency is boring, so people assume it is fine.

    It is usually not fine. The footer and the contact page were written at different times by different people. The location pages were generated from a template. The structured data was emitted by the site builder from a settings panel filled in two years ago and has never been read by a human being. Four addresses, four phone numbers, and at least one of them is wrong.

    That is an entity problem, and entity problems are the quiet ones. Nothing reports them. No tool flags them. They just make it marginally harder for a machine to be confident about who and where you are, on every page of your site, for years.

    What this is not

    A profile audit is not a local SEO strategy. It is one block of a larger audit that starts with the home page and runs through service pages, supporting pages, locations, the blog, internal linking and menus before it ever reaches the profile.

    I put the profile late on purpose. A perfectly optimised profile pointing at a website that cannot answer the question is a very efficient way to lose a patient at the last step. For a clinic in particular the website is where the decision actually gets made, which is why the profile work is worth doing and worth keeping in proportion.

    The short version

    1. Eight checks, always the same order. The order carries most of the value.
    2. Primary category first. Highest-impact single field on the profile.
    3. Relevance is the part you control. Distance is fixed and prominence moves slowly.
    4. NAP is four places on your own site, not a directory problem.
    5. Posts are not on Google’s own improvement list. Categories and complete information are.
    6. Build the services list from your sitemap, not from memory.
    7. The profile block comes late in a full audit. A perfect profile pointing at a weak site loses the patient at the last step.

    If a site should be ranking and it isn’t, that’s the work I do. Local SEO covers the profile and the pages behind it as one job, and an SEO audit is where the eight checks above get run against your actual profile.

  • Workers compensation is a page, not a footnote

    Workers compensation is a page, not a footnote

    The verdict

    On a clinic site I worked on this year the workers’ compensation work was one line in a services list. It also turned out to be the only service in the practice attached to a formal certification from a state authority. Different buyer, different questions, different referrer, and the one service where a credential genuinely decides the referral. It needs its own page.

    Ongoing care. Sports injuries. Prenatal. Workers’ compensation. Four items in the same list, in the same typeface, with the same amount of space.

    Three of those are treatments a patient chooses. The fourth is a process a patient gets put into by somebody else, and treating it as a peer of the other three is how it stays invisible.

    The buyer is not the patient

    Or rather, the patient is not the only one deciding. There is an employer, an insurer, and often a case manager whose job is to route the claim to a provider who will not create problems.

    That changes what the page has to answer. Not “what is a chiropractic adjustment”, which is what a wellness page is for. It has to answer whether you accept the claim type, whether you handle the reporting, how quickly you can see someone, who you invoice, and whether you have done this before.

    Those are procurement questions. A page written for a person choosing a therapist does not answer any of them.

    The credential that was hiding

    Buried in body copy on that page was the fact that one of the clinicians held a certification from a state workers’ compensation authority for this exact category of work.

    It appeared once, in a sentence, with no emphasis and no link. Nothing on the site presented it as a credential. It was not in his bio.

    That is the single most persuasive fact on the page for the person actually making the referral, because it is the kind of thing an insurer or an employer can verify in a minute. I have written up what to do with it structurally in a credential is an entity, not a line of text. Editorially, the answer is simpler: put it near the top and say what it means.

    Why a line in a list ranks for nothing

    Google describes local ranking as relevance, distance and prominence, and defines relevance as how well a business profile matches what someone is searching for.

    A practice that mentions workers’ compensation once, in a list of eight services, has told Google roughly nothing about that work. It is not that the page is under-optimised. There is no page.

    And the same applies to the other statutory and employer-driven services clinics quietly offer. Occupational medical examinations, return-to-work assessments, pre-employment screening. Each of those is a distinct search with a distinct searcher, and on most clinic sites each is a bullet point.

    What the page needs

    The page, written for the referrer

    • Whether you accept the claim type, stated plainly in the first paragraph rather than implied.
    • Who handles the paperwork, and whether the patient has to do any of it.
    • How fast you can see someone. For an employer this is close to the whole decision, and it is not a soft preference. The Lead Response Management study of over 15,000 leads found the odds of qualifying a lead drop 21 times between a five minute response and a thirty minute one. That research is about sales rather than claims, but the person routing a case is making the same kind of decision.
    • The credential, named, with the authority that issued it.
    • Billing, in one sentence. Who you invoice and what the patient pays, which is usually nothing and is worth saying.
    • What happens at the first appointment, because the patient reads this page too, usually after being told to come.

    The measurement warning

    A lot of this work arrives by referral rather than by search, which means the page can be doing its job and look like it is doing nothing. Somebody is sent by a case manager, looks the practice up, reads the page, and calls. Your analytics records a direct visit.

    So do not judge this page on its own organic traffic. Judge it on whether the referrals keep coming, and remember that the page is being read by somebody who has already decided to look you up. That is the same trap I described in why a chiropractic practice is two businesses sharing one website, and it is the reason the injury side of a practice is chronically under-invested in.

    The short version

    1. One line in a services list, and the only service with a formal credential attached.
    2. The buyer is not only the patient. An employer, an insurer and a case manager are in the decision.
    3. The questions are procurement questions. Claim types, paperwork, speed, billing.
    4. The credential was one sentence in body copy. It is the most persuasive fact on the page.
    5. Relevance is the ranking argument. A bullet point tells Google nothing exists.
    6. Other employer-driven services have the same problem. Occupational examinations, return-to-work, pre-employment screening.
    7. Do not judge it on organic traffic. Most of the readers were told to look you up.

    If a site should be ranking and it isn’t, that’s the work I do. SEO for chiropractors covers where the effort belongs in a practice, and local SEO is where the profile and the pages behind it get treated as one job.

  • The screening funnel that lives outside your website

    The screening funnel that lives outside your website

    The verdict

    A clinic I looked at this year runs its highest-intent enquiry route on a domain it does not own. A condition-specific screening funnel, linked from the site, hosted by a third-party marketing platform. Everything written into that funnel builds a page somebody else owns, none of it is crawlable as the clinic’s content, and the conversion happens where the clinic’s own reporting cannot see it.

    The link looked like any other call to action. A button, a sensible label, an obvious next step for someone who had just read about a specific injury. Clicking it left the website entirely.

    What was on the other side was good, by the way. A well-built screening questionnaire, better than the clinic’s own contact form, clearly converting. That is why these things get installed and why nobody removes them.

    Three costs, in order of how much they matter

    The content is not yours. Whatever explanatory copy sits in that funnel, and there is usually a fair amount, exists on a marketing platform’s domain. Google uses links as a signal when determining the relevancy of pages and to find new pages to crawl. Every link you send into that funnel is pointing relevance at an asset you do not control and cannot edit if the vendor relationship ends.

    The reporting has a hole in it. The visitor arrives on your page, reads, clicks, and converts somewhere else. Your analytics records an exit. The funnel’s dashboard records a conversion with no useful memory of which of your pages produced it. Neither system has the whole story, and the page that did the work looks like it does nothing.

    The experience splits. Different branding, different form styling, different follow-up email, sometimes a different phone number. For a patient who is already anxious, being handed off to something that does not look like the practice is a small tax at exactly the wrong moment.

    There is a quieter version of the first cost too. Google describes local ranking as relevance, distance and prominence, with relevance being how well a business matches what someone is searching for. If the clearest, most detailed description of a service you offer lives on somebody else’s domain, you have handed away the material that would have demonstrated that match.

    What I would actually do

    Not rip it out. These tools exist because they work operationally, and a clinic that has a screening funnel converting well is ahead of most clinics, not behind them.

    The split that keeps both

    • The explanation lives on your site. What the condition is, why screening matters, what happens at the appointment, what it costs. That is the content that can rank, and it belongs on a page you own.
    • The tool handles only the submission. Embed the form, or link to it from the bottom of your page rather than from a button halfway through the argument.
    • Keep the branding continuous where the platform allows it, which is usually more than people configure.
    • Tag the outbound link so the funnel’s own reporting can at least tell you which page sent it.

    The principle is simple: the third-party tool should own the transaction, never the explanation.

    The same pattern, one step milder

    Online booking usually lives on a separate subdomain belonging to the practice management software. That is the same shape and mostly fine, because a booking screen has no content worth ranking. Nobody searches for your appointment picker.

    The line is whether real explanatory content has migrated off your domain. A booking widget has not. A twelve-hundred-word page about whiplash symptoms living inside a marketing platform has.

    Why this matters for this vertical specifically

    Because it is almost always the injury side of the practice that gets the third-party funnel. The wellness side has ordinary service pages written years ago, and the accident work gets a tool bolted on because somebody wanted to capture leads faster.

    Which means the half of the business with the most urgency and the highest immediate value is the half whose content is not on the website. That is the argument I make at more length in why a chiropractic practice is two businesses sharing one website, and this is the most common way it shows up in practice.

    The short version

    1. The highest-intent route often leaves your domain. A screening funnel on a marketing platform, linked like any other button.
    2. The content there is not yours. You are pointing relevance at an asset you cannot edit or keep.
    3. Your reporting sees an exit. The page that did the work looks like it produced nothing.
    4. The experience splits at the moment an anxious patient is deciding.
    5. Do not rip it out. It is usually converting better than your contact form.
    6. The tool owns the transaction, never the explanation. Keep the words on your site.
    7. Booking on a subdomain is fine. Nobody searches for your appointment picker.

    If a site should be ranking and it isn’t, that’s the work I do. SEO for chiropractors covers where the effort belongs in a practice, and an SEO audit is where you find out how much of your best content is sitting on somebody else’s domain.

  • A credential is an entity, not a line of text

    A credential is an entity, not a line of text

    The verdict

    Most clinic sites publish qualifications as letters after a name and stop. To a machine that is a string. Schema.org has a property for exactly this, which lets you say that a named person holds a named credential awarded by a named body. On one site I worked on, the most valuable credential in the practice was sitting in a single sentence halfway down a service page.

    Dr Somebody, DC. Three letters, no link, no explanation, no structure. That is how nearly every clinic website states the thing a patient most wants to know.

    A human reader who already knows what the letters mean is fine. A human reader who does not learns nothing. And anything reading the page mechanically has a string of characters after a name and no way to tell whether it is a qualification, a suffix or a typo.

    What schema.org actually offers

    The hasCredential property is defined as a credential awarded to a Person or an Organization, and it expects a credential as its value rather than a string.

    That distinction is the whole point. A string says “these letters appear near this name”. A credential node says: this is a qualification, of this type, held by this person, awarded by this body. Three facts and a relationship, instead of a fragment.

    The same applies at practice level. A clinic can hold accreditations too, and they sit in exactly the same place.

    The one I nearly missed

    Modelling the people on a clinic site this year, I went through the bios, the about page and the team listings and had the obvious qualifications mapped in twenty minutes.

    Then I read the service pages properly. On one of them, in the middle of a paragraph, was a sentence saying one of the clinicians held a certification from a state authority for a specific category of work. It was not in his bio. It was not on the about page. It appeared once, in body copy, on a page about that service.

    It was also the most commercially valuable credential in the practice, because it is the kind an insurer or an employer checks before sending anyone. Nothing on the site presented it as a credential at all.

    Why this matters more for a clinic

    Google’s guidance on people-first content puts trust at the centre. It says that if you are clearly indicating who created the content you are likely aligned with the concepts of experience, expertise, authoritativeness and trustworthiness, and that of those, trust is most important.

    Naming a credential and its awarding body is about the most concrete way to do that. It is checkable. Somebody can go and look it up, which is the difference between a trust signal and an adjective.

    This is the machine-readable half of the job I set out in doctor bio pages, and what a clinic has to prove that a plumber does not. The bio page is what a patient reads. The markup is what everything else reads.

    How to do it without getting it wrong

    Four rules

    • Read the service pages, not just the bios. Credentials hide in body copy, because the person who wrote that page knew it mattered and nobody structured it afterwards.
    • Name the awarding body. A credential with no issuer is an adjective with extra steps.
    • Only mark up what is on the page. If the certification is not stated in visible content, put it there first. Marking up invisible claims is a policy violation and, on a credential, it is worse than that.
    • Do not inflate. A course attendance is not a certification. In a health context the difference between those two words is the whole of the trust you are trying to build.

    What it will not do

    No rich result. No stars, no badge, nothing visible in the search listing. If somebody is selling credential markup as a visibility improvement, it is the same overclaim as FAQ schema.

    What it does is let a system resolve your clinicians as real people with real qualifications from real institutions, rather than as names on a page. In a field where trust is the deciding factor and the reader is deciding whether to let you treat them, that is worth the hour it takes.

    The short version

    1. Letters after a name are a string. A machine cannot tell a qualification from a typo.
    2. hasCredential exists on Person and Organization and expects a credential, not text.
    3. Read the service pages. The most valuable credential on one site was one sentence in body copy.
    4. Name the awarding body. Without an issuer it is an adjective.
    5. Google says trust is the most important of the four E-E-A-T components. A checkable credential is the most concrete version of it.
    6. Only mark up what is visible, and never inflate attendance into certification.
    7. No rich result. Anyone selling it as one is overclaiming.

    If a site should be ranking and it isn’t, that’s the work I do. SEO for chiropractors covers where the effort belongs in a practice, and technical SEO is where the markup gets checked against what the page actually says.

  • Which reviews to leave off your own reviews page

    Which reviews to leave off your own reviews page

    The verdict

    Building a reviews page for a clinic this year I left five reviews off it. Three because there was nothing to read, and two because of who wrote them. Google’s own contribution policy treats reviews written by employees, contractors or anyone with a professional relationship to the business as a conflict of interest, so republishing those on your own site is the last thing you want to do with them.

    A reviews page is a republishing job, and republishing means deciding what goes in. That decision is the whole of the editorial work, and most people building these pages never make it consciously, because the plugin takes everything.

    On the build I am describing there were a hundred and eleven reviews and a hundred and six went up.

    The three with nothing to read

    Rating-only reviews. Five stars, no words.

    On the profile they count. They contribute to the average and the total, which is exactly what they are for. On a page whose entire value proposition is that a prospective patient can read other patients describing your treatment, a card with no text is a blank space taking up a column.

    It is the reading that does the work here, not the tally. BrightLocal’s February 2026 survey of 1,002 US adults found 97% of people read local reviews. A review with no words cannot be read.

    Leave them off. They also skew any count you print in the header, which matters more than it sounds, and I have set out why in why your own reviews do not belong in your schema.

    The two I removed on principle

    One was written by a clinician who works at the practice. One was written by somebody on the marketing side of the account.

    Neither was dishonest. Both people genuinely rate the practice. That is not the point.

    Google’s policy on user contributions names this directly. Content is prohibited when it is based on a conflict of interest, which includes current or former employment, a contractual or consultory relationship, or other professional or personal affiliations, and the policy classes it as rating manipulation.

    So those two should arguably not be on the profile either. That is the client’s call and their relationship with the platform, not mine to action on their behalf. What I do control is whether I take a review I know is conflicted and give it a second life on a page I built. The answer to that one is easy.

    The edge case I could not resolve

    One review was left by somebody sharing a surname with one of the clinicians. It might be a relative. It might be a coincidence in a town where that surname is common.

    I included it and flagged it to the client, because guessing at a family relationship from a surname is not a judgement I am equipped to make and quietly deleting a real patient’s review is worse than the alternative. Somebody at the practice knows the answer in two seconds. That is who should decide.

    What happens to everything else

    The rules for what stays

    • Verbatim, typos included. The moment you tidy them they stop reading as real, and you have started editing testimony. Correcting someone’s spelling in a quotation attributed to them is not a small thing.
    • First name and last initial. Enough to attribute, not a republication of a full name on a new domain.
    • No invented dates. If the source only shows relative dates, you do not have real ones. Making them up to look thorough is fabricating a detail.
    • The source ordering. Do not re-sort to put your favourites first. If a reader cross-checks against the profile, the page should look like what it claims to be.
    • A link out, so it can be checked. A reviews page nobody can verify is a testimonials page.

    Why the exclusions are the trustworthy part

    A page with everything on it looks like an export. A page where somebody has clearly made choices, and where the choices are defensible if asked, reads differently.

    It is also the only defence you have if anyone ever questions the page. “We publish every text review from the profile except rating-only ones and anything with a conflict of interest” is a policy you can state in one sentence and stand behind. “We used the plugin” is not.

    That page and how it gets built is covered in why a reviews page you own beats a review widget.

    The short version

    1. A hundred and eleven reviews, a hundred and six published. The five exclusions are the editorial work.
    2. Rating-only reviews come off. Nothing to read, and they skew the count in your header.
    3. Staff and account reviews come off. Google names employment and contractual relationships as a conflict of interest.
    4. Ambiguous cases go to the client. Do not guess at family relationships from a surname.
    5. Verbatim, typos and all. Editing a quotation attributed to someone is not tidying.
    6. No invented dates, no re-sorting, and link out so it can be checked.
    7. State the policy in one sentence. That is what makes the page defensible.

    If a site should be ranking and it isn’t, that’s the work I do. SEO for chiropractors covers where the effort belongs in a practice, and local SEO treats the profile and the pages behind it as one job.

  • FAQ markup is not going to get you the accordion

    FAQ markup is not going to get you the accordion

    The verdict

    Seven of the eleven SEO audits I have written recommend adding FAQ schema as a visibility win. That recommendation is now wrong. Google restricted FAQ rich results to government and health authority sites in August 2023 and removed the feature entirely in May 2026. A local clinic will not get the accordion. Mark FAQs up anyway if the questions are genuinely on the page, but for entity clarity, not for stars.

    This is a correction to my own advice, and I am publishing it rather than quietly editing the template, because the old version is sitting in documents clients still have.

    Seven of my eleven audits tell the client to add FAQ schema, and at least one of those is dated after the change that killed it. If you are holding one of them, this is the amended page.

    What happened, in two steps

    In August 2023 Google narrowed FAQ rich results sharply. The announcement said FAQ rich results would be limited to well-known, authoritative government and health websites, and HowTo results would be deprecated. Overnight, the accordion stopped appearing for ordinary businesses.

    Then in May 2026 the feature went entirely. Google’s own updates log records the removal of the FAQ rich result, with the documentation deleted and the result no longer shown.

    So there is no version of this where a clinic gets the accordion. Not with better markup, not by being a health site, not eventually. The feature does not exist.

    Why I am not telling you to rip it out

    Because the markup still does something, just not the thing it was sold for.

    Structured data is how you state, unambiguously, that this page answers these questions. That matters for how a system reads and retrieves your page, which is increasingly how people encounter it. It costs nothing if the questions are already on the page as visible content, and it makes the page’s purpose machine-readable.

    What it will not do is change how your listing looks. If someone is pricing FAQ schema as a visibility improvement, that is the part to push back on.

    The rule that actually matters now

    Only mark up questions that are genuinely on the page, visible to a reader, with genuine answers.

    The temptation once stars are off the table is to treat the markup as a free place to stuff extra questions nobody will see. Google’s structured data guidelines rule that out directly: do not mark up content that is not visible to readers of the page, and your structured data must be a true representation of the page content.

    On a recent clinic build I marked up seventy-nine question and answer pairs across a set of service pages. Every one of them was lifted verbatim from an accordion already on the page. That is the only version of this worth doing.

    What to spend the attention on instead

    Markup that still changes the result

    • Breadcrumbs. Still rendered, still changes what the listing looks like, and takes ten minutes.
    • A correct business node. Which for a clinic has a trap in it, covered in why Chiropractor is not a schema type.
    • The people. Naming clinicians and their credentials as entities rather than as prose.
    • Not reviews. Your own reviews on your own site are ineligible for stars whatever you do.

    Why this keeps happening

    Rich result features get announced loudly and withdrawn quietly. The announcement generates a thousand articles and a line item on every SEO proposal. The withdrawal generates a changelog entry.

    So the advice outlives the feature by years, in templates, in checklists, and in audits like mine. The honest thing an SEO can do is go back and say which of their own recommendations have expired. This is one of eight I have corrected publicly.

    The short version

    1. FAQ rich results were restricted to government and health authority sites in August 2023.
    2. The feature was removed entirely in May 2026 and the documentation deleted.
    3. A local clinic will not get the accordion. Not with better markup, not eventually.
    4. Seven of my eleven audits recommend it as a visibility win. That line is now wrong.
    5. Keep the markup if the questions are real and visible. It is for entity clarity, not stars.
    6. Never mark up questions not on the page. That is a policy violation, not a shortcut.
    7. Breadcrumbs still change the result. Spend the ten minutes there.

    If a site should be ranking and it isn’t, that’s the work I do. SEO for chiropractors covers where the effort belongs in a practice, and an SEO audit from me will tell you which of the recommendations you are already holding have expired.

  • What your website builder already says about you in JSON-LD

    What your website builder already says about you in JSON-LD

    The verdict

    Before you add structured data to a clinic site, read what the site builder is already emitting. On a build I worked on this year it was producing a business node nobody had ever looked at, with the suite number missing from the address, the state spelled out instead of abbreviated, the phone in the wrong format, one day of the week declared twice, and the service area list stuffed into the wrong field. Turn the generator off rather than patch around it.

    Almost every modern site builder writes structured data for you. It reads the business details you typed into a settings panel two years ago and emits a JSON-LD block on every page. Nobody ever looks at it, because it is generated, and generated things are assumed to be fine.

    I pulled the block off a clinic site this year expecting to skim it. It took twenty minutes to list what was wrong.

    What was in it

    Defects in an auto-generated business node

    • The identifier was the bare site URL. Which means nothing else in the markup can reference the business as an entity. Every other node you add later has to redeclare the whole thing.
    • The street address dropped the suite number. The settings panel had a second address line that the generator ignored.
    • The region was written out in full rather than as the two-letter code the address format expects.
    • The phone number was not in international format. Formatted for a human, not for a parser.
    • Saturday appeared twice in the opening hours, with two different sets of times.
    • The service area entries put “town, state, country” into the locality field, so a field meaning “the town” contained three things.
    • The business type was a real medical type, but the wrong one, picked from a category dropdown that does not map cleanly onto schema.
    • Nothing about the clinicians, the services or booking. The generator does not know they exist.

    None of that is a catastrophe on its own. Together it is a description of a business that is subtly not the business, sitting on every page of the site, published continuously for years.

    Why patching it is the wrong instinct

    The obvious move is to add your own correct block alongside. Now the site serves two descriptions of the same organisation, disagreeing about the address and the hours, with no shared identifier tying them together.

    That is worse than either one alone. Google’s structured data guidelines ask that your structured data is a true representation of the page content, and two contradictory business nodes cannot both be that.

    So find the switch. Most builders have one, usually under business information rather than anywhere labelled SEO, and turning it off removes the node entirely instead of leaving a worse version of it. On the site I am describing the setting was not where I spent an hour looking, and the client found it in the end.

    What good looks like

    Google’s local business documentation is short and worth reading in full. The essentials: the physical address is required and you should include as many properties as possible, a primary contact phone number is recommended, and you should use the most specific applicable sub-type.

    For a clinic, the specific sub-type question has a trap in it that catches almost everybody, which I have written up in why Chiropractor is not a schema type and most clinic markup is dead. Get the type right first. Everything else is data entry.

    The check that takes five minutes

    View source on your home page, search for the words that open a JSON-LD block, and read what comes back. You are looking for how many blocks there are, whether any of them describe your business, and whether the address in them matches the one on your contact page character for character.

    Most clinic owners have never done this and are surprised by what is there. It is a five minute job that regularly finds a wrong phone number that has been published on every page since the site launched.

    The short version

    1. Your builder is already emitting a business node. Read it before you add anything.
    2. The defects are small and cumulative. Missing suite number, wrong region format, unparseable phone, a day declared twice.
    3. A bare URL as the identifier means nothing else can reference the business as an entity.
    4. Do not add a second correct block alongside a wrong one. Two disagreeing descriptions are worse than one.
    5. Find the switch and turn the generator off. Usually under business information, not under anything called SEO.
    6. Then get the type right first, because everything else hangs off it.
    7. View source and read it yourself. Five minutes, and it often finds a wrong phone number.

    If a site should be ranking and it isn’t, that’s the work I do. SEO for chiropractors covers where the effort belongs in a practice, and technical SEO is where this kind of thing gets found before it is paid for twice.

  • Why your own reviews do not belong in your schema

    Why your own reviews do not belong in your schema

    The verdict

    A clinic I worked with this year publishes more than a hundred Google reviews on its own site and there is not one Review node in the markup. That was deliberate. Reviews a business controls about itself are ineligible for star results, republished third-party reviews are separately excluded, and putting a rating in markup that the page does not display breaks a rule of its own. Publish the reviews. Skip the schema.

    The page shows a five star average and over a hundred individual reviews, all in plain server-rendered text. The obvious next move is to wrap each one in Review markup, add an aggregate rating, and go looking for stars in the search results. Getting a clinic’s business type right in schema is the prerequisite for any of it, and this is the next question everybody asks.

    I did not do it, and I want to set out why, because the temptation is strong and the reasoning is not obvious.

    Reason one: you control them, so they do not count

    Google’s guidance on review snippets is not ambiguous about this. If the entity that is being reviewed controls the reviews about itself, its pages using LocalBusiness or any other type of Organization structured data are ineligible for the star review feature.

    A reviews page on your own domain, built by you, from reviews about you, is precisely the case that sentence describes. There is no configuration of markup that makes it eligible. The stars are not available, so the question is only whether you want ineligible markup sitting on the page.

    Reason two: they are somebody else’s reviews, republished

    Even setting aside the self-serving problem, these are third-party platform reviews copied onto your site. Google’s review snippet guidance separately excludes reviews aggregated or republished from other sources.

    So the same block fails on two independent grounds. That is usually a sign that the answer is not a smarter implementation.

    Reason three, and this is the one people miss

    Look at what the page actually renders. On the build I am describing, each review card shows the text and a shortened name. There is no per-review star rating drawn anywhere on the page, because the source only publishes an overall average.

    Put a rating value on each Review node and you have asserted something the page does not show. Google’s structured data guidelines are explicit: do not mark up content that is not visible to readers of the page, and your structured data must be a true representation of the page content.

    That is a rule you can break without meaning to, just by accepting the default output of a plugin that assumes every review carries its own score.

    What the downside actually is

    Modest but real, and worth stating plainly rather than as a scare. The same guidance says pages with structured data problems can pick up a manual action, and that such an action means the page loses eligibility for appearance as a rich result, though it does not affect how the page ranks in ordinary web search.

    So the exposure is losing rich results you were never eligible for, plus a message in Search Console and the work of removing it. Not catastrophic. Just entirely pointless, which is the actual argument.

    What to put on the page instead

    Describe what the page is rather than claiming what it scores. A CollectionPage node saying this page belongs to this website and is about this practice, and a breadcrumb trail, both of which are true and neither of which asserts a rating.

    Breadcrumb markup is also one of the few things left that genuinely changes how the result looks, which is a better use of the same fifteen minutes.

    My note: one detail worth carrying over. If the header says one number and the cards on the page add up to a different one, because rating-only reviews were left off, then any aggregate you did publish would be wrong in a way somebody could check. Another reason the honest answer here is to publish the words and let the profile carry the score.

    The short version

    1. Over a hundred reviews published, zero Review nodes. Deliberate, not an oversight.
    2. Reviews you control are ineligible for stars. No markup configuration changes that.
    3. Republished third-party reviews are excluded separately. Two independent failures.
    4. No per-review star on the page means no reviewRating in the markup. Do not mark up what is not visible.
    5. The penalty is losing rich results you never had, plus the cleanup. Pointless rather than dangerous.
    6. Use CollectionPage and a breadcrumb. True statements, and breadcrumbs actually change the result.

    If a site should be ranking and it isn’t, that’s the work I do. SEO for chiropractors covers where the effort belongs in a practice, and technical SEO is where the markup gets checked against what the page actually says.