HelpWP ships first-party importers for the most common knowledge-base and ticketing plugins on WordPress. Migrations are batched, resumable, and idempotent.
Supported sources
| Source | Slug | Brings in |
|---|---|---|
| BetterDocs | betterdocs | Articles + doc_category -> docs + topics. |
| weDocs | wedocs | Container pages -> topics. Leaf pages -> docs. |
| Echo Knowledge Base | echo_kb | All KBs (articles + categories + tags) -> docs + topics. |
| BasePress | basepress | knowledgebase + knowledgebase_cat -> docs + topics. |
| Awesome Support | awesome_support | Tickets, replies, attachments, products, departments. |
Run the migration
- Make sure the source plugin is installed and active (the migrator needs its CPT and taxonomies registered to read them).
- Go to HelpWP -> Settings -> Migration.
- Find the source plugin in the grid. If it shows Migrate, click it.
- The page shows live progress: number of posts processed, batch number, percent complete.
Each batch processes a small number of items, then yields control back to the page so a long migration does not time out. If the page is closed mid-migration, reopening it picks up where it left off.
Idempotency
Every imported post is tagged with a meta key like _helpwp_migrated_from_betterdocs. Re-running the migration skips items that already have that meta – it never creates duplicates. Useful if you want to migrate periodically while you transition.
Roll-back / clean up
Each source has a Clean Up button beside its Migrate button. Clicking it deletes every HelpWP post that has the matching _helpwp_migrated_from_* meta. Your original content (the BetterDocs articles, the Awesome Support tickets, etc.) is untouched.
What gets mapped
| Source field | Target |
|---|---|
| Article body / content | helpwp_doc.post_content |
| Article title | helpwp_doc.post_title |
| Category / section | helpwp_topic term |
| Tag (where applicable) | (kept in source, not migrated) |
| Featured image | Featured image on the HelpWP doc |
| Awesome Support ticket | helpwp_ticket.post |
| Awesome Support reply | Comment on the HelpWP ticket |
| Awesome Support attachment | Comment attachment on the HelpWP ticket |
| Awesome Support product / department | helpwp_product / helpwp_reason |
After the migration
Two things to do once the dust settles:
- Click Sync under Settings -> AI if you use the AI features. The newly imported docs are not in the vector index until you sync.
- Verify URL structure. If your old plugin used a different docs URL, set the right structure under Settings -> Docs -> Permalink and add 301 redirects from the old URLs (any redirection plugin will do).
Was this doc helpful?