Pharmacy Hosting

Pharmacy hosting for a shop where some products have rules.

A pharmacy is retail with conditions attached. Some lines cannot be sold to everyone, stock comes from a wholesaler feed rather than from your own count, and a proportion of your orders arrive with a prescription attached.

Restricted lines never cachedWholesaler feeds reconciledFree migration
Gated-product cachingFeed reconciliationPrivate uploadsDaily backupsFree SSL24/7 support
Built for regulated retail

Everything a pharmacy asks of a host.

The catalogue behaves like any shop until it reaches the products that come with a question attached, and then it stops behaving like a shop at all.

Restricted products stay dynamic

A product whose availability depends on an answer the customer gave cannot be served from a shared cache. Those URLs are dynamic while the rest of the catalogue caches normally.

Never sharedCatalogue still cached

Stock that reconciles with the wholesaler

Availability comes from a supplier feed on a schedule, and the import records what it changed. A line that quietly stopped updating is visible rather than silently wrong.

Prescription uploads kept private

A prescription is a medical document that arrives through a checkout field. It is stored where it cannot be listed and retrieved through a signed link.

Not listableSigned retrieval

Feed runs that finish

Supplier imports are chunked and resumable with limits raised for the cron context, so a large refresh completes instead of stopping halfway through the catalogue.

Checkout that is never cached

Cart, checkout and account pages are excluded outright, so a customer never sees a basket that belonged to somebody else.

Staging for a catalogue change

New supplier, new categories or a changed feed format: run it against a clone and compare before the same file rewrites live stock.

Operations

Know that the feed ran.

The expensive failure in pharmacy retail is not a slow page. It is selling something the shelf does not have, or showing a restricted line to somebody who never answered the question.

  • One-click admin login, no shared passwords
  • Per-site resource and storage view
  • Plugin and core updates with per-item status
  • Restore any daily backup from the dashboard
Wholesaler feed
Chunked, reconciled
6,180 lines
Restricted lines
Excluded from cache
dynamic
Prescription uploads
Not publicly listable
private
Nightly backup
Replicated offsite
02:50
Performance

A category page of six thousand lines.

General catalogue pages cache like any shop's. The tuning is spent on the two places where a pharmacy is not any shop: the gated products and the feed.

Reconciled
supplier stock
Excluded
restricted product URLs
NVMe
storage on every plan
MagicWP150 ms
Feed applied during web requests1450 ms
Untuned shared host900 ms

Illustrative comparison of a large category page during a stock refresh. Your numbers depend on catalogue size and feed frequency.

Configuration

What we change for a pharmacy

These differ from a standard WordPress store on the same plan, and each follows from a catalogue where availability is neither yours to decide nor the same for every customer.

SettingWhat we doWhy
Restricted product URLsExcluded from the page cache while the general catalogue is cachedAvailability that depends on an answer the customer gave is per-customer by definition, so a shared cache entry shows one shopper a decision made about another.
Stock importChunked, resumable, and reconciled against the previous runA supplier feed that fails partway leaves a catalogue that is half fresh and half stale, and without reconciliation nothing distinguishes that from a normal day.
Import limitsRaised for the cron context onlyA full wholesaler refresh needs far more time than any page should be allowed, so the limits are lifted where the import runs rather than everywhere.
Prescription handlingStored outside publicly listable paths, retrieved through signed linksA prescription uploaded at checkout is a medical record that the default upload directory would publish to anybody who guesses the filename.
Checkout cachingCart, checkout and account excluded outrightA cached basket is somebody else's basket, and in a pharmacy that also discloses what they were buying.
Plans

Simple, transparent pricing.

Every plan includes free migration, daily backups, SSL and 24/7 support.

MonthlyYearly
Starter
For personal sites, blogs, and portfolios.
$20/mo
Billed $240 yearly · save $60
  • 1 WordPress site
  • 10 GB NVMe disk
  • Free SSL
  • Daily backups
  • One-click deployment
  • Support tickets
Start free trial
Pro★ Most popular
For growing businesses and busy stores.
$80/mo
Billed $960 yearly · save $240
  • 5 WordPress sites
  • 50 GB NVMe disk
  • Free SSL
  • Daily backups
  • One-click deployment
  • Priority support tickets
Start free trial
Enterprise
For agencies and high-traffic platforms.
$250/mo
Billed $3000 yearly · save $600
  • 20 WordPress sites
  • 200 GB NVMe disk
  • Free SSL
  • Daily backups
  • One-click deployment
  • Dedicated support
Start free trial
FAQ

Questions, answered.

Can restricted products be cached like the rest of the catalogue?
No. If availability depends on something the customer told you, the page is per-customer, and a shared cache entry will show one shopper the outcome of another shopper's answer.
Our stock levels drift from the wholesaler's. Why?
Usually a feed that failed partway and left half the catalogue fresh. Chunked, resumable runs that reconcile against the previous import make a partial failure visible instead of leaving it to be discovered by a customer.
Where are uploaded prescriptions stored?
In paths that cannot be listed publicly, retrieved through signed links. It arrives through a checkout field, but it is a medical document, and the default upload directory would make it fetchable.
Why does the nightly stock refresh time out?
Because it is running under limits meant for web requests. Raising them for the cron context only lets a full refresh finish without also allowing a page to run for minutes.
Can I test a new supplier feed safely?
Yes, against a clone. A changed column or a different units field rewrites stock across the catalogue, and comparing the result beforehand is much cheaper than reversing it.

Sell the regulated lines without the regulated risk.

Start in minutes, or let our team move your pharmacy site across - no card, no commitment.