Back to Portfolio

Static Content Exporter

A WordPress plugin I built to free content from page builders like Elementor, Divi, and WPBakery, packaging it as clean, portable files.

Type
WordPress, CMS & eCommerce, Apps, Plugins & Tools
Built With
WordPress, PHP, JavaScript, jQuery, HTML, CSS
Static Content Exporter

About This Project

The Challenge

WordPress page builders like Elementor, Divi, and WPBakery have made it easy for creators to construct beautiful layouts without writing code. However, they achieve this by storing page data as heavily nested layout tables and complex database entries (known as shortcodes). When the time comes to migrate to a new hosting platform, a modern website framework, or to archive the site offline, developers discover that their content is effectively locked in a proprietary database format. Exporting the raw data leaves behind hundreds of broken, un-renderable brackets and structural clutter.

My objective was to design a clean, automated solution that bypasses database raw text parsing entirely. I wanted to build a migration bridge that processes content from the user's perspective, stripping away structural clutter while packaging files into a neat, portable, and completely independent archive.

The Process

Instead of attempting to parse database records, my approach was to let WordPress do what it does best first: render the page. By hook-intercepting the core content rendering pipeline on the server, I allow the layout engines, shortcodes, and forms to resolve into standard web elements.

Once the page is rendered, the utility runs targeted cleaning profiles tailored to the specific page builder used. The core logic handles three main tasks:

1. Structural Grid Removal: Traversing the rendered HTML markup to strip away layout wrapper divs and spacing elements while leaving the raw headings, text paragraphs, links, and media intact.

2. Asset Localization: Automatically scanning the HTML for image attachments, stylesheets, and documents, downloading them locally, and rewriting path links to ensure the archive can run completely independent of the original server.

3. Self-Healing Batching: Migrating large websites often causes server crashes due to execution limits. To make the tool reliable on standard hosting, I designed a processing queue that processes pages in small batches. If a specific page fails to render, the engine isolates it, logs the warning, and safely continues the migration.

The Result

Static Content Exporter delivers complete portability for legacy web content. It generates standalone archives with relative link navigation that can be hosted on static providers or viewed offline by double-clicking. By translating complex, shortcode-locked layouts into clean HTML and localized assets, it saves hundreds of hours of manual reconstruction and gives organizations complete ownership of their digital archives.

Gallery

Back to Portfolio

What Can I Help You Build?

Whether you're starting from the seed of an idea or fixing or revamping an existing project, I'd love to hear what you're working on.

Tell Me About Your Project