Knowledge Base Pro lets you export all articles in three formats and re-import them from a Markdown ZIP. All export and import actions are available under Knowledge Base → Tools.

All three export formats include articles with a status of published, draft, or private.

Export formats

Markdown ZIP

Downloads all articles as individual .md files with YAML frontmatter, packaged in a single ZIP archive. Each file is named after the article’s slug (for example, getting-started.md).

The Markdown content is generated by the same converter used by the GitHub integration, so the exported files are fully compatible with the Markdown importer and can also be committed to a GitHub repository and synced back via webhooks.

The YAML frontmatter in each file includes: title, slug, status, sections, tags, and products. The order field is included only when it is non-zero.

Requires the ZipArchive PHP extension.

SQL ZIP

Downloads a .sql file inside a ZIP archive containing INSERT statements for:

  • Posts (wp_posts)
  • Post meta (wp_postmeta)
  • Term relationships (wp_term_relationships)
  • Term taxonomy (wp_term_taxonomy) — restricted to wzkb_category, wzkb_product, and wzkb_tag
  • Terms (wp_terms)

This format is intended for direct database migration between two WordPress installs that share identical table structures and term IDs. It is not suitable for merging into a site that already has KB content, as it uses INSERT rather than INSERT … ON DUPLICATE KEY UPDATE.

Requires the ZipArchive PHP extension.

XLSX spreadsheet

Downloads article metadata as an Excel spreadsheet (.xlsx). No article content is included. Columns:

ColumnDescription
TitlePost title
SlugPost slug
StatusPost status (publish, draft, private)
Menu OrderNumeric sort order
SectionsSemicolon-separated section slugs
TagsSemicolon-separated tag slugs
ProductsSemicolon-separated product slugs

Useful for auditing your article inventory in a spreadsheet application without needing direct database access.

Importing articles

Only Markdown ZIP files can be imported. The importer accepts ZIP archives in the same format produced by the Download Markdown ZIP button.

How articles are matched

Articles are matched to existing posts by slug. The slug is read from the slug field in the YAML frontmatter. If no slug field is present, the importer uses the filename (without the .md extension) as the slug.

Overwrite option

The Overwrite existing articles checkbox is checked by default. With it checked, any article whose slug matches an existing post is updated. Uncheck it to skip articles that already exist and only create new ones.

Supported frontmatter fields

FieldDescription
titleArticle title. Falls back to the slug if not set.
slugPost slug used for matching and creating the post.
statuspublish, draft, pending, or private. Defaults to publish.
orderMenu order (integer). Defaults to 0.
tocSet to true to insert a Table of Contents block at the top.
sectionsArray of section names to assign (wzkb_category).
tagsArray of tag slugs to assign (wzkb_tag).
productsArray of product slugs to assign (wzkb_product).

Taxonomy handling

Any section, tag, or product listed in the frontmatter that does not already exist on the site is created automatically during import.

Sections support path notation for hierarchical assignment. For example, "Getting Started/Installation" will find or create a top-level section called “Getting Started” and a child section called “Installation” beneath it. Matching is parent-aware, so two sections with the same name under different parents are treated as distinct terms.

Requirements

The importer requires the ZipArchive PHP extension. If it is not available, an error is shown and no import is performed.

Who can export or import

All export and import actions require the manage_options capability (WordPress Administrator by default).

Was this article helpful?

Leave a Reply

Your email address will not be published. Required fields are marked *