I'm working on a project for a monthly InDesign-based magazine that enables them to put their content online via WordPress.

The current workflow is either:

  1. Copy/pasting from InDesign to a Word document (by the magazine staff with access to InDesign) and then copy/pasting from Word to the various fields in WP (by an intern without access to InDesign but access to Word)

  2. Create a CSV that contains all of the post data and use CSV Importer to import to WordPress.

Thus, I have two questions:

  1. Is there a better InDesign => WordPress workflow than the ones I discuss above?
  2. If not, what a good way of pasting a large amount of multi-line HTML data into a spreadsheet?

Massive gratitude to anyone who can help with this.

Edit: The solution I'm looking for involves as little InDesign-side work as possible. I'll spend a month writing an XMLRPC plugin for InDesign from scratch or something similarly stupid if it means not having to retag page elements for a decade worth of issues -- so long as that really is the best possible route.

  • Have you ever played around with HTML export? You can export multiple pages into one HTML file.
    – hakre
    Commented Feb 8, 2011 at 23:24
  • A little -- I need the ability to import custom fields, which I don't think the HTML Importer plugin has. Ultimately, it seems like doing so would be more work (Especially for the InDesign staff, who should have extra work on their end kept to a minimum -- excluding the possibility of a "direct from ID=>WP" plugin that avoids the need for low-paid interns to do menial data entry).
    – aendra
    Commented Feb 8, 2011 at 23:44
  • 4
    Ewww! Please, whatever you do, don't run anything through Word before you move it onto the web. Word generates some of the worst HTML/CSS I have ever seen. It makes my eyes bleed just to look at it. Commented Feb 9, 2011 at 5:27
  • @Peter -- Well, okay; but I still need some interim stage between InDesign and the import stage (regardless of whether that be directly to WP or through CSV beforehand). Instead of griping about Microsoft, mind suggesting a rich text editor that will paste into either Excel or WordPress as standards-compliant HTML?
    – aendra
    Commented Feb 9, 2011 at 5:44
  • @aendrew: I know you need something, but I don't have anything to offer in this area. I just know how much work it was to clean things up after a client brought in a boat-load of Word-originated copy. In the end it would have been less work to just type it in again. Seriously. Commented Feb 9, 2011 at 6:05

3 Answers 3


Afaik: There's a (hidden?) button for TinyMCE that cleans up stuff imported from MS Word. You click the button insert (copy/paste) the stuff from Word and TinyMCE should do the rest.

Second: You can export as XML from InDesign. Why not use that? Pulling in XML data should be much easier. I'm pretty sure that you could also add a new table in DB for the XML content and pull that instead of the_content();. Adding some meta box (or just use custom fields) to upload the xml file to DB would be as easy as disabling the editor could avoid a lot of trouble.

  • 3
    I would second the XML route. But I don't think you should keep the XML in a separate table: write an importer that reads the InDesign XML export, and converts it to WordPress posts. Release it to the world, so others can use and improve it :-) If you're really adventurous, turn your workflow around so that you do the editing and proof-reading in WordPress, and then link to XML versions of the WordPress articles in InDesign (this is a Drupal example, but it can work for WordPress too).
    – Jan Fabry
    Commented Feb 9, 2011 at 11:23
  • @Jan: Doesn't WP already export/import via XML? I'm sure that the Importer Plugin could also be configured/extended to do what Aendrew needs. Btw: Good link. Maybe there's even more information on the web how the "live" update from InDesign could be done. I'm pretty sure that the Drupal module is a good reference... +1 your comment.
    – kaiser
    Commented Feb 9, 2011 at 11:55
  • @kaiser: Indeed, there are importers for multiple sources, but I don't think the specific schema that InDesign uses is supported. For reference: a similar question on the WP.org support forums.
    – Jan Fabry
    Commented Feb 9, 2011 at 12:06
  • 1
    @Jan: With InDesign Preferences you can adjust that to your needs (see ex. @CS4_root/Adobe InDesign CS4/Required/XML.required). Afaik Adobe builds their products modular, so maybe you can once create the needed preferences (ex. separating style and mark-up, class names, etc.) and then just overwrite them on any company installations of ID. This would avoid trying to compensate different preferences on different workspaces. Anyway i ain't got enough time to work out a sollution (don't need it myself), but i think it's easy to adjust the WP core import plugin.
    – kaiser
    Commented Feb 9, 2011 at 12:26
  • I did this with RSS awhile back -- while it worked fairly well, the lack of structure in the InDesign file (I.e., they just toss text boxes on page without any care to item hierarchy) meant that the bulk of the importing work is done in InDesign. Apologies I wasn't more clear -- I'm trying to find a solution with as little extra work in InDesign as possible (Only select staff have access; is expensive; difficult to train; absolutely sucks in terms of forward/backwards compat).
    – aendra
    Commented Feb 9, 2011 at 17:21

If it was me, I would worry more about the ability to get content out of InDesign, and not getting content into WordPress. Assuming you script data from an InDesign file into a middleware connector (PHP or anything else really), I think XML-RPC would definitely be the way to go to get that content into WordPress.

Aside from that API being fully flushed out for all your WordPress publishing needs, using XML-RPC would have the added bonus of perhaps supporting other publishing platforms without needing to rewrite any code.


My boss decided it'd be way easier to outsource the content importing to an outsource group in India. In reality, I think that's probably the best solution for this kind of thing.

I'm asking the mods to make this a community wiki question; seems like a common enough problem that it deserves a list of solutions instead of just one answer.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.