// the find
benbalter/wordpress-static-site-exporter
One-click WordPress plugin that converts all posts, pages, taxonomies, metadata, and settings to Markdown and YAML which can be dropped into Jekyll (or Hugo or any other Markdown and YAML based site engine).
A WordPress plugin that exports your entire site — posts, pages, taxonomies, metadata — to Markdown files with YAML front matter, ready to drop into Jekyll or Hugo. It's been around for years and is the standard tool for people migrating off WordPress to a static site. Ben Balter works at GitHub, so the Jekyll-first focus makes sense.
Runs post content through `the_content` filter before exporting, so shortcode output and third-party plugin transformations are captured rather than the raw database garbage. WP-CLI support with selective export by category, tag, or post type means you can script migrations or do partial exports without clicking through the admin. The html-to-markdown conversion is handled by the solid league/html-to-markdown library rather than a homebrew regex soup. Vendor dependencies are committed, so installation on a locked-down host without Composer access just works.
HTML-to-Markdown conversion will mangle complex content — Gutenberg block output, nested tables, custom HTML widgets — and the result requires manual cleanup before it's usable in any real site. There's no image migration: images stay at their original WordPress URLs, so you need a separate download step or your new site immediately has broken images and external dependencies. The exported YAML front matter dumps everything from `wp_posts` and `wp_options`, much of which is WordPress-internal noise that clutters every file and needs pruning for the target static generator. Large sites will time out through the admin UI; the WP-CLI path is the only viable route for anything beyond a hobby blog.