Joomla and WordPress model content closely enough that an importer looks like the whole job, and differ enough that the parts it skips are the ones people notice.
Articles and categories map reasonably well. Everything built on top of them does not.
Joomla nests categories freely and an article sits in exactly one. WordPress posts take many categories and themes rarely render deep trees, so the hierarchy needs a decision before import.
Joomla's SEF routing produces paths WordPress would never generate, often with an article id in them. Adopting WordPress defaults changes every address the site has ranked for.
The two hash passwords differently, so accounts transfer but credentials cannot. Every user resets on first login, and planning that email is part of the migration.
K2, Phoca, JEvents and the rest have no WordPress equivalent to import into. Each is a functional gap until something is chosen to fill it.
Images live under a different directory layout and are referenced with Joomla-specific paths. Left alone, the library imports and the articles still point at nothing.
The importers available will move articles. What they will not do is make the decisions about hierarchy, URLs and extensions that determine whether the result is maintainable.
Most Joomla sites being migrated have years of accumulated extensions behind them, and leaving that weight behind is much of the speed gain.
These differ from a standard WordPress site on the same plan, and each follows from two content models that resemble each other without matching.
| Setting | What we do | Why |
|---|---|---|
| Category mapping | Tree depth reviewed and reduced before the first import | Joomla nests categories without limit and assigns each article to exactly one, while WordPress allows many per post and most themes stop rendering usefully a few levels down. |
| URL preservation | Joomla SEF patterns reproduced with rewrites rather than replaced by defaults | SEF routing produces paths, often containing an article id, that WordPress would never generate, so accepting the defaults changes every ranking address at once. |
| User accounts | Imported with a forced reset and a planned notification | The two systems hash passwords incompatibly, so credentials cannot transfer and an unannounced reset arrives as a wave of support requests instead of an expected email. |
| Extension replacements | Chosen and installed before launch, not after | K2, JEvents and similar extensions have nothing to import into, so each one is missing functionality from the moment the site goes live unless it was planned for. |
| Media references | Rewritten from Joomla's directory layout to the media library | Article bodies reference images by Joomla-specific paths, so importing the files without rewriting the references leaves a library full of images no page displays. |
Every plan includes free migration, daily backups, SSL and 24/7 support.
Free migration, a category tree mapped by a person, and every SEF address preserved.