Case Study

How we migrated a 250,000-view academic journal off Joomla — with zero downtime

Preserving legacy URLs, indexed PDFs, and search visibility while rebuilding a broken academic archive into a faster, structured, AI-assisted publishing platform — then cutting the live domain over without an outage window.

Client

International Journal of Ayurvedic & Herbal Medicine

Old legacy website vs new modern website

Old Legacy Website

Stack: Joomla CMS

URL: interscience.org.uk

Old legacy website on Joomla

Legacy Joomla archive site carrying years of research content, but with broken archive relationships, inconsistent article pages, and unstable performance.

New Modern Website

Stack: Next.js · Supabase · Vercel

URL: ijahm.interscience.org.uk

New modern website on Next.js

Modernized archive experience with structured navigation, maintainable architecture, and a faster foundation for search-friendly academic publishing.

The State of the Legacy Website

The legacy website was a Joomla-based academic journal archive with a deep volume → issue → article structure, hundreds of research PDFs, and years of indexed content already live in Google. It carried meaningful search visibility, but the underlying system had also accumulated serious technical and structural problems over time: duplicate slugs across different articles, missing issue/article relationships, PDF mismatches, inconsistent article page formats, and no strong information architecture to stitch the archive together. Search Console data showed that the site already had 200k+ search impressions and 1,800+ organic clicks, but also major indexing issues including duplicate canonical conflicts, broken pages, and large sets of crawled-but-not-indexed URLs. Performance was unstable enough that modern audit tools such as PageSpeed Insights could not reliably evaluate the old site, while direct performance testing showed extreme server delays.

The risk was clear: a careless rebuild would not just refresh the UI — it could erase years of search equity, break direct access to indexed research PDFs, and further damage an already fragile archive structure.

  • Legacy Joomla CMS running a large academic archive without strong structural intelligence
  • 700+ pages with 500+ research articles and 700+ research PDFs
  • 200k+ search impressions and 1,800+ organic clicks already tied to the archive
  • Deep volume → issue → article hierarchy but weak stitching between content objects
  • Duplicate slugs created URL conflicts and SEO ambiguity across articles
  • Articles missing from issues and volumes making archive navigation unreliable
  • PDF/article mismatches where some articles had no PDF page and some PDFs had no proper article page
  • Inconsistent article page formats because content was manually created across different layouts over time
  • No clear information architecture or breadcrumbs to connect volumes, issues, and articles for users or search engines
  • Hundreds of indexing issues including 679 duplicate canonical cases, 218 not found pages, 54 other 4xx pages, and 310 crawled-but-not-indexed pages
  • Legacy performance instability so severe that PageSpeed Insights often could not reliably evaluate the old site

The Challenge

This was not a simple redesign. The site had real search traffic, globally indexed article PDFs, and archive pages that readers and researchers were already using. Search Console data showed 200k+ impressions and 1,800+ clicks, with several PDF URLs among the top-performing pages. At the same time, the legacy setup had major indexing issues: 679 duplicate canonical cases, 218 not found pages, 54 other 4xx pages, and 310 crawled-but-not-indexed pages. The CMS was also not structurally reliable: duplicate slugs were assigned to different articles, articles were missing from issues and volumes, some article pages had no PDF, some PDFs had no proper article page, and the archive lacked breadcrumbs and coherent information architecture. The migration had to modernize the platform without breaking the URLs, PDFs, content relationships, and archive paths that search engines and readers already relied on.

Impact: the migration had to repair structure, preserve discoverability, and modernize performance without losing SEO equity or document access.

Site Scale

This was a content-heavy research archive, not a brochure site. The migration had to account for article pages, issue structures, direct PDF discovery in Google, and long-tail academic queries already driving real traffic.

  • 250,000+ monthly views on the live apex domain
  • 785+ research articles
  • 785+ research PDFs
  • 94+ journal issues
  • 200k+ search impressions (legacy baseline)
  • 1,800+ organic clicks (legacy baseline)

Migration Approach

We treated the migration as an intelligence problem first and a build problem second. Search Console gave us a blueprint of what Google already cared about, while archive analysis exposed where the legacy CMS had failed to maintain content relationships. From there, we rebuilt the archive model, preserved search-sensitive URLs, and created a foundation for both structured discovery and future publishing speed.

  • Audited the archive using Search Console, crawl data, and legacy CMS analysis to identify what Google and users already depended on
  • Prioritized high-risk URLs, especially indexed research PDFs and long-tail article paths, for strict preservation
  • Resolved archive integrity problems such as duplicate slugs, missing issue/article relationships, and broken PDF-page connections
  • Created database-backed URL mapping and legacy path bridging for continuity across old and new systems
  • Used Joomla API data and structured extraction to preserve article metadata fidelity while rebuilding the archive model
  • Rebuilt the publishing workflow with an admin panel that can create structured article entries from PDFs in seconds
  • Cut the live apex domain itself over in a single staged flip — email decoupled ahead of time, DNS moved grey-to-proxied in stages, fresh origin SSL verified before traffic touched it — rather than migrating to a new subdomain and running both in parallel for months
  • Verified every registered DOI still resolves to the correct article post-migration, since a broken DOI breaks every citation ever made to that paper

Architecture

The new platform was designed to keep the archive fast, maintainable, SEO-safe, and operationally easier to publish on at scale.

  • Frontend: Next.js
  • Database: Supabase
  • Hosting: Hostinger (apex, reader traffic) + Vercel (admin + ijahm subdomain)
  • Edge: Cloudflare — WAF, global CDN, Full-strict SSL

The rebuilt system uses structured content models for volumes, issues, articles, and PDFs; database-backed legacy URL mapping; Incremental Static Regeneration for large archive scale; and a cleaner publishing foundation that supports AI-assisted article creation from research PDFs. The hosting split is deliberate: Vercel runs the admin and the ijahm subdomain, but it can’t sit cleanly behind Cloudflare’s proxy — so the apex domain carrying all reader traffic runs on Hostinger instead, fully proxied through Cloudflare.

Hardening the edge

The old Joomla install had no WAF, no rate limiting, and no bot filtering — anything that could reach the origin, did. The new platform sits behind Cloudflare with Full-strict SSL and HTTP/2, and rules that tell real traffic apart from noise: Googlebot and AI search crawlers get through unthrottled, while credential-stuffing bots, vulnerability scanners, and content-scraping bots are blocked before they ever reach the origin.

Staying Live After Launch

Migrating a journal doesn’t end at cutover — a decade of accumulated editorial habits keeps surfacing for weeks afterward.

Cache, fixed at the source

Editors replacing a PDF used to publish silently to a stale cached copy for up to a year. Saving a new file in the admin now invalidates that file’s Cloudflare cache entry immediately, logged to an audit trail.

Analytics, fixed at the edge

A strict, opt-in-only consent banner was quietly dropping roughly 95% of traffic — most readers are outside the EU, where opt-out consent is standard. The banner now reads the visitor’s country at the edge: non-EU readers are tracked by default, EU/UK/Brazil readers still see an opt-in prompt.

Results

The outcome was not just a better-looking site. It was a repaired archive, a dramatically more maintainable publishing system, and a migration that respected the search, citation, and document footprint the journal had already built.

Zero-downtime cutover the live apex domain — all 250,000 monthly views — moved to the new stack with no outage window

Homepage TTFB dropped from 3.4–10.5s on Joomla to 0.33s on the new platform, a 10–30× improvement

Article page TTFB went from multi-second PHP/DB rendering to 0.13–0.27s

Lighthouse scores 95 desktop / 73 mobile performance; 100 SEO, 100 Best Practices, 90 Accessibility; CLS held at 0

XML sitemap went from none — Joomla never had one — to 1,658 submitted URLs

Indexed-URL parity 99.1% of indexed URLs preserved through migration; canonical accuracy improved from 679 duplicate-canonical issues to 99.87% correct

PDF delivery went from 0% cached (no CDN) to a 64% edge cache-hit rate on Cloudflare’s global network

Citation integrity every registered DOI continues to resolve to the correct article after the move

Publishing workflow shifted from 10–15 minutes of manual article creation to under 60 seconds with AI-assisted PDF-to-article drafting

Platform migration moved from a fragile legacy Joomla setup to Next.js + Supabase, running on Hostinger and Vercel behind Cloudflare

Decision quality was driven by real search data, content relationships, and archive recovery needs rather than guesswork

The real value in a migration is not moving data. It is understanding what must be preserved — URLs, PDFs, metadata, and content relationships — before you rebuild.

Planning a Joomla or WordPress migration?

Start with a free migration audit and understand the SEO, URL, and archive risks before rebuilding your website.

Get Free Migration Audit