How to export your content and media files (& import into a new site)

Moving Your Site with a WordPress WXR (XML) Export/Import is easy.

This FAQ walks you through exporting content from your OurLocality site and importing it to another WordPress website without FTP. It uses WordPress’s built-in WXR (XML) tools. The addendum describes how to create private local copy on a Mac, PC or Linux machine.


Quick summary

  • Export from OurLocality: Dashboard → Tools → Export → choose All content (or specific types) → Download Export File (WXR .xml).
  • Import to the new site: Dashboard → Tools → Import → WordPress (Run Importer) → upload the WXR file → map authors → tick Download and import file attachmentsSubmit.
  • Keep the old site public and unchanged until the import fully completes so images can be fetched.
  • Large sites: split your exports by content type, author, or date range to stay within upload limits.
  • You can be more selective too, filtering what to export (e.g. post types, only images, by date, author, category etc)

Before you start (checklist)

  1. Access level: You need to be an Administrator on both sites (export source and import destination).
  2. Destination ready: The new WordPress site should be installed, accessible, and plugins installed (add the WordPress Importer when prompted).
  3. Temporarily keep source public: The importer must fetch media files from the source site’s URLs. Password protection or private media will not import.
  4. Enough upload size: Check the destination site’s upload limit under Media → Add New (shown on screen). If your WXR is too large(unlikely for DIY sites), split exports.
  5. Match critical plugins: If your content uses shortcodes (e.g., galleries, forms) or custom post types, install equivalent plugins on the destination before the importing.
  6. Note items that don’t come across:
    • theme options,
    • widgets,
    • Customizer settings,
    • plugin settings, and
    • most forms don’t transfer with WXR.
  7. (See “What doesn’t move” below.)

Step-by-step: Export from OurLocality

  1. Log in to your OurLocality site.
  2. Go to Tools → Export.
  3. Choose one of:
    • All content (posts, pages, custom post types, comments, terms, menus, and media references), or
    • A specific content type (Posts, Pages, Media, etc.), optionally filtered by author, status, categories, start date, end date.
  4. Click Download Export File.
    • You’ll receive a .xml (WXR) file.
    • For large sites, repeat the export for logical chunks (e.g., by year or by post type) to create multiple smaller files.

Tip for media: You can export Media separately by date range. The WXR contains references to files; the actual images/files are pulled during import when you tick “Download and import file attachments”.


Step-by-step: Import into the new WordPress site

  1. Log in to the destination site’s Dashboard.
  2. Go to Tools → Import.
  3. In the “WordPress” section, click Install Now (if you don’t already have it), then Run Importer.
  4. Upload your WXR .xml file and click Upload file and import.
  5. Author mapping: Choose whether to assign content to an existing user or create a new one.
  6. Very important: Tick Download and import file attachments.
  7. Click Submit and let the importer run to completion. Avoid closing the tab.

If you have multiple WXR files, repeat steps 2–7 for each file – NB in 15 years we have been doing this it has never been necessary to split the files – despite handling websites of over 10,000 pages and posts. But you can do this, with care, if desired.


After the import (sanity checks)

  • Pages & Posts: Spot-check that counts roughly match the source.
  • Media Library: Open a few posts and ensure images are visible; confirm attachments exist under Media → Library.
  • Menus: Reassign menus under Appearance → Menus (and set locations) if needed.
  • Widgets/Customizer: Recreate any sidebar/Customiser settings manually.
  • Shortcodes: If you see raw shortcode text, install/enable the plugin that provides those shortcodes.
  • Internal links: Most will update automatically; if you see old absolute URLs, run a search-and-replace (use a reputable plugin or the WP-CLI on the destination).

Handling part sites

  • Split the export:
    • Export Posts by year or category.
    • Export Media by year/month.
    • Export Pages separately.
  • Server timeouts: If imports time out, import in smaller batches, this is a server limit at the import end.
  • Upload limits: If your WXR exceeds the destination’s upload limit, increase that limits – in our experience this is not really a problem during import
  • Keep source available: Don’t change permalinks or block access until media finishes importing, keep your old site running for a week or so – to check everything has moved correctly.

What moves (and what doesn’t)

Moves via WXR:

  • Posts, Pages, Attachments (as references), Custom Post Types supported by WordPress/your theme/plugins, Comments, Categories/Tags/Terms, Menus (expect some niggles), Authors (as mapped).

Doesn’t move via WXR:

  • Theme, theme options, widgets, Customizer settings, plugin configurations, forms & form entries (depends on plugin), caching/SEO settings, user passwords.
  • Shortcodes import as text; they only render if the destination has the same plugin/theme feature.

Common gotchas & fixes

  • Images not appearing: Re-import the same WXR with Download and import file attachments ticked; ensure the source images are public and the source site is still live.
  • Author mismatch: Re-run import and remap authors, or bulk-edit posts to the correct author after import.
  • Broken shortcodes: Install the missing plugin/theme, or replace shortcodes.
  • Custom post types missing: Install/register the CPT on the destination first, then import again.
  • Mixed content (HTTP/HTTPS): Set the site URL to HTTPS and run a search-replace to update old links.

GDPR & data responsibilities

You are responsible for ensuring the transfer aligns with your lawful basis, privacy notice, and retention policies. OurLocality acts as a data processor; please ensure your destination provider meets your compliance needs.


Need help?

If you’re an Administrator, you can ask us for pointers. We prioritise DIY—send screenshots and details of any errors. For billing questions, contact treasurer@sustainingdunbar.org.


FAQ – Short answers

Q: Can I move media without FTP?
A: Yes. During import, tick Download and import file attachments. Keep the source site public until it completes.

Q: My WXR is huge—what now?
A: Export and import in batches (by date range or content type).

Q: Do themes and widgets move?
A: No—reconfigure on the destination.

Q: Will internal links update?
A: Usually, but you may need a search-and-replace to swap old absolute URLs.

Q: Can Editors do this?
A: Only Administrators should handle user imports/exports. Editors should coordinate with their site’s Admin.


🖥️ Addendum: Storing Your Site Offline (Optional)

If you’d like to keep a private, offline copy of your OurLocality site — for backup, reference, or development — you can do this using a local WordPress setup. Two common approaches:

Option 1: Use Local by Flywheel (recommended for ease)

  1. Download and install Local (works on Mac, Windows, Linux).
  2. Open Local → click + Create New Site.
  3. Give it a name, choose “Preferred” environment, and set a simple username/password.
  4. Once the local WordPress site is created, go to Tools → Import inside it.
  5. Upload your WXR (.xml) export file and tick Download and import file attachments.
    • Because your OurLocality site is live, Local will pull in your posts, pages, and images.
  6. When finished, you’ll have a full offline copy you can browse by clicking “Open Site” in Local.

✅ Tip: Local can run entirely offline after the import is complete, so you can archive or back it up safely.


Option 2: Use MAMP / LAMP (more technical)

  1. Install MAMP (Mac/Windows) or LAMP stack (Linux).
  2. Create a new MySQL database via phpMyAdmin (e.g. local_wp).
  3. Download WordPress from wordpress.org and unzip it into your local web directory (e.g. htdocs/ or /var/www/html/).
  4. Run the WordPress setup wizard at http://localhost/yourfolder, connecting it to your new database.
  5. Once WordPress is running, go to Tools → Import → WordPress, install the importer, and upload your WXR (.xml) file.
  6. Tick Download and import file attachments to copy media locally.

💡 Keep the OurLocality site temporarily public so your images download correctly during import.


Notes

  • This offline version won’t send or receive mail and won’t connect to OurLocality servers — it’s for testing, archiving, or training only.
  • You can zip up the local site folder and MySQL database if you want to archive it as a permanent offline backup.

By @ourlocality

@OurLocality Free Community Publishing and News Since 2010 ... get your local news here: https://ourlocality.org/news/

**Feed Your Community Not the Algorithm!