Treat K2 as a distinct source model
K2 items are not guaranteed Joomla core articles. Use the dedicated connector and inventory K2-owned tables, relationships, configuration, plugins, and overrides before selecting a WordPress destination.
Inventory every K2 entity and dependency
Count items, categories, tags, extra fields and groups, images, galleries, attachments, authors, comments, aliases, states, featured values, access, languages, and menu routes. Identify custom tables and plugins outside the standard connector.
Choose the WordPress model before loading
Decide which K2 item groups become posts, pages, or custom post types. Prepare taxonomies, fields, users, comments, media ownership, status rules, languages, SEO storage, and permalinks.
Map fields and relationships by stable keys
Map category hierarchy, tags, authors, dates, state, featured behavior, access, language, comments, and item relationships. Map extra fields through stable source keys and field types; document unsupported or transformed values.
A stable connector does not remove mapping work.
Transfer images and attachments with ownership
Discover item images, inline images, galleries, and attachments; validate each file; upload accepted assets; connect destination IDs; rewrite references; and record missing or rejected files.
Reconstruct K2 routes and validate complex samples
Crawl public K2 URLs because aliases, categories, menus, Itemid, languages, plugins, and router behavior can affect them. Dry run representative field groups, nested categories, attachments, comments, and routes before full loading.
Reconcile K2-specific counts and validate rendering, relationships, media, URLs, redirects, and exceptions.
Connect K2 work to the full Joomla plan
Template overrides, plugins, modules, forms, search behavior, and frontend application logic require separate implementation. Continue with the migration scope, Joomla vs WordPress comparison, core import guide, K2 guide, redirect and SEO guide, and cost guide, plus the mapping and validation guides.