Joomla → WordPress

Joomla to WordPress migration

Analyze and move supported Joomla content into a prepared WordPress site through explicit mapping, a dry run, validation, and controlled cutover. Joomla and K2 have stable app connectors, while every installed extension and destination feature still needs its own coverage decision.

Self-service migration path

Start with your actual Joomla data

Source and target connectors are available. joomla: Available. wordpress: Available. Review system status and directions. Available migration objects and capabilities depend on the selected source and target systems.

Create an account, connect a staging destination, and let the app analyze the supported scope for this direction.

No credit card required to analyze the migration and run a free sample.

Scope

What can move and what needs review

The app confirms available entities after connection. Final coverage depends on source access, downloadable assets, and the destination model you prepare.

Supported scope

  • Core articles, authors, nested categories, tags, publication state, dates, aliases, metadata, and menus exposed by the selected connector
  • WordPress posts, pages or custom post types, users, taxonomies, comments, menus, media references, slugs, and supported SEO fields

Confirm after connection

  • Custom fields, access levels, featured and archived states, multilingual associations, contacts, media paths, comments, and menu routing
  • Joomla version and connector coverage, destination ACF or block model, SEO plugin storage, and extension-owned records

Separate or custom work

  • EasyBlog, Zoo, directory, ecommerce, membership, form, or other component-specific extraction outside the configured Joomla and K2 connectors
  • Module/plugin behavior, bespoke transformations, destination integrations, and visual reconstruction

Before you connect

Access requirements

Use a staging destination and the least-privilege access supported by each platform. Do not send credentials through a public form.

Joomla source access

Provide the staging-safe Joomla URL and approved API token or compatible Migranetix Bridge credentials. Required articles, users, fields, categories, tags, comments, menus, languages, and metadata must be visible.

Joomla inventory

Provide the Joomla version, enabled components, plugins and modules, database prefix where relevant, multilingual configuration, menu structure, URL settings, and a list of business-critical extension data.

WordPress staging access

Provide the staging URL, migration user, and Application Password. Prepare destination post types, taxonomies, fields, SEO storage, multilingual plugin, menus, and Bridge before production loading.

How it works

From connection to full migration

You control each stage in the app. Optional expert assistance is available for custom data or destination requirements.

01

Choose Joomla and WordPress

Start in the app and select the real source and target.

02

Connect both systems

Authorize read access to Joomla and connect a prepared staging WordPress destination.

03

Analyze the source

Review detected records, available entities, media, URLs, and anything that needs a decision.

04

Confirm the mapping

Choose where supported Joomla data belongs in the prepared WordPress model.

05

Run a free sample migration

Move a small set of real records to staging and inspect the result before purchasing the full migration.

06

Validate and launch

Review counts, records, media, links, warnings, and exceptions, then purchase and start the full migration when ready.

Technical detail

Platform-specific migration notes

Open only the detail you need for planning, mapping, or validation.

Current app compatibility

This page is synchronized with the stable Joomla capability and WordPress destination snapshot. Both platforms are enabled in both directions, with version-specific Joomla API or Bridge access selected during discovery.

Joomla source coverage

The current catalog exposes Author, Category, Comment, Content, Menu, MenuItem, Tag. Core articles, authors, taxonomy, comments, menus, and menu items are reviewed separately from extension-owned tables and behavior.

WordPress destination coverage

Authenticated REST and versioned Bridge adapters support a prepared WordPress content model. Wider custom-type, field, comment, menu, media, and SEO coverage depends on destination configuration.

Joomla to WordPress compatibility matrix

Standard means the current connectors expose a direct structured path. Review means routing, extensions, language, or destination configuration affect the result. Custom means the Joomla concept has no safe generic WordPress equivalent.

Joomla sourceWordPress targetStatus and boundary
Core articlesPosts, pages, or prepared custom post typesStandard with modeling: article context and destination architecture determine the final type.
Introtext and fulltextExcerpt and post contentStandard with transformation: approved markup is combined without preserving template chrome or plugin output.
Authors and created_by valuesWordPress users and post authorsStandard with identity review: profiles and authorship can map; credentials and authentication do not transfer automatically.
Nested categories and tagsCategories, tags, or custom taxonomiesStandard: parent terms are loaded before children and article relationships.
Custom fieldsPost meta, ACF, blocks, or plugin fieldsReview: field group, type, repeatability, value format, and destination storage must be mapped explicitly.
State, featured, access, and languageStatus, sticky behavior, visibility, and multilingual fieldsReview: Joomla values do not have one universal WordPress equivalent.
Aliases and menu-dependent routesPermalinks and redirect rulesReview: SEF paths and Itemid context require a crawl-backed URL map rather than alias-only conversion.
Menus and menu itemsWordPress menus and menu itemsStandard with route review: hierarchy and labels can map after destination links and object IDs exist.
Images, documents, and media pathsWordPress media and rewritten referencesReview: files must be discoverable, downloadable, accepted, uploaded, and relinked.
CommentsWordPress commentsReview: the app exposes a comments entity, but real Joomla sites commonly store discussion data in extensions that need specific extraction.
Multilingual associationsConfigured WordPress multilingual modelReview: language tags, associations, menus, URLs, fallbacks, and destination plugin behavior must be validated together.
Components, modules, plugins, templates, and positionsPlugins, blocks, theme templates, or custom codeRebuild/custom: application behavior and presentation do not transfer as article records.
Example Joomla to WordPress mapping rules

The approved rules distinguish core article data from routing and extension behavior while preserving source identity for validation and reruns.

Joomla valueMigration ruleWordPress result
Article ID and aliasPreserve source identity and normalize the approved destination slugStable ID map, post slug, and rerun lookup
Title, introtext, and fulltextMap introtext to excerpt and combine approved body markup without template outputPost title, excerpt, and content
Category ID, path, and parentCreate terms in hierarchy order and resolve destination IDsCategory or custom-taxonomy relationship
Tag IDsNormalize, deduplicate, create, and resolve after taxonomy loadingWordPress tag relationships
created_by and created_by_aliasMatch an approved user or apply the documented guest-author fallbackWordPress author assignment
State, access level, featured, and languageTranslate through the approved editorial and multilingual matrixStatus, visibility, sticky behavior, and language relationship
Menu route, Itemid, and article aliasCrawl the resolved public URL and pair it with the final destinationPermalink plus one-to-one redirect requirement
metadesc, metakey, and metadata JSONExtract supported values and map only approved SEO fieldsDestination SEO metadata or documented exclusion
Separate Joomla core content from extension data

A Joomla site can look article-driven while important records actually live in component-specific tables and routes. Discovery must identify ownership before estimating portability.

Inventory core records

Count articles by category, state, access, language, author, field group, tag, media use, and menu exposure.

Identify extension ownership

Treat K2 as a separate stable connector with its own mapping, then list EasyBlog, Zoo, ecommerce, directory, membership, comments, forms, contacts, and custom components with their business-critical records.

Model the WordPress destination

Approve post types, taxonomies, fields, author policy, multilingual storage, status translation, SEO plugin, and handling for archived or unsupported records.

Load dependencies first

Create users, terms, media, and reusable records before articles, comments, associations, and menus resolve destination IDs.

Rebuild Joomla URLs from resolved routes, not aliases alone

Joomla SEF URLs can depend on menu items, category paths, language prefixes, router behavior, and extensions. The live crawl is part of the migration contract.

Crawl all public route variants

Capture canonical URLs, menu aliases, Itemid-dependent paths, category routes, language prefixes, pagination, feeds, and priority inbound links.

Approve WordPress permalink rules

Define final post-type, taxonomy, language, collision, and trailing-slash behavior before generating redirects.

Map metadata deliberately

Translate supported article metadata into the selected WordPress SEO storage and validate template output, canonicals, Open Graph values, and sitemap inclusion.

Test redirects and links

Verify one-to-one destinations, chains, loops, query handling, internal links, media references, menus, and high-value landing pages before and after launch.

Validate Joomla articles, taxonomy, menus, and extensions

A completed importer is only one signal. Acceptance compares the approved source baseline with loaded records, resolved relationships, rendered pages, and URL behavior.

Reconcile by dimension

Compare source, extracted, transformed, loaded, skipped, failed, published, archived, and multilingual totals by type, category, language, and extension.

Inspect representative records

Check long articles, custom fields, nested categories, tags, guest authors, access levels, featured content, multilingual associations, comments, and media-heavy pages.

Verify relationships and navigation

Confirm authors, term hierarchy, menus, menu items, comment parentage, translated records, source-to-target IDs, and repeatable reruns.

Crawl and monitor

Validate rendering, assets, internal links, metadata, canonicals, redirects, sitemap coverage, analytics, and documented exceptions through stabilization.

Technical references

Before purchase

Verify real output in staging

The free sample migration creates a limited set of records in staging. Check fields, relationships, media, URLs, rendering, and reported exceptions before paying for the full run.

Pricing

One migration, one-time payment

Package fit depends on supported record volume and complexity. Analyze the source first, then review the fixed package or dynamic estimate shown for the migration.

Compare migration packages

Plan the move

Joomla to WordPress guides

Joomla vs WordPress

Compare content modeling, multilingual architecture, extensions, ownership, costs, and migration tradeoffs.

Open guide →

Import Joomla to WordPress

Plan core articles, users, taxonomy, fields, media, menus, metadata, URLs, dry runs, and validation.

Open guide →

K2 to WordPress migration

Map K2 items, categories, extra fields, media, authors, comments, and routes through the separate connector.

Open guide →

Joomla redirects and SEO

Build crawl-backed URL mapping, redirects, metadata checks, and launch monitoring into scope.

Open guide →
More migration planning guides

Clear answers

Frequently asked questions

Yes. Each article group is routed to an approved post, page, or custom post type based on destination architecture rather than its menu placement alone.

K2 has a separate stable app connector, but it still needs field and relationship mapping into WordPress. EasyBlog, Zoo, and other components require source discovery, transformation rules, validation, and separate scope.

Menu hierarchy can be mapped, but Joomla URLs may depend on Itemid, category paths, language, and router behavior. Final WordPress links and redirects come from a crawl-backed URL map.

Yes when their types, groups, repeatability, values, and destination fields are inventoried and mapped. Complex or plugin-rendered fields can require transformation.

Authors and approved profiles can map. Password hashes, access levels, roles, SSO, and authentication behavior require compatibility review and are not assumed.

Yes when language tags and associations are accessible, but the WordPress multilingual plugin, translated slugs, menus, fallbacks, and publishing rules must be prepared and tested.

No. Their content dependencies are reviewed, but layouts, positions, forms, integrations, and application behavior require WordPress-native implementation.

Reconcile records by category, state, language, and source owner; inspect complex samples; verify relationships; crawl routes; test redirects and metadata; and document exceptions.

Next step

Assess your Joomla to WordPress migration

Create an account, select Joomla and WordPress, and use the app to analyze supported scope, mapping, and validation requirements.