---
title: "Author in DITA, publish with WordPress"
date: 2014-08-19
description: "Author in DITA, publish in WordPress   1.0 Import DITA Webhelp Output into WordPress  1.1 → Author..."
canonical_url: https://idratherbewriting.com/2014/08/19/author-dita-publish-wordpress/
---
# Author in DITA, publish with WordPress
In a nutshell, here's the main idea: structured authoring tools are great for *authoring* content. Web platforms are great for *publishing* content. My plan is to leverage the best of both worlds by creating content using an XML editor like OxygenXML, and then publish it to a platform like WordPress. 

## Tech comm is great at authoring

Unquestionably, authoring content with a tool like OxygenXML or another editor is preferable to authoring in a web CMS. Every web-based CMS that I've ever used — WordPress, Joomla, Drupal, Google Docs, and even Mediawiki — have all been less than desirable for creating and editing content. These platforms make it easy to publish content, but when you're writing book length material (that is, 100+ pages of a technical guide), you have greater authoring needs. 

If you try authoring all your content in an online CMS like WordPress, you'll soon be pulling your hair out. Here are a few frustrations that happen if you try to authoring your content in WordPress:

- If you have to create, delete, rename, and move around many pages frequently, it's going to be really tedious doing this in a web-based CMS. For example, if you want to delete a page, you can't just drag the file into the trash. You have to go to your list of pages, find the page, click the delete button below it, and eventually empty it out of the trash so that the permalink the page was using is freed up. And with each navigation point, the site has to load for 1-2 seconds. When you make hundreds of these little edits every day, it makes authoring really cumbersome.

- If you add a code sample with angle brackets in Text mode, and then switch to Visual mode and back to Text mode, the rich text editor will remove the code.

- If you try to add list formatting with the Visual editor, you end up wrestling it when you try to account for lists broken up by notes, screenshots, subsets, results, and so on. If you switch to straight HTML authoring, it's hard to keep all the tags straight (remembering whether to close or not close a list item based on whether there's a paragraph or image following it, and such). Plus, writing everything directly in HTML is simply cumbersome (this is why Markdown is such a popular syntax for HTML writers).

- You can't see prompts about what tags are allowed at different points in your document, nor can you see prompts about the allowed attributes and values for each element. You also can't troubleshoot invalid content by looking at prompts listing reasons for errors.

- You can't link topics with each other in ways that update automatically even if the other file name changes.

- If you need to do a find and replace across all files, you have to do a database query. (Also, you better hope you get the syntax right or you'll see all kinds of funky character codes in your content.)

- If you ever need to publish a full PDF, good luck. Almost no WordPress tools are designed to create a PDF from anything more than a single page.

- You have to be online the whole time to write and edit content. If your browser freezes, your wifi goes offline, your computer goes into sleep mode and shuts off your wifi, or if you're on a plane or somewhere where there isn't wifi, your productivity drops.

- You can't easily re-use content for different audiences. If you have a publishing solution requiring any degree of complexity, such as creating six different outputs (2 products across 3 programming languages each), you will struggle using WordPress. Imagine having to update the same paragraph on six different WordPress sites. You just can't keep so many sources in sync manually. Instead of re-using content for different audiences, with web formats you see a lot of tabbed interfaces that show different programming language snippets or which explain different version notes integrated into the same page for all products.

- You can't enforce a specific structure. This means that across writing groups, the content will be less consistent and predictable.

Overall, if you attempt a large scale, complex authoring effort in a platform like WordPress, which is really designed for writing standalone blog posts, you're setting yourself up for frustration.