DriversRecommendedOutdated drivers can make a good PC feel brokenScan driver issues before chasing fixes manually.Scan NowHalloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsSlow PC?RecommendedPC slow today? Run a repair scan before it gets worseResolve common Windows issues and optimize system performance.Scan Now×
FREEDOM251

Freedom251 › Blog › 301 redirects

How to Migrate From Joomla to WordPress: Step-by-Step Guide (2026)

By Freedom251 Team · · 12 min read

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The safest Joomla-to-WordPress migration is a staged rebuild: back up Joomla, create a separate WordPress installation, import the content, recreate the design and extensions, map every changed URL, test the result, then switch the domain with 301 redirects. The commonly used FG Joomla to WordPress plugin can move categories, posts, tags, images and other media, but it does not transfer your template, replace Joomla extensions or create your redirect strategy.

Joomla does not provide a native export that WordPress can read directly. Use the plugin for a conventional site, or export and transform the Joomla database manually when the site contains highly customised data. Keep the Joomla site available until the WordPress version, redirects and forms have all passed testing.

As an Amazon Associate I earn from qualifying purchases.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What a Joomla-to-WordPress migration actually changes

This is not a one-click theme conversion. You are moving content and then rebuilding the parts that are specific to Joomla. A successful migration has four separate workstreams:

  • Content: articles become WordPress posts or pages, while categories, tags, images and other media are imported or transformed.
  • Presentation: the Joomla template must be replaced with a WordPress theme. Template overrides, module positions and custom CSS do not come across automatically.
  • Functionality: Joomla components, modules, plugins, menus, galleries, forms and other extensions need WordPress equivalents or a manual rebuild.
  • Addresses: old Joomla URLs must either be retained through matching WordPress permalinks or redirected with HTTP 301 rules.

Without redirects, visitors and search engines requesting an old Joomla address will receive a 404 after the domain points to WordPress. Treat the URL inventory as carefully as the content import.

Plan the migration before touching the live site

Define the scope

List what will be moved and what will be retired. Include articles, static pages, categories, tags, images, downloadable files, users, menus, galleries, contact forms, search, comments and any members-only or commerce functions. Mark each item as migrate, rebuild, replace or remove. This prevents an extension from being forgotten simply because its data appears in the database.

Prepare access and a staging location

  • Administrator access to Joomla and to the new WordPress installation.
  • A staging URL or private host where WordPress can be built without replacing Joomla.
  • Hosting access sufficient to create a WordPress database and, for the plugin route, read the Joomla database.
  • A complete Joomla backup stored outside the web server.
  • A list of DNS, email, analytics, form-delivery and payment settings that must continue working at cutover.

Do not use the production domain for the first import. A staging copy gives you a safe place to repeat the process when an import fails or a URL mapping needs correction.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Choose an import method

Route Best fit What it handles Main trade-off
FG Joomla to WordPress plugin Standard Joomla sites with conventional articles and media Categories, posts, tags, images and other media; it connects directly to the Joomla database Less control over unusual schemas; template and extension work remains manual
Manual database export and transformation Highly customised or non-standard Joomla installations Direct control over article, category, user and custom-field mapping Requires database knowledge and a repeatable conversion script or WXR-generation process

The plugin route requires the Joomla database host, database name, database user and database password. A manual route can export Joomla article, category and user tables through phpMyAdmin as SQL or CSV. Another approach is to generate a WordPress WXR XML file from the Joomla database; migration guides generally reserve that method for installations whose data cannot be handled by a standard importer.

Step 1: Back up Joomla and verify the backup

Make a full backup before installing an extension, changing configuration or exporting data. One commonly suggested option is the Akeeba Backup extension, but verify that the backup completes and can be restored before relying on it. Keep the archive, database dump and a copy of uploaded media in separate storage.

Record the Joomla version, database engine, PHP version, active template and installed extensions. Save a copy of the robots.txt file, sitemap, custom URL rules and any existing redirect list. If the site has a separate database and file host, back up both parts; an SQL dump without the media directory cannot restore the complete site.

Step 2: Build WordPress on staging

  1. Install WordPress at a staging hostname or subdirectory that is not the live domain.
  2. Restrict indexing while the site is incomplete using the staging host’s access controls or WordPress reading settings. Remove that restriction before launch.
  3. Set the site language, timezone, administrator accounts and media settings to match the intended production site.
  4. Install the theme and WordPress extensions selected to replace the Joomla template and components, but do not delete Joomla or point DNS at WordPress yet.

Keep staging close to production: use the same PHP major version, database engine and web-server behavior where possible. Differences between staging and production can hide rewrite, upload-size or form-delivery problems.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Step 3: Inventory Joomla URLs and important content

Crawl the live Joomla site before the switch. A migration guide suggests Screaming Frog for this crawl, but the important result is the URL list rather than the particular crawler. Export every indexable page, its status code, canonical URL, title and destination links. Include PDFs, images and feeds if they receive traffic or links.

Use Google Search Console to identify top landing pages and queries that bring visitors. Add those pages to a priority list even if they are not linked prominently in the current navigation. A practical mapping sheet can contain these columns:

  • Old Joomla URL
  • New WordPress URL
  • Page type and title
  • Keep, merge, replace or retire decision
  • Redirect status
  • Test result after launch

Do this before importing so you can decide whether WordPress should reproduce Joomla’s structure or intentionally create a cleaner one.

Step 4: Decide whether to preserve Joomla permalinks

Open WordPress at Settings > Permalinks and choose a structure that matches Joomla wherever practical. Matching the old path reduces the number of redirect rules and lowers the chance of overlooking a high-value URL. It does not remove the need to test; a matching-looking path can still differ because of trailing slashes, index.php segments, category bases or file extensions.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

If the WordPress structure is better for the new site, use it consistently and create a redirect for every changed address. Do not force a match when Joomla’s structure is confusing, duplicated or tied to an extension that will not exist in WordPress. The goal is a stable, readable destination, not identical syntax at any cost.

Step 5: Import with FG Joomla to WordPress

Check requirements and compatibility first

The plugin’s WordPress.org listing states that it supports Joomla 1.5 through 6.0 and requires WordPress 4.5 or later and PHP 5.6 or later. Those are listed minimums, not a recommendation to run obsolete software. Confirm that the current plugin release, your WordPress version and your hosting PHP version are compatible on the live listing before importing.

Compatibility information has appeared differently in cached copies of the listing:

Listing or release reference WordPress tested up to Qualification
Version 4.32.0, en-CA cached listing 6.8.3 Cached copy; may be stale
Version 4.34.0, en-AU cached listing 7.0.4 Cached copy; may be stale
Version 4.34.0, en-GB cached listing 7.0.1 Cached copy; may be stale
Version 4.34.1 changelog snippet 7.1 Most recent claim found; the current page’s exact Tested up to field should be checked directly

The differing values most likely reflect snapshots of the same listing at different times. Do not quote one as a permanent compatibility guarantee; check the current WordPress.org page immediately before the migration.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Connect the importer

  1. Install and activate FG Joomla to WordPress on the staging WordPress site.
  2. Open the plugin’s import settings and enter the Joomla database host, name, user and password.
  3. Select the Joomla table prefix and the content options offered by the installed version.
  4. Choose the media-import options and verify that the Joomla media paths are reachable from the staging server.
  5. Run a test import on staging. Note the number of categories, posts, tags, images and other media reported by the importer.
  6. Compare those totals with your Joomla inventory and investigate any mismatch before repeating the import or moving to production.

Run the importer more than once only when you understand its duplicate-handling behavior. If you need to start over, reset the staging WordPress content or use a fresh database rather than layering uncertain partial imports.

Use the internal-link repair option carefully

One migration guide reports that the plugin can rewrite old links such as /index.php?option=com_content to cleaner WordPress URLs. That behavior is not independently verified here, so treat the option as a convenience rather than proof that every link was fixed. Crawl the imported staging site and search the database or rendered HTML for Joomla paths, attachment URLs and links to pages that were renamed.

Step 6: Rebuild the theme, menus and extensions

The importer moves content data, not the Joomla template. Recreate the header, footer, typography, navigation, sidebars, homepage layout, category archives and responsive behavior in the WordPress theme. Joomla module positions have no automatic WordPress equivalent, so place each block deliberately in a widget area, block template or page template.

Menus and navigation

Recreate the primary, utility and footer menus under Appearance > Menus or the block-theme navigation editor. Check menu labels, parent-child relationships, external links and active-state styling. Joomla menu aliases may have supplied the old URL; verify that the WordPress menu points to the final destination rather than to an intermediate redirect.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Forms, galleries and interactive features

Rebuild contact forms, search, galleries, maps, newsletters, comments and any authenticated features with WordPress-compatible extensions or custom code. Submit every form on staging and confirm validation, spam protection, notification delivery and success messages. Imported article text can reference Joomla module shortcodes or embed syntax that WordPress will display as plain text; replace those fragments manually.

Media and downloads

Open representative images from old articles, featured images, galleries and downloadable files. Check filenames, captions, alt text, dimensions and permissions. If media was stored outside Joomla’s standard directories, confirm that the importer included it; otherwise copy and relink it before launch.

Step 7: Preserve metadata, users and content relationships

Compare titles, excerpts, publication dates, authors, categories and tags between a Joomla sample and its WordPress counterpart. Check pages that used custom fields, tables, code blocks or embedded media, because these structures are where automated imports most often need editing.

Review user accounts and roles separately from article authorship. Confirm which accounts should exist in WordPress and test administrator, editor and subscriber permissions. Do not assume that a migrated user can authenticate until the account and password process has been tested in the new system.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Recreate page titles, descriptions, canonical settings, open-graph data and structured content in the SEO system selected for WordPress. Preserve the original wording where it remains accurate, but update metadata for pages that were merged, retired or substantially rewritten.

Step 8: Build the redirect map

For every Joomla URL that changes, assign one final WordPress destination. Redirect to the closest equivalent page, not automatically to the homepage. Retired content should point to a genuinely useful replacement when one exists; otherwise remove it deliberately and record the decision.

Implement the rules with a WordPress redirect tool such as the Redirection plugin, or with the redirect feature provided by Yoast or Rank Math. Use permanent 301 redirects for moved pages. Test both the exact old URL and common variants such as a trailing slash, uppercase characters or an old index.php form when those variants were publicly accessible.

Keep the source-to-destination sheet after launch. It becomes your audit trail when Search Console reports a missing page or an editor later changes a slug. A redirect chain, in which one old URL points to another redirect before reaching the final page, is harder to maintain than a direct rule.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Step 9: Test the staging site before cutover

Use a checklist and test real URLs rather than relying on a successful importer message.

  • Open the homepage, every main menu item, representative articles, category pages, tags and static pages.
  • Check desktop and mobile layouts, navigation, search, breadcrumbs and pagination.
  • Open images, galleries, PDFs and other downloads from several publication years.
  • Submit every form and verify email delivery and database entries.
  • Confirm authors, dates, comments, embeds, tables and code samples.
  • Search for Joomla URL fragments, broken internal links and missing media.
  • Verify that canonical URLs, robots directives and the staging noindex setting behave as intended.
  • Run the complete redirect map against the staging host and confirm that each old path reaches the correct final page.
  • Measure page titles, descriptions and major templates for accidental duplication or missing metadata.

Have someone who did not perform the import follow the site as a normal visitor. Fresh eyes often find missing menu items, forms that do not send, or pages that were technically imported but are not reachable.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Step 10: Switch the domain and submit the new sitemap

  1. Lower DNS time-to-live ahead of the planned cutover if your DNS provider permits it.
  2. Take a final Joomla database and file backup immediately before the switch.
  3. Put the Joomla site into a brief maintenance state if content could change during the final import.
  4. Run the final import or synchronize changes made since the staging copy.
  5. Point the domain to the WordPress host and configure the production site’s WordPress Address and Site Address under Settings > General.
  6. Enable the redirect rules and remove staging-only access restrictions and noindex settings.
  7. Open the homepage, several old Joomla URLs and critical forms from an external connection.
  8. Submit the WordPress XML sitemap in Google Search Console and monitor indexing, crawl errors and redirect responses.

Keep Joomla available as a read-only fallback until DNS has propagated and the highest-value URLs, forms and media have been checked in production. Do not make independent content edits in both systems during that period; they can diverge and be lost in a later import.

When the manual database route is better

A manual export is justified when Joomla uses custom tables, unusual article fields, a bespoke component or a content model that the importer cannot represent. Export the relevant article, category and user tables through phpMyAdmin as SQL or CSV, document each field mapping, and transform the records into WordPress posts, pages, taxonomies and users. For a large conversion, generate a WordPress WXR XML file and validate it on staging before importing.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Manual control lets you normalize slugs, combine taxonomies and preserve custom fields, but it also makes you responsible for encoding, dates, author IDs, media paths, duplicate detection and relationship integrity. Build a repeatable process rather than editing a one-off export by hand; you may need to rerun it after correcting a mapping error.

Common problems and fixes

The importer cannot connect to Joomla

Recheck the database host, name, user, password and table prefix. The WordPress host may not be allowed to connect to a database on another server. Ask the host to permit the connection or place the staging copy where both databases are accessible. Do not expose database credentials in page content or public configuration files.

Posts imported but images are missing

Confirm that the Joomla media directories are readable from staging and that the importer was configured to copy media. Check for non-standard storage paths and filename case differences. Copy missing files manually, then update the affected image URLs and regenerate thumbnails if the WordPress theme requires different sizes.

Links still contain Joomla paths

Run a crawl of the rendered staging site and search content for index.php, Joomla component parameters and the old domain. Use the importer’s internal-link option if available, then correct exceptions manually. Add a redirect only when the linked destination itself has changed; do not mask an incorrect internal link with a chain of redirects.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Old URLs return 404 after launch

Add the missing source-to-destination rule, check that the redirect tool is active, and verify that the rule matches the exact path and query pattern used by Joomla. Test the final destination directly and remove conflicting rules that send the request elsewhere.

The design looks wrong even though the import succeeded

This is expected when a Joomla template or module has no WordPress counterpart. Rebuild the template areas, menus and extension features instead of trying to repair imported presentation markup. Keep the Joomla site online while each critical template is reproduced and tested.

Plugin compatibility is unclear

Cached WordPress.org listings report different Tested up to values for different versions and locales. Treat the newest available claim as provisional, check the live listing before installation, and test the exact plugin, WordPress and PHP combination on staging. The listing’s stated Joomla range and minimum requirements do not guarantee that a highly customised Joomla site will import cleanly.

Post-launch monitoring

For the first days after cutover, review server logs and Search Console for 404s, redirect loops, blocked resources and sudden drops in indexed pages. Prioritize fixes by traffic and links: a frequently visited article, a key landing page and a form endpoint matter more than an obsolete duplicate URL. Add newly discovered mappings directly to the maintained redirect sheet and retest them after every permalink or slug change.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Once traffic and indexing stabilize, retain the Joomla backup and the final URL map according to your site’s retention policy. The migration is complete only when the WordPress site can be maintained without depending on Joomla’s template, extensions or database.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

301 redirectscontent management systemsJoomlaSEOWebsite MigrationWordPress

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Recommended PC Tool
Recommended PC Tool
Crashes, No Sound, or Screen Glitches?Free driver scan
Windows Errors? Fix Them Before They SpreadFree repair scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.