A Ragdoll cattery needed a website to show its cats and the shows they take part in, and to keep it up to date without depending on anyone. This is the process, from the technical base to what I learned after launch.
The base: my CMS engine
I did not start from scratch. The site is built on my modular CMS engine, which already includes the common modules (FAQ, announcements, partners, contact and legal pages) and the admin panel. That way the time goes into what is specific to the business.
Two custom modules
Cats: a profile for each cat with sex, life stage (kitten or adult), date of birth, sire and dam, registration code, blood group, pedigree link, genetic tests and a photo gallery. The catalogue has search and filters.
Shows: each show with its date, venue, organiser, official link, result and gallery.
Everything is in Spanish and English, and the breeder edits all of it from her panel.
Quality
API tests with Jest and Supertest, E2E with Playwright and accessibility checks with axe, with automatic deployment from GitHub Actions to Vercel (frontend) and Fly.io (backend). On PageSpeed Insights for mobile it scores 93 for performance and 100 for accessibility, best practices and SEO.
What I learned after launch
The site went live on 16 July. Checking Google Search Console over the following days, I saw that Google had indexed only 10 of its 88 URLs. Three changes fixed it:
Pre-rendering the profiles. Each cat and show page was generated the first time someone visited it, so Googlebot was hitting pages that were slow to respond. They are now generated ahead of time.
Fixing the sitemap. One link pointed to a route that did not exist: the accessibility statement.
Completing the hreflang. Some profiles were missing the default version that tells Google which language to show.
None of these issues showed up locally: they appear with real traffic and measurement. That is why I am bringing these fixes into the engine too, so the next websites ship with them.
Have a similar project?
If you run a business with its own catalogue that you want to manage yourself, get in touch and let us see if it is a good fit.

