Joomla to WordPress Migration URLs: A Step-by-Step Guide to Preserving Your Rankings
When migrating a site from Joomla to WordPress, the most critical factor for preserving search traffic and user experience is handling URLs correctly. This is not just a content move; it’s a site move. Google's official guidance on site moves advises starting with configuring the server to redirect old URLs to new ones, using permanent 301 or 308 redirects when possible. A thorough, URL-first approach to migration minimizes disruptions and ranks losses.
TREAT THE CMS MIGRATION AS A URL MIGRATION FIRST
A Joomla-to-WordPress migration often involves not just a change of CMS, but a change of URL structure as well. This is more akin to Google's concept of a "site move with URL changes" than a simple infrastructure change. When a site's protocol, domain, subdomain, or URL paths change—in other words, when moving from Joomla's URL scheme to WordPress's—Google treats this as a different scenario. The infrastructure is changing, but so are the addresses for every page. That's why a migration from Joomla to WordPress should be approached as a site move with URL changes, requiring careful planning around redirects to preserve rankings.
- On 11 June 2026, FreshySites published a Joomla-to-WordPress migration guide stating that configuring WordPress permalinks and building a complete redirect map that maps “every old Joomla URL to its new WordPress URL” is necessary to “preserve search rankings and avoid broken links”,
- Google’s official “Site Moves and Migrations” documentation recommends starting a site move “by configuring the server to redirect from the old URLs to the new ones” and advises using “server side permanent redirects,” such as HTTP 301 or 308, when technically possible.
- In Google Search Console’s “Change of Address” help content, Google states that when changing some URLs, site owners “just need to use 301 redirects on the URLs that change,” adding “a 301 redirect for each old URL” so it automatically redirects to the new URL “with a 301 status code (ideally just in a single redirect).”
INVENTORY EVERY JOOMLA URL BEFORE YOU TOUCH WORDPRESS
The first step in any URL-sensitive migration is to take stock of the existing URLs. For Joomla, that means crawling the live site to create a comprehensive URL inventory. RunxBuild, discussing the Joomla-to-WordPress migration process, explicitly states that step two is to "crawl the live Joomla site with any site crawler and save every indexed URL." If you don't export and preserve a list of all Joomla URLs in their current structure, you won't be able to produce a complete redirect map later.
- RunxBuild’s Joomla-to-WordPress migration guide (17 August 2026) instructs site owners to “crawl the live Joomla site with any site crawler and save every indexed URL,” explicitly framing URL export as step 2 of the migration process.
- A WordPress migration article at MagicWP (updated 17 August 2026) notes that Joomla SEF (search engine friendly) routing produces URL paths—often containing an article ID—that WordPress would never generate by default, and warns that accepting default WordPress permalinks can change “every ranking address at once” unless Joomla SEF patterns are reproduced with rewrites.
DEFINE YOUR WORDPRESS URL STRUCTURE AND ITS RELATIONSHIP TO JOOMLA SEF
Once you have an inventory of your Joomla URLs, the next decision is how to map them to WordPress. SupportHost’s step-by-step guide to Joomla-to-WordPress migration directs users to configure WordPress permalinks via Settings → Permalinks, choose a URL structure, and save changes. But what structure should you choose? The default WordPress permalinks may not match the search engine-friendly (SEF) patterns produced by Joomla.
WordPress’ permalink options include Plain, Day and name, Month and name, Numeric, Post name, and Custom Structure. Joomla’s built-in SEF routing produces URLs that often include an article ID, such as "example.com/joomla-sef-url-with-id-1234." WordPress, by default, would produce a slug-based URL like "example.com/joomla-sef-url" without the ID, as it has no native mechanism to replicate Joomla’s ID-based SEF URLs.
Don't assume WordPress will automatically generate the same URLs as Joomla, or that the default options will be a perfect match. If you accept WordPress’ chosen URL structure without accounting for Joomla's patterns, you risk completely changing the URL of every ranking page. MagicWP’s article on moving from Joomla to WordPress directly addresses this risk: "Joomla SEF routing produces URL paths—often containing an article ID—that WordPress would never generate by default. By accepting defaults in WordPress, you could change every ranking address at once!"
- The SupportHost step‑by‑step Joomla-to-WordPress migration tutorial (8 June 2026) directs users to configure WordPress permalinks via Settings → Permalinks, choose a URL structure, and save changes.
- The SupportHost Joomla-to-WordPress guide explains that after importing content, the importer can “scan your imported content, find links pointing to your Joomla site, and update them to the correct WordPress URLs,” and separately recommends updating WordPress database URLs when moving from a subfolder (e.g.
yoursite.com/wordpress/) to root (yoursite.com/) so that internal references no longer point to the old path. - A WordPress migration article at MagicWP (updated 17 August 2026) notes that Joomla SEF (search engine friendly) routing produces URL paths—often containing an article ID—that WordPress would never generate by default, and warns that accepting default WordPress permalinks can change “every ranking address at once” unless Joomla SEF patterns are reproduced with rewrites.
In some cases, you may need to configure custom rewrites in WordPress to mimic the patterns of Joomla’s SEF URLs. However, according to a Stack Overflow thread discussing keeping Joomla URLs on a WordPress site, fully replicating Joomla’s URL structure on WordPress without redirects is "not generally feasible" without extensive custom routing. This positions 301 redirects as a more realistic and manageable solution than expecting WordPress to natively serve all Joomla URLs.
- A Stack Overflow thread from 2 December 2019 discusses keeping existing Joomla site URLs after migration; the accepted answer indicates that fully keeping Joomla URLs on a WordPress site is not generally feasible without extensive custom routing and advises using redirects instead of expecting WordPress to natively serve all old Joomla addresses.
BUILD A ONE‑TO‑ONE REDIRECT MAP AND IMPLEMENT PROPER 301S
With a list of Joomla URLs and a new WordPress URL structure in place, the next step is to map the old to the new, one-to-one, and to implement permanent 301 redirects. This requires some manual work on your part or a migration plugin that can handle the redirects automatically.
Multiple sources emphasize the importance of one-to-one, page-level redirects in a migration. FreshySites’ migration guide states that "old Joomla URLs need to redirect cleanly to their corresponding new WordPress URLs." InventiveHQ’s redirects best practices guide specifically warns site owners not to redirect all URLs to the homepage after migration, and that each old URL should map to the most relevant new URL.
- On 11 June 2026, FreshySites published a Joomla-to-WordPress migration guide stating that configuring WordPress permalinks and building a complete redirect map that maps “every old Joomla URL to its new WordPress URL” is necessary to “preserve search rankings and avoid broken links”,
- The redirects best‑practices guide on InventiveHQ (25 December 2024) states that during a site migration, teams should crawl and inventory every existing URL, map each old URL one‑to‑one to its closest new URL, implement permanent 301 redirects in a single hop, update internal links to point to the new URLs directly, keep redirects in place for at least a year, and monitor Search Console and server logs for 404s; it further notes that a correctly implemented 301 passes essentially all of a page’s ranking authority to its new address.
- The FG Joomla to WordPress Premium migration plugin’s “auto-redirect” capability, noting that if the plugin keeps Joomla IDs, it can automatically generate redirects or preserve old URLs by appending the old ID in the new slug so that existing links resolve.
The plugin also offers an "auto-redirect" feature that can automatically generate 301 redirects based on the Joomla IDs, appending the old ID to the new slugs so that existing links resolve. However, the FG Joomla to WordPress Premium documentation does not specify whether this feature handles complex URL cases, such as redirecting www to non-www or http to https, by default.
Google’s Search Console Change of Address guidance goes deeper into the importance of proper redirects to preserve rankings. "When changing some URLs, site owners just need to use 301 redirects on the URLs that change. So you'll need to add a 301 redirect for each old URL so it automatically redirects to the new URL with a 301 status code (ideally just in a single redirect)."
- Google’s official “Site Moves and Migrations” documentation recommends starting a site move “by configuring the server to redirect from the old URLs to the new ones” and advises using “server side permanent redirects,” such as HTTP 301 or 308, when technically possible.
- In Google Search Console’s “Change of Address” help content, Google states that when changing some URLs, site owners “just need to use 301 redirects on the URLs that change,” adding “a 301 redirect for each old URL” so it automatically redirects to the new URL “with a 301 status code (ideally just in a single redirect).”
A properly implemented 301 redirect will pass essentially all of a page's ranking authority to the new URL that the old URL had. In other words, if page A on Joomla had strong rankings, and we 301 it to the new page-B address on WordPress, the majority of page A’s ranking signals and authority should transfer to page B. But it's important that those redirects go straight to the new, final URLs, without chaining redirects or sending the wrong pages to unexpected destinations.
The Optimi SEO migration guide underscores the need to control URL changes and avoid chains or loops. "Permanent moves should use server-side 301 or 308 redirects which go directly to the final destination." The SEOS.co redirects guide is even more specific, calling for "sending each old URL directly to its closest relevant final destination" and updating self-referencing canonicals and sitemaps to list only the final URLs.
- The Optimi SEO site migration guide from Optimi (15 July 2026) specifies that migrations involving domain, subdomain, protocol, or path changes are controlled by a URL map, permanent redirects, canonical and hreflang updates, and a new sitemap, and that permanent moves should use server‑side 301 or 308 redirects which go directly to the final destination, avoiding chains and loops.
- The SEOS.co guide on redirects best practices (11 August 2026) states that best practice is to use 301 or 308 for permanent URL changes, 302 or 307 for temporary routing, and to send each old URL directly to its closest relevant final destination, with updated self‑referencing canonicals and XML sitemaps that list only final URLs.
Various SEO professionals and tools advise putting the redirects in place on the server, such as with.htaccess files on Apache or Nginx directives, where possible, rather than at the application layer. But if done in WordPress via a plugin, consider using a reputable 301 redirects tool that allows detailed, page-level mapping.
-The SupportHost step‑by‑step Joomla-to-WordPress migration tutorial (8 June 2026) directs users to configure WordPress permalinks via Settings → Permalinks, choose a URL structure, and save changes, then use the Redirection plugin via Tools → Redirection to add rules that map old Joomla URLs to new WordPress URLs.
Once those redirect rules are in place, they should be monitored closely. Optimi’s guide adds that the URL map and redirects configuration should be tested to ensure they are properly implemented. Routine checks of Search Console, 404 error reports, and server logs can reveal any improper redirects or broken URLs that need correction.
UPDATE INTERNAL LINKS, CANONICALS, AND SITEMAPS SO NOTHING IS ORPHANED
Building the redirects is a critical part of a Joomla-to-WordPress migration, but it’s not the only task to manage URLs during the transition. Even with redirects properly implemented, there are a few other housekeeping steps to ensure a smooth swap from Joomla to WordPress.
SupportHost’s migration guide explains one post-import task to help with URL updates: "Scan your imported content, find links pointing to your Joomla site, and update them to the correct WordPress URLs." The plugin used for migration often has a built-in link fixer, as described by SupportHost, but it’s worth verifying that all relevant Joomla links are correctly reformatted.
- The SupportHost step‑by‑step Joomla-to-WordPress migration tutorial (8 June 2026) directs users to configure WordPress permalinks via Settings → Permalinks, choose a URL structure, and save changes, then use the Redirection plugin via Tools → Redirection to add rules that map old Joomla URLs to new WordPress URLs.
- The SupportHost Joomla-to-WordPress guide explains that after importing content, the importer can “scan your imported content, find links pointing to your Joomla site, and update them to the correct WordPress URLs,” and separately recommends updating WordPress database URLs when moving from a subfolder (e.g.
yoursite.com/wordpress/) to root (yoursite.com/) so that internal references no longer point to the old path.
Under most circumstances, the goal is to point all internal links directly to the new WordPress URLs, not from the Joomla URLs in the redirect file. Optimi’s guide notes that redirects put in place to maintain the correct URL may be removed once indexing is complete. Removing the redirects may be worth considering after search engines have properly indexed the new URLs, and the new version has replaced the old in search results.
- The Optimi SEO site migration guide from Optimi (15 July 2026) specifies that migrations involving domain, subdomain, protocol, or path changes are controlled by a URL map, permanent redirects, canonical and hreflang updates, and a new sitemap, and that permanent moves should use server‑side 301 or 308 redirects which go directly to the final destination, avoiding chains and loops.
Two additional tasks to manage after a migration are updating canonical tags and refreshing the XML sitemap. Canonic tags should be checked to ensure they are self-referential, pointing to the new WordPress URLs, not to the old Joomla URLs. The XML sitemap also needs to be updated to reflect only the new structure, listing only the final, post-redirect WordPress URLs.
- The Optimi SEO site migration guide from Optimi (15 July 2026) specifies that migrations involving domain, subdomain, protocol, or path changes are controlled by a URL map, permanent redirects, canonical and hreflang updates, and a new sitemap, and that permanent moves should use server‑side 301 or 308 redirects which go directly to the final destination, avoiding chains and loops.
MONITORING, DURATION OF REDIRECTS, AND REALISTIC CONSTRAINTS
A Joomla-to-WordPress migration is not complete when the new site goes live. Rather, the URL transition is ongoing and should be monitored in the following months to ensure a smooth transfer. 301 redirects should be kept in place "at least a year" as recommended by InventiveHQ, possibly longer, to ensure that old or outdated links from external sources are still resolved properly.
- The redirects best‑practices guide on InventiveHQ (25 December 2024) states that during a site migration, teams should crawl and inventory every existing URL, map each old URL one‑to‑one to its closest new URL, implement permanent 301 redirects in a single hop, update internal links to point to the new URLs directly, keep redirects in place for at least a year, and monitor Search Console and server logs for 404s; it further notes that a correctly implemented 301 passes essentially all of a page’s ranking authority to its new address.
Keeping those redirects in place is critical, since an unknown percentage of your traffic may still be references coming through old links from external sites, bookmarks, or even internal storage. Redirects also help preserve ranking signals and carried over to the new URLs. But make sure those redirects are properly set up, with each old URL mapping to the closest relevant new URL, not just some catch-all page.
When monitoring a migration, check Search Console for crawl errors and 404s, as they will reveal any broken links, missing redirects, or misconfigurations. Also, routinely sift through server logs to spot any 4XX errors indicating unreceived requests. Google Search Console is also an important tool for tracking the migration itself, via its "Change of Address" function, which can be used to help Google index the new URLs more quickly.
- Google’s official “Site Moves and Migrations” documentation recommends starting a site move “by configuring the server to redirect from the old URLs to the new ones” and advises using “server side permanent redirects,” such as HTTP 301 or 308, when technically possible.
- In Google Search Console’s “Change of Address” help content, Google states that when changing some URLs, site owners “just need to use 301 redirects on the URLs that change,” adding “a 301 redirect for each old URL” so it automatically redirects to the new URL “with a 301 status code (ideally just in a single redirect).”
Remember that mapping Joomla URLs directly to WordPress URLs, with proper 301 redirects, doesn't guarantee a 100% transfer of rankings or usability. Google’s documentation acknowledges that some impact is likely even with a well-controlled migration:
"A site move is a common cause of web traffic loss. You can reduce the negative effects of a site move by following best practices. However, even if you follow these recommendations, it's possible that your traffic will not return to its previous levels for a while, or at all."
- Google’s official “Site Moves and Migrations” documentation recommends starting a site move “by configuring the server to redirect from the old URLs to the new ones” and advises using “server side permanent redirects,” such as HTTP 301 or 308, when technically possible.
The Joomla-to-WordPress migration process, while being URL-sensitive, also involves subdomain and protocol changes under the hood. For most site owners, migrating to WordPress is a combination site move, involving all of those factors: changing the CMS, adjusting the URL structure, likely moving from a Joomla subdomain or subfolder, and possibly switching protocol from http to https along the way.
- Google’s “Making site moves easier” blog post (6 June 2014) distinguishes between site moves without URL changes, where only the infrastructure changes and URLs remain the same, and site moves with URL changes, where protocol, domain, or URL paths change—for example, changing from
https://example.com/page.php?id=1tohttps://example.com/widget—and treats these scenarios differently in terms of migration and monitoring.
When URLs do change, either globally or on a page-by-page basis, Google’s best practice is to use 301 redirects to direct the old URLs to the new ones, as previously noted. But those redirects are not permanent; they should be taken down after a certain period. The FG Joomla to WordPress plugin’s auto-redirect feature may offer a solution, but its documentation lacks details, and the assumed forever-lasting nature of 301s gives us an opportunity to clear up potential misunderstandings.