WordPress and veterinary clinic

A veterinary practice on WordPress, and the pages the snippet should skip

A vet site looks like one website and behaves like three. The pages you wrote sit in WordPress, the registration and repeat prescription forms come from whoever supplies your practice management software, and the out of hours cover belongs to a different business entirely. The hook that prints the tag does not know any of that, so it prints on all of it.

Why this pairing is its own job

The WordPress install guide covers the tag, and the veterinary clinic guide covers what the assistant has to know. What follows is the part that belongs to neither.

  • Registration, repeat prescription and health plan forms are almost always supplied by your practice management vendor and served from the vendor's own address, either in a frame or by sending the client off the site. The terms those forms rely on are not pages of your site, so a crawl never reaches them, and the launcher ends up sitting beside a form asking for an animal's clinical history.
  • wp_footer fires on every front end page, including the thin page whose only content is that embed. Whether the widget belongs there is a decision, and if you do not make it in the snippet, it gets made for you.
  • Fee lists in this trade are PDFs. WordPress puts an upload at its own address under the uploads folder and leaves it there whether or not any page links to it, so the most valuable document the practice owns is frequently sitting in the media library reachable by nothing.
  • The emergency number is usually a theme widget or a header template part rather than page content, which means it is printed into the rendered HTML of every single page. That is one of the few times this structure works in your favour, and it is also why a stale number in that one widget poisons every answer at once.

What changes about the install here

<script src="https://cdn.askably.xyz/w.js" data-key="pk_live_YOUR_KEY" defer></script>

The tag is the same one on the WordPress guide. Everything below is about where it goes on a veterinary clinic site specifically.

Decide the excluded pages inside the snippet, before it goes live

The snippet is ordinary PHP, so returning early is one line. The pages worth naming first are the ones carrying a vendor form: registration, repeat prescription requests, health plan signup, and anything where the visitor is typing an animal's history into somebody else's field.

The reason is not politeness about screen space. A form asking about an animal's condition primes exactly the questions this assistant must refuse, and it invites them at the moment the client is already committed to typing. Leaving the launcher off those pages removes a whole class of conversation you would otherwise have to handle badly.

Keep every exclusion in the one snippet. A second snippet holding the exceptions is how a practice ends up with the widget missing from a page nobody meant to exclude, six months after the person who wrote it left.

An upload is not a page, and last year's upload is still there

A crawl follows links. A PDF fee list that was emailed to clients and never linked from a page is invisible to it, no matter that the file is public and sitting at a perfectly ordinary address. This is the most common reason a vet practice concludes the assistant cannot answer price questions.

The other half is worse. Replacing a fee list by uploading a new file does not overwrite the old one: WordPress stores the new upload separately, so the previous version stays at its original address, still linked from whatever post or email mentioned it. Crawl the site and both are read, and nothing in either document says which one is current.

Put the fees on a page and keep the PDF as the printable copy, or at minimum delete the superseded file from the media library rather than leaving it to be found.

The species list is the cheapest thing to get right

Which animals you see is a fixed property of the practice, it never varies by case, and it is asked constantly by people who will otherwise ring to be told no. On a WordPress site it usually exists as a sentence buried in an about page or as a line in a services grid.

Give it a heading and its own paragraph on a page the crawl will reach. That single edit converts a question that currently costs a phone call into one the assistant answers outright, with a citation to a page you wrote.

Where the answerable material lives

Source material on a WordPress veterinary clinic site
The fee list, as page textConsultations, vaccinations, neutering, dental work and microchipping, written into a page rather than left as an upload. If it has to stay a PDF, link it from a page by name so a crawl following your own links can find it.
The out of hours arrangement, printed on every pageBecause it lives in a widget or a header template part, it appears in the rendered HTML of every page rather than on one page about emergencies. Check that the number in it is the current provider before you index anything.
The species and services pageExotics, small mammals, horses, farm work, and anything you have stopped doing. This never changes case by case, which makes it the safest material on the site.
Whatever the vendor form does not explainWhat a new client needs to bring, how records transfer from a previous practice, and how long a repeat request takes. The form collects; it rarely explains. That explanation has to be a page of yours or it is nowhere.

The first thing to get right

Do this first
Before switching the snippet on, list the pages that carry a practice management form and return early on them.

Once the tag is printing on every front end page, that decision has already been made by default. Getting it right first costs one condition and removes the pages where a distressed owner is most likely to type a symptom into a chat box instead of into the phone.

The failure that belongs to this combination

Two fee lists, both public, both current as far as anything can tell

The practice raises prices, somebody uploads the new PDF, and the page link is updated. The old file is untouched at the address it has always had, and an old post, an old email or a search result still points at it.

A crawl reads whatever it can reach. Both documents are now in the corpus, both look like a fee list, and neither contains a sentence saying which year it belongs to. The assistant answers with a figure and cites a document, which is exactly the behaviour that makes an answer look checked.

The fix is a deletion rather than a setting. Remove superseded price documents from the media library, and if you cannot, put the effective date in the first line of every fee document you publish so the answer carries its own age.

Before you go live

  • The origin the page is served from has to be on the allowlist for that assistant, or nothing renders and the browser console says which origin was refused. An apex domain and its www are two different origins to a browser, so list both, along with any staging or preview host you want it to work on.
  • Open the site as a visitor would, on the pages a veterinary clinic visitor actually lands on, and ask it something only your own material could answer. A widget that renders is not the same as a widget that has read anything.

Questions

Should the launcher appear on the page with our booking form on it?
Usually not. The form belongs to your practice management supplier and the assistant cannot see anything inside it, so every question the page prompts is one it has to refuse. Return early on those pages in the snippet and keep the widget on the pages where prices, hours and species questions are asked.
Can it tell somebody what our out of hours service charges?
Only if that figure is written on a page of yours. The out of hours provider is a separate business with its own site, and a crawl of your site does not read theirs. If you want the charge answered, publish your understanding of it and date it, because it is their number to change.
Our prices are in a PDF. Is that good enough?
It works if something on the site links to it, because a crawl follows your links. It works better as a page, because a page can be edited in place rather than replaced by a second file, and because you can then delete the old PDF instead of leaving two versions in circulation.

Keep reading

Try it on your own material

Upload a document or point it at your site, paste one line of HTML, then ask it something only your business could answer.