Skip to content
cueva.dev
← All work

Industrial water treatment · 2025 – 2026

Joomla to WordPress migration pipeline

A rebuild plus a scripted migration of a 15-year content library.

Skills
Stack
WordPress · GenerateBlocks · Python · Playwright · BeautifulSoup · WordPress REST API · Yoast
Migration pipeline
  1. 01Inventory every URL
  2. 02Scrape content
  3. 03Transform to CSV
  4. 04Import via REST API
  5. 05Alt text and SEO metadata
  6. 06Redirect map
  7. 07Broken-link check

Context

A long-running Joomla site with 100+ technical articles, case studies and white papers, about 250 images and about 190 indexed URLs. The new site had to launch without losing content, image text, SEO metadata or search traffic from old links.

What I did

  • Built the new WordPress site: 20+ pages including systems, chemical programs, treatment solutions, industries, case studies, blog, a white paper request page and a product microsite section.
  • Inventoried every URL on the old site before touching anything.
  • Scraped article content with Python (requests, BeautifulSoup), using Playwright where pages needed a real browser, and converted CMS export files to import-ready CSV.
  • Imported images and posts through the WordPress REST API with application passwords, deduplicating images along the way.
  • Generated suggested alt text from page context, with automatic detection of decorative images such as icons and backgrounds.
  • Migrated SEO titles and descriptions by script.
  • Built the redirect map by crawling both sites, then reviewed ambiguous URLs by hand.
  • Ran a broken-link checker before launch and fixed what it found.

Outcome

Content, images, alt text, metadata and old URLs carried over to the new site, with every old URL either redirected or reviewed.