To move WordPress content into Notion, give Notion what it reads best: clean Markdown. Export each page as Markdown, the headings, text, lists, and links with the theme markup stripped out, and Notion imports it directly into tidy pages. The trap is trying to import the WordPress XML backup or raw HTML, which either fails or fills Notion with broken formatting and stray markup. Keep one file per page so each becomes its own Notion page. WPBuildAI produces a clean, per-page Markdown export of your whole site, ready to import into Notion.

Plan around block markup rather than assuming plain HTML: WordPress 7.0 arrived on 20 May 2026 with 7.0.1 and 7.0.2 following in July, and the block comments that survive an export are usually what turns a clean Notion import into a manual cleanup job.

Why Markdown and not HTML or XML

The format is the whole decision, because Notion treats each one very differently. WordPress XML is a backup format meant for other WordPress installs, and Notion has no reason to understand it, so it simply does not import. An HTML import is worse in a subtle way: it drags in the theme’s containers and inline styling, which Notion turns into a mess of empty blocks, stray dividers, and broken formatting that you then clean by hand. The 2024 Web Almanac shows how much of a WordPress page is that surrounding markup rather than content, so an HTML import is mostly importing noise. Markdown is the clean middle layer, just the structure and words, which is exactly what Notion’s import expects. If you try to point a tool at a live URL instead, expect the rendering gaps Google describes in its JavaScript SEO basics.

What Notion’s Markdown import actually does

It helps to know what Notion does with Markdown, because it explains why clean input matters. When you import a Markdown file, Notion maps its structure onto native blocks: a # heading becomes a Notion heading, a list becomes a toggle-free list, a link becomes a Notion link, a code fence becomes a code block. One Markdown file becomes one Notion page. This mapping is clean only if the Markdown is clean: well-formed headings and lists convert perfectly, while malformed or HTML-laced Markdown produces broken or empty blocks. So the quality of the Notion page is determined upstream, by the quality of the Markdown you feed it. This is why the extraction step, converting WordPress’s content to genuinely clean Markdown, is the real work, and the Notion import itself is almost trivial once the input is right.

How to do it cleanly, step by step

  1. Export one Markdown file per page, dropping HTML, scripts, and CSS, keeping headings, lists, and links.
  2. Handle images separately, uploading to Notion or hosting them stably and linking, keeping the alt text.
  3. Import the Markdown so each file becomes a Notion page.
  4. Keep the structure, so headings become Notion headings and lists stay lists.
  5. Organise in Notion afterward, grouping pages into a database or hierarchy if you want.

This is the same clean-export work as turning a site into ChatGPT-ready Markdown and exporting a whole site to one file. The one-file-per-page rule matters: a single giant file becomes one unwieldy Notion page, while per-page files become a tidy set you can organise.

A worked example: a blog into a Notion database

Picture moving a 150-post WordPress blog into Notion as a content database. Importing the XML backup does nothing; Notion cannot read it. Importing an HTML export of each post produces 150 messy pages full of leftover theme divs and broken spacing. The clean path: export each post as a Markdown file with its title as the H1 and the body as clean Markdown, one file per post. Notion imports the 150 files as 150 tidy pages, each with proper headings and lists. You then add those pages to a Notion database with properties for date, category, and status, pulled from the front matter, and you have a searchable, filterable content workspace. Same content, three import methods, only the clean Markdown produced a usable result. The extraction did the work; Notion’s import and database features did the rest.

Handling images for Notion

Images are the part that breaks if ignored, because Markdown only references them by URL. If your exported Markdown points at the old WordPress media URLs, the images display in Notion only as long as the old site stays up; once it is gone, they break. So handle images deliberately: either upload them into Notion so they live in the workspace, or host them somewhere stable and reference those stable URLs, never the old WordPress media you intend to retire. Keep the alt text from the original, carried into the Markdown, so the descriptions survive as captions or nearby text. For a Notion workspace this matters less for SEO (Notion pages are usually private) and more for completeness and longevity: you want the images to still be there in a year, which means not depending on a WordPress site you are abandoning.

The value of a clean import is that your content’s structure survives, so protect it during extraction. Headings should map to Markdown heading levels in order, so Notion rebuilds the outline; lists should stay as Markdown lists, so they become Notion lists rather than run-together paragraphs; internal links should be converted thoughtfully, since the old WordPress URLs will not exist in Notion, so either point them at the corresponding Notion pages after import or note them for manual linking. The Generative Engine Optimization study and the llms.txt convention both make the same underlying point: clean, well-structured content is what every tool, Notion included, handles best. Structure preserved in the Markdown is structure you get for free in Notion; structure lost in a messy export is structure you rebuild by hand across every page.

Notion versus a public site

It is worth being clear about what a Notion import is and is not, because it changes what you need to worry about. The content extraction for Notion is identical to the first half of a site migration, clean Markdown per page, but Notion is a private workspace, not a public website. That means there are no URLs to preserve, no 301 redirects to set up, and no SEO at stake, because the pages are not indexed and not serving public search traffic. So a Notion import is simpler than a migration: you skip the entire redirect-and-rankings half. If you later decide you want a public site from the same content, the same clean export feeds a rebuild instead, and then the URL and redirect work does apply, the path in whether WordPress to Webflow hurts SEO. The export work is done once either way; only the destination decides whether redirects matter.

Common mistakes importing to Notion

The recurring errors all come from feeding Notion the wrong format or forgetting the images. Trying to import the WordPress XML backup does nothing, because Notion cannot read it. Importing raw HTML fills Notion with messy, broken blocks you then clean by hand across every page. Exporting the whole site as one giant Markdown file produces a single unwieldy Notion page instead of a tidy set. Leaving images referenced on the old WordPress domain means they break when the site comes down. And dropping the heading and list structure during a sloppy export turns formatted articles into walls of text. Each is avoided by the same approach: export clean Markdown, one file per page, with structure intact, and handle images by uploading or stably hosting them, which is what makes Notion import your content tidily rather than as a mess to fix.

Key points to remember

Extract WordPress content for Notion by exporting clean Markdown, one file per page, because Notion imports Markdown into tidy native blocks while it cannot read WordPress XML and turns raw HTML into a mess. Keep the heading, list, and link structure in the Markdown so it survives the import, and handle images deliberately, uploading them to Notion or hosting them stably rather than pointing at the old WordPress media that will eventually 404. A Notion import is the content half of a migration without the URL and redirect half, since the workspace is private and has no SEO at stake, and the same clean export can later feed a public rebuild if you want one. WPBuildAI produces the per-page Markdown export ready for Notion, and rebuilds a live site with redirects when you need it; send your site URL for a fixed quote.

Not affiliated with Notion, WordPress, Webflow, or Lovable.