Shopify and pharmacy
A pharmacy on Shopify, and the range the assistant must never read
The trade rule is that nothing about a medicine may be answered, and this platform makes that unusually easy to get wrong. A store is a set of products, every product is a page anyone can open, collections link to them, and manufacturer copy describes what a product is for. Left alone, the default state of a pharmacy store is a corpus full of the one category that must never produce an answer.
Why this pairing is its own job
The Shopify install guide covers the tag, and the pharmacy guide covers what the assistant has to know. What follows is the part that belongs to neither.
- Excluding a category is only possible if the addresses let you. A store where pharmacy lines and front of shop lines sit in one undifferentiated set of product pages cannot be split at crawl time, so the structural decision comes before the indexing decision.
- Automated collections gather products by tag or type without anybody choosing each one, so a new line joins a linked, reachable collection the day it is created. Nobody reviews the corpus when that happens, because nobody thinks of adding a product as changing what the assistant knows.
- Manufacturer product copy for over the counter items is written as usage information: what it is for, who it suits, how often. That is exactly the shape of text that answers a question well and exactly the text a pharmacy is not permitted to answer with.
- The checkout belongs to the platform rather than the theme, which for most trades is a loss. Here it is a relief: the surface where somebody would ask whether they can take two things together is one the widget never reaches at all.
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 Shopify guide. Everything below is about where it goes on a pharmacy site specifically.
Split the range by address before you index anything
Give the pharmacy lines their own collection and their own path, and keep front of shop, toiletries, baby, mobility and gift lines somewhere else. This is a merchandising change with a compliance purpose, and it is the only thing that makes a whole category exclusion enforceable later.
Then exclude that path from the crawl. Excluding it at the crawl is better than relying on wording alone, because a document that is never read cannot be reached for on a weak match, and the trade page's rule is absolute rather than a matter of tone.
Check the automated collections afterwards. A collection built from a tag keeps pulling new products into a reachable path, so the rule you wrote has to be about the path rather than about the products that were in it on the day you looked.
The tag still goes on every page, including the ones it must not answer from
The tag lives in the theme layout and covers the whole storefront, so the launcher is present on the medicines pages too. That is fine and probably right: somebody standing on a product page still wants to know your opening hours and whether you deliver.
What has to be right is the refusal, written for a visitor who is looking at a product while they type. It should name the pharmacist and the route in the same sentence rather than apologising, because the person asking is frequently deciding something that evening.
A store has no opening hours field, so hours are a page
Everything this trade is most asked about is missing from the store's own data model. Hours, the bank holiday rota, lunchtime closures, the consultation room, which services you run and what they cost: none of those are products, so none of them exist unless somebody wrote a page.
Write them as pages, and put the hours on a page you will actually maintain rather than only in the theme footer, where they are quietly duplicated on every page and updated by nobody.
Where the answerable material lives
| The policy pages the store generates | Refund, shipping, privacy and terms live at their own addresses and are linked from every page of the storefront. They are already written, already public, and answer a large share of the delivery and returns traffic. |
|---|---|
| Hours, including the awkward ones | Bank holidays, lunchtime closures and any rota you take part in, on a page rather than only in the footer. For a pharmacy a wrong closing time is not a small inaccuracy. |
| Services, written as pages and not as products | Vaccinations, health checks, travel clinic, emergency supply, and what each costs. What you offer varies enormously between pharmacies and is never obvious from the shopfront. |
| How prescriptions reach you | Electronic nomination, dropping off paper, what a representative needs to collect for somebody else, and your usual turnaround. Procedural, high volume, and nothing to do with the store. |
The first thing to get right
Put the pharmacy range behind its own path, then exclude that path from the crawl before the first index.
The trade rule excludes a whole category rather than a set of phrasings, and a category can only be excluded if the addresses distinguish it. Do it after the first crawl and you are removing material from a corpus rather than never adding it, which is a slower and less certain thing.
The failure that belongs to this combination
Manufacturer copy answered in the pharmacy's name, with a citation
A product description supplied by a manufacturer is written to be read next to the box, with the leaflet in the packet and a counter assistant nearby. It reads as plain factual text: what the product is for, who it is suitable for, how often it is taken.
Retrieved and returned as an answer, that text is the pharmacy advising on a medicine. The numbered citation makes it worse rather than better, because a source reference reads as verification to the person asking, and the source is a supplier's marketing copy.
This is why the control is exclusion rather than caution. No wording of a refusal helps if the material sitting in the corpus is a fluent answer to the question that was typed.
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 pharmacy 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
- If we exclude the medicines, is there enough left to be worth it?
- Yes, and it is the volume half. Hours, services, delivery, collection and access are what interrupt a dispensary all day, none of them need a pharmacist, and all of them are answerable from pages you already have or can write in an afternoon.
- Can it tell a customer whether something is in stock?
- No. It reads pages and documents rather than looking anything up, so it can say what you carry as a category and what services you run. Whether an item is on the shelf today is a live question, and it should say it cannot check rather than imply it can.
- The widget is missing from the checkout. Is that a problem here?
- It is the one trade where the answer is no. The checkout renders from the platform's own templates rather than your theme, so the widget stops at the cart, and the questions that would have been asked there are the ones you would have had to refuse anyway.
Keep reading
- Installing on ShopifyPaste one script tag into theme.liquid, list both store origins, and know why the widget cannot appear on the Shopify checkout.
- Everything for a pharmacyOpening hours, services and prescription collection are safe ground. Anything about a medicine belongs with the pharmacist.
- Fit questions on a store where the sizes are a dropdownSizes are a dropdown and the size chart is a modal, so the answer to the only question that matters never reaches the crawler as words.
- Selling bikes on one origin and booking the workshop on anotherThe bikes sell on Shopify and the workshop books somewhere else. Two origins, a geometry chart that is an image, and frame sizes as options.
- Excluding a regulated range on a store whose addresses do not distinguish itProduct permalinks carry no category, so the pharmacy range cannot be excluded by path. And on this platform the checkout is yours to put a widget on.
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.