Guides → Migrate a WordPress blog to SGEN

How to migrate WordPress blog to SGEN

How to migrate a WordPress blog to SGEN

Acme Coffee Roasters has been publishing on WordPress for four years — 60 posts covering brewing guides, origin stories, and seasonal announcements. The team is moving their whole site to SGEN and wants every post to come across: content intact, SEO signals preserved, and old WordPress URLs redirecting cleanly to their new SGEN slugs. This guide covers the full migration path from WordPress export to verified live posts on SGEN.

The migration has six stages: export from WordPress, prepare the content for SGEN's import format, import and verify in SGEN, set featured images, configure redirects for old URLs, and run a final content check before the domain switches. None of the stages requires developer access — every step is done from the SGEN admin and standard tools available on any computer.

What is this for?

This guide is for SGEN admins who are moving an existing WordPress blog to SGEN and want to bring their post history across rather than starting fresh. It covers the full migration workflow: getting content out of WordPress in a usable format, transforming it for SGEN's import structure, importing it, attaching media, and putting redirect rules in place so that visitors and search engines following old WordPress URLs land on the correct SGEN post.

The guide focuses on blog posts. If you are also migrating WordPress pages (not posts), the same principles apply but the import destination is the Pages section of the SGEN admin rather than the Blog section. Handle posts and pages as separate import passes.

Good use cases

Example 1: Full archive migration. Acme Coffee Roasters migrated all 60 WordPress posts to SGEN in a single afternoon. They exported the WordPress XML, converted it to a CSV using a free online tool, adjusted the column headers to match SGEN's import format, and uploaded the file. All 60 posts imported as drafts. The team spent the following day reviewing each post, attaching featured images from the Media Library, and setting posts to Published. Within two days the full archive was live on SGEN.

Example 2: Partial migration — top posts only. Acme Wine Co. had 200 WordPress posts but only the top 40 by traffic were worth migrating. They exported the full WordPress XML, filtered the CSV to the 40 posts they needed, and imported just those. The remaining 160 posts were redirected from their old WordPress URLs to a single archive page on the SGEN site. This kept the migration fast while preserving the traffic value of the most-visited posts.

Example 3: Slug-preserving migration. Acme Studio's WordPress blog used slugs like

/blog/how-to-brief-a-designer. The team wanted to keep these slugs on SGEN to avoid redirecting high-value links. They configured the SGEN blog slug prefix to /blog/ and imported posts with their original WordPress slugs in the Slug column of the import CSV. All slugs landed correctly and no redirects were needed for the migrated posts.

Example 4: Migration with category mapping. Acme Coffee Roasters used five WordPress categories: Brewing, Origins, Recipes, News, and Reviews. SGEN's Blog uses tags rather than a hierarchical category system. During the CSV preparation step, the team created a Tags column and mapped each WordPress category to one or more SGEN tags. All 60 posts imported with their tags correctly applied.

Example 5: Media-heavy migration. Acme Coffee Roasters' posts contained inline images hosted on the WordPress media server. After migrating post bodies to SGEN, inline images still pointed to the WordPress media URLs. The team downloaded each image, uploaded it to the SGEN Media Library, and updated the image references in each post body. For 60 posts with an average of three inline images each, this took approximately half a day and was done in batches of ten posts at a time.

What NOT to use this for

Migrating WordPress pages

— this guide focuses on blog posts. WordPress pages import to the SGEN Pages section via a separate pass. The same CSV format applies but the import destination is different.

Migrating WooCommerce products

— product data has a different structure and belongs in the SGEN Products or ecommerce section, not the blog import flow.

Migrating a WordPress site that will remain live in parallel

— if the WordPress site stays live while SGEN is being prepared, do not redirect old WordPress URLs until the domain fully switches. Running both sites with redirects in place creates circular routing.

Automated or ongoing sync between WordPress and SGEN

— this is a one-time migration workflow. SGEN does not maintain a live sync connection to a WordPress installation.

How this connects to other features

Blog posts

— imported posts land in Admin → Blog as drafts. Review and publish from there after verifying content. See Create and manage blog posts.

Redirects

— every old WordPress URL that changes slug or structure needs a redirect. See Create a redirect.

Pre-launch SEO audit

— after migration, run the SEO audit before the domain switches to confirm all imported posts have correct metadata. See Pre-launch SEO audit.

Domain switchover

— the migration should be complete and verified before the domain is switched. See Domain switchover safely.

Media Library

— featured images and inline post images need to be uploaded to the SGEN Media Library and re-attached to posts after import.

Before you start

Before beginning the migration, have the following ready:

Allow a full working day for migrations of up to 50 posts, including review and redirect configuration. Larger archives may take two to three days depending on how much content review is needed per post.

  • Admin access to your WordPress site to export the XML file.
  • Admin access to your SGEN site to run the import and configure redirects.
  • A list of all the WordPress posts you want to migrate — either all of them or a filtered selection. If filtering, decide your criteria (top posts by traffic, posts from the last two years, etc.) before starting.
  • The WordPress URL structure your blog used — specifically the base path (e.g., /blog/, /news/, or the default /?p=ID). You will need this to construct the redirect map.
  • Image files: if your WordPress posts have featured images, download them from WordPress before beginning — you will upload them to the SGEN Media Library during the migration.

Where to go

The migration touches several areas of the SGEN admin:

  • Blog importAdmin → Blog → Import
  • Blog posts listAdmin → Blog
  • Media LibraryAdmin → Media
  • RedirectsAdmin → Redirects
  • Blog settingsAdmin → Settings → Blog (to confirm the slug prefix)

Steps — migrating your WordPress blog to SGEN

1. Export posts from WordPress

WordPress provides a built-in XML export tool that covers all posts, their content, metadata, categories, and tags. This export file is the starting point for the migration.

To export from WordPress:

  1. Log in to your WordPress admin.
  2. Go to Tools → Export.
  3. Select Posts as the content type (not All content, which includes pages, comments, and other data you do not need for this migration).
  4. Leave the filters set to All to export every post, or use the date and category filters to narrow the export to the posts you want.
  5. Click Download Export File. WordPress produces a .xml file — save it to your computer.

Once you have the export file, do not make changes to the WordPress site until the migration is complete and verified on SGEN. Changes made in WordPress after the export will not be reflected in the imported SGEN posts.

2. Convert the WordPress XML to a SGEN-compatible CSV

SGEN's blog import accepts a CSV file with specific column headers. The WordPress XML export does not match this format directly — it needs to be converted.

The simplest conversion path:

  1. Use a WordPress XML to CSV converter (several free browser-based tools exist — search for "WordPress XML to CSV converter"). Upload the WordPress XML and download the resulting CSV.
  2. Open the CSV in a spreadsheet application (Microsoft Excel, Google Sheets, or similar).
  3. Rename the columns to match SGEN's expected import headers. The required columns are:
SGEN columnWordPress source fieldNotes
titlepost_titleThe post headline
slugpost_nameThe URL slug, without the prefix
contentpost_contentThe full post body (HTML)
excerptpost_excerptShort summary; leave blank if unused
statuspost_statusUse draft for all — review before publishing
published_datepost_dateFormat: YYYY-MM-DD
tagstagsComma-separated tag names
seo_title_yoast_wpseo_title or similarFrom SEO plugin meta if present
seo_description_yoast_wpseo_metadesc or similarFrom SEO plugin meta if present

Set the status column to draft for all rows regardless of the WordPress published status. This gives you a chance to review every post in SGEN before making it live.

  1. Save the file as .csv (UTF-8 encoding).

3. Import the CSV into SGEN

With the CSV prepared, import it into the SGEN blog:

  1. Go to Admin → Blog → Import.
  2. Click Choose File and select your prepared CSV.
  3. SGEN will preview the column mapping — confirm each SGEN field maps to the correct CSV column. Adjust any mismatches in the mapping interface before continuing.
  4. Click Import.
  5. Wait for the import to complete — a progress indicator shows how many posts have been processed. For 60 posts this typically takes under a minute.
  6. When the import completes, a summary panel shows the number of posts created, any rows that were skipped (due to missing required fields), and any rows that produced errors.

Review any skipped or errored rows. Common causes: missing title, a slug value that conflicts with an existing post slug, or a published_date in an unrecognised format. Correct the affected rows in the CSV and re-import just those rows, or create the affected posts manually.

4. Review every imported post and attach featured images

All imported posts land in Admin → Blog with a status of Draft. Before publishing any of them, open each post and verify:

  • The title and body content transferred correctly — check for encoding issues (curly quotes becoming question marks, em-dashes becoming garbled characters) and fix any affected text.
  • The slug is correct and matches what you intended (or what the redirect map expects).
  • The SEO title and meta description are present and make sense.
  • Tags are correctly applied.

For each post that had a featured image on WordPress:

  1. Open the post edit screen in SGEN — Admin → Blog → Edit.
  2. Find the Featured Image field (typically in the sidebar or below the post body).
  3. Click Select from Media Library — if you have already uploaded the image, select it here. If not, click Upload and upload the image file now.
  4. Confirm the image appears in the featured image preview.
  5. Click Save (do not publish yet — finish reviewing all posts before publishing any).

5. Update inline image references in post bodies

If your WordPress posts contained images embedded inline in the post body — not just featured images — those images are currently pointing to WordPress media URLs. Once the WordPress site is taken down (or if it goes offline), those inline images will break.

For each post with inline images:

  1. Download the image files from WordPress (access them via Media → Library in WordPress, or through the WordPress file manager if you have server access).
  2. Upload them to the SGEN Media Library — Admin → Media → Add New.
  3. Open the SGEN post edit screen and find the inline image in the body editor.
  4. Replace the WordPress URL with the new SGEN Media Library URL for the same file.
  5. Save the post.

For a large archive with many inline images, work in batches of 10 posts at a time. Keep a running list of which posts still have WordPress image URLs so you can track progress without losing your place.

6. Create redirects for all old WordPress URLs

Every WordPress post URL that is changing — either because the slug is different on SGEN, or because the URL structure is different (e.g., WordPress used /year/month/slug/, SGEN uses

/blog/slug/) — needs a redirect. Without redirects, visitors arriving from search results, social shares, or bookmarks will land on a 404.

To create redirects:

  1. Go to Admin → Redirects.
  2. For each post, click Add New and set: - Source: the full WordPress path, e.g. /2024/03/15/cold-brew-guide/ - Destination: the SGEN post path, e.g. /blog/cold-brew-guide - Type: 301 Permanent
  3. Click Save.

If you have many posts, consider building the redirect map as a spreadsheet first — one row per post, with Source and Destination columns — and then creating all the redirects in the SGEN admin from that list. This makes it easier to confirm every post is covered before switching the domain.

After creating all redirects, test a sample of them by visiting the old WordPress URL (either on a staging copy of the WordPress site, or by checking the redirect rule directly in the SGEN admin) and confirming it routes to the correct SGEN post.

What success looks like

Success looks like

The migration is complete and ready for the domain switch when all of the following are true: At this point, the blog migration is ready. Proceed to the domain switchover once all items above are confirmed.

  • Every imported post appears in Admin → Blog and has been reviewed for content accuracy.
  • All posts intended for publication are set to Published (or are ready to be published immediately after the domain switch if you prefer to publish at that moment).
  • Every post that had a featured image has one attached in SGEN.
  • Every inline image in post bodies points to a SGEN Media Library URL, not a WordPress URL.
  • A 301 redirect exists in Admin → Redirects for every old WordPress post URL that is changing path or structure.
  • A final pre-launch SEO audit confirms all imported posts have SEO titles, meta descriptions, and correct canonical URLs pointing to the production domain.

What to do if it does not work

Import produces errors or skipped rows. Open the CSV and check the affected rows for missing required fields (title and slug are mandatory), date format issues (use YYYY-MM-DD), or slug conflicts with existing SGEN posts. Fix the affected rows and re-import just those rows.

Post body content has encoding errors. This typically happens when the CSV was saved in a non-UTF-8 encoding. Re-export the CSV from your spreadsheet application, explicitly selecting UTF-8 encoding during the save step.

Featured images are not attaching. Confirm the image file was uploaded to the SGEN Media Library before attempting to attach it. The Media Library must hold the file before it can be selected in the post edit screen.

If you encounter an issue not covered above, collect the import summary panel screenshot showing the error message, the number of rows affected, and the CSV column mapping you used, then contact SGEN support.


Migration checklist

StepActionDone?
1Export posts from WordPress as XML
2Convert XML to SGEN-format CSV
3Import CSV into SGEN Blog
4Review all imported posts and attach featured images
5Update inline image references in post bodies
6Create 301 redirects for all old WordPress URLs
7Run pre-launch SEO audit on imported posts
8Switch domain
On this page