Skip to content

Import from WordPress

Do you have a WordPress blog with family stories? You can import it into PastPaths so the posts become part of your genealogical research — searchable, tagged, and linked to persons and places.

Export from WordPress

  1. Log in to your WordPress admin
  2. Go to Tools → Export
  3. Choose All content (or just Posts if you don't want pages included)
  4. Click Download export file — you'll get an .xml file

Save the file somewhere easy to find

You'll need to point to the file in PastPaths.

What gets imported?

PastPaths reads:

  • Posts — blog posts with title, content, excerpt, date, and status (published/draft)
  • Pages — informational pages (e.g. "About me")
  • Categories — preserved along with any parent structure
  • Tags — preserved as they are
  • Images — downloaded from your WordPress server and saved locally in the PastPaths media library

Carrying out the import

  1. Go to Import & Export in PastPaths
  2. Under Import WordPress blog — choose your .xml file
  3. Click Import

PastPaths imports everything in order:

  1. Categories — including parent structure
  2. Tags
  3. Images — downloaded from the WordPress server and saved locally
  4. Posts and pages — the image links in the content are updated to point to the locally saved images

A summary is shown once the import is done: number of posts, categories, and tags.

The WordPress site must be online

Images are downloaded directly from the WordPress server during the import. If the site isn't reachable, or an individual image can't be downloaded, that image is skipped and the post may end up with a broken link in that spot.

Download images afterward

If images were missed during the import (e.g. because the site was down), the Download WP images button appears on the Import & Export page. It tries to fetch images for all posts imported from WordPress.

Auto-tag

All posts, pages, and images that are imported are automatically tagged with wordpress-import-YYYY-MM-DD (e.g. wordpress-import-2026-05-09). This makes it easy to filter by the tag and see exactly what came from a particular import.

After the import

The posts are now found under Blog in PastPaths. What you can do next:

  • Link posts to persons. Open a post and add linked persons — the post will then appear on that person's page.
  • Review categories. WordPress categories become PastPaths categories — you might want to clean up or rename them in the taxonomy management.
  • Add more tags. WordPress tags come along, but you might want to add new ones for better searchability in a genealogical context (e.g. place names, family names).

Import history and undoing

The WordPress import appears in the regular import history together with GEDCOM imports. There you can see when the import was done, how many posts and images were imported, and whether it succeeded.

Undo an import

Click Undo on the relevant row in the import history. This removes:

  • All blog posts and pages created during the import
  • All images downloaded from the WordPress server

Tags and categories aren't deleted

Tags and categories are shared across all of PastPaths and aren't deleted when you undo. If they were only used by the removed posts, they become unused — remove them manually in the taxonomy management if you want.

Re-import if needed

If you've made changes in WordPress and want to import again — first undo the old import, export a new XML file, and import again. Slug deduplication prevents categories and tags from being created twice.

Limitations

Custom Post Types. Custom post types (e.g. a "Family Tree" plugin) aren't imported — only regular posts and pages.

Shortcodes. WordPress shortcodes ([gallery], [caption], [embed], etc.) are removed from the content. Working HTML is kept.

Comments. Comments on posts aren't imported.

Multiple authors. If the blog has multiple authors, all posts end up under your PastPaths account.

Featured image. WordPress's featured image isn't automatically imported as the featured image in PastPaths — the image is in the media library, but you need to set it manually on the post.