What Gets Migrated
K2 Items → Joomla Articles
The following K2 item fields are mapped to Joomla article fields:
- title → article title
- alias → article alias (URL slug)
- introtext → article introtext
- fulltext → article fulltext (if K2 fulltext is empty, introtext is intelligently split at the
<hr id="system-readmore">tag) - catid → mapped to the corresponding migrated Joomla category
- published → article state (published, unpublished, trashed)
- featured → featured flag
- created / created_by → article created date and author
- modified / modified_by → article modified date and editor
- publish_up / publish_down → scheduled publishing dates
- metadesc / metakey → meta description and keywords
- ordering → article ordering
- hits → article hit count
- access → access level
- language → language assignment
K2 Categories → Joomla Categories
- Full parent-child hierarchy preserved
- name → category title
- alias → category alias
- description → category description
- published → category state
- access → access level
- language → language assignment
- Idempotent: existing categories with matching alias + parent are reused, not duplicated
K2 Tags → Joomla Tags
- Tag names and aliases are migrated
- Tag-to-article associations are preserved via
#__contentitem_tag_map - Only published tags are migrated
K2 Extra Fields → Joomla Custom Fields
- Field groups → Joomla custom field groups (scoped to com_content)
- Individual fields → Joomla custom fields with mapped types
- Field values → per-article field value assignments
- Media URLs inside field values are rewritten to the new image path
K2 Images → Joomla Images
- Item images are copied from
media/k2/items/to the configured image base path - All
media/k2/paths in article content and field values are rewritten - image_caption → mapped to Joomla's intro/fulltext image caption fields
- image_credits → mapped to Joomla's intro/fulltext image alt text fields
K2 URLs → 301 Redirects
- For each migrated item, two redirect entries are created in
com_redirect: - ID-based URL:
/component/k2/item/123→ new Joomla article URL - Alias-based URL:
/component/k2/item/my-article-title→ new Joomla article URL - Redirects use 301 status (permanent redirect) for SEO preservation
- All redirects are tagged with "MigrateK2 Pro" comment for clean rollback