Industrial water treatment · 2025 – 2026
Joomla to WordPress migration pipeline
A rebuild plus a scripted migration of a 15-year content library.
- Stack
- WordPress · GenerateBlocks · Python · Playwright · BeautifulSoup · WordPress REST API · Yoast
- 01Inventory every URL
- 02Scrape content
- 03Transform to CSV
- 04Import via REST API
- 05Alt text and SEO metadata
- 06Redirect map
- 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.