Blog, wiki, CMS... which one is the right for me ?

(For now, these are only notes for myself).

I have used wordpress, tikiwiki, MoinMoin, wakkawiki, drupal, mediawiki, and have had a look at Joomla and used SPIP as a user (that is, I wasn't the website maintainer).

A historical prolegomena (you may want to skip this part)

In the dawn of the Internet, there was no web. There was no Firefox, or Internet Explorer or Chrome or Opera, nothing. You didn't publish on the Internet at that time, you sent messages, using the mail, the news, etc... Or you put documents in any format on a server (like FTP) and you would tell other people, by sending messages to them, to come and have a look. There was no strong link between two documents, no link at all in fact. That was the infancy, and it was the end of the 80's.

Then came the Web, and it opened a new era in the internet, the adolescence we could say. Soon came the search engines (like Alta-vista, followed by Google). And then, you could publish things, by putting them on the web, and people interested in your subject could come to it. However, at that time that was done with a text editor (I was using emacs) and you uploaded them using FTP to a web server. That was the 90's.

During the first decade of the 21st century, software came out to help doing things differently, using the web as an infrastructure, and they changed the way documents are written in two ways:

  • They helped writing documents with new structures. Before that, the structure of document was basically linear, that is, they could be read from the beginning to the end. If you had too many cross-references, that was considered, and still is, considered a bad practice, because you, as an author, disturbed the concentration of you reader.
  • They helped gathering many people around the same document, giving to collaborative writing a new dimension.

I don't care, I want to write web pages

Basically, you find three kinds of software:

  • blog: for example, wordpress
  • wiki: for example, MoinMoin or wakkawiki (as software). Wikipedia is the most prominent example of a hugely successful wiki.
  • CMS: they try to do many things, for exemple tikiwiki, or drupal.


The idea of a blog is, well, that of a log (a journal).

The idea is that you write several more or less autonomous or self-contained pages, in chronological order. Pages are timely: you write to react to the news, to tell what you've done or how you're feeling today. Blogs are more individual that are wikis or CMS. You can have several peoples blogs integrated on the same site, but each blog is usually highly personal, the idea is not to have many people collaborating on a common chef d'oeuvre.

Usually, a blog is very quick to set up (this is an explicit goal, for example, in wordpress or typepad). You don't need to learn anything to work with them. You feel the impulse of writing, the tool shouldn't be in your way. You just type what you have to say in a window, click on "submit", and that's it, the world can read you.

Usually, you don't change a page on a blog when it's written (except for typos). If you have something more to tell in a blog, you write a new entry. This is very much like your personal journal. Let's say you write on Monday "I'm in a bad mood, and I think bars should close at ten". If on Tuesday you think the opposite, you won't erase Monday's entry, you just write "I'm in a good mood today, and I've given a second thought, being out with friends at midnight is cool".


Wiki, on the other hand, are highly anti-chronological. The accent is put as much on the relations between pages than on the content of any individual page. Thus, the tools to work on links are central. For example there are tools to find what pages link to a particular one, what pages have no link to, what links are dangling. The flow is such that you write a page describing an object or an idea, and you write all along in the simplest possible way the links to pages that describe connected ideas or objects, even if these pages don't exist yet. You, or someone else, will come later to fill in the blanks.

Wiki may be much more collaborative than blogs are. You can write pages linking to other pages that you haven't written, and conversely people may link to your pages. Pages can evolve over the time and been edited by various people. [Tell something about versioning here]

Wiki may be used to model some part of the world. For example, if you're an activist, you may set up a web site keeping track of the actors of your particular domain, with a page for each people, each organization, each action, keeping track of who does what and keeping the site up-to-date as things change.

Wiki are a bit more difficult to use than blogs, because you usually have to learn a bit to use them: the language used to describe the pages and the tools to work with the links and the structure. But developers of wikis are fighting to try to keep this learning minimal, so you can start a wiki in a few dozen of minutes.

[Giving a particular structure such as a book may be a bit tedious though]


CMS (Content Management Systems) do two things that are not necessary primary goals of blogs and wikis.

First, they are tools to publish informations on the web in a professional, or advanced manner. Thus, although any tool can do anything with a bit of work, if form matters also (as opposed to only content), you may be tempted to use a CMS. CMSs help you to put menus, side bars, customized looks depending on the section or the user, voting systems, and so on.

The second thing that CMS try to do well is to give and describe complex structures in your content. For example, let's say that you're in a computer production environment, and you want to set up a web site keeping track of the list of the computers, the various operations that are done, what computer does what, what modifications were introduced on what computer, what are the recurring tasks that need to be done and so on.

At first, you may give a wiki a try. The good point is that you may have something working very quickly. However, as things evolved, you may find two things. First, the description of the relations between the entities (computers, tasks, operations and so on) are easily described in a wiki, but the journal of the operations made on each computer would better fit the blog format, so you need a tool able to do both (computer professionals keep track of the modifications made to computers, so that when an unexpected behavior occur, they have a better chance to track it back to some modification).

The second thing is that you may want to have good insurance that every information has been put, for example, for each page describing a computer, you want to be sure that the operations it performs, the daily tasks to do, and so on, have been at least described. You're looking for something complete here, unlike the case of the activist, where, by essence, the available information is always incomplete.

So you usually end up in your wiki with many template pages filled with comments that goes like "Don't forget to link this page to tasks, operations, and a link to the service company", and several naming rules to structure the informational space. If you're caught in this situation, where you're trying to described highly structured data (as opposed to loosely structured data, that the wiki is comfortable with), may be it's time to give the CMS a try. CMS as a framework

CMS tend to be framework, rather then final tool. This is best examplified by drupal. Drupal isn't a blog, a forum, a wiki or whatever, it is a framework into which many modules plug in to give the wanted feature. So you have module for making blog-like entries (called stories in drupal jargon), forums, modules that make writing pages looks like using a wiki, and so on.

tikiwiki may also fits this definition, even if it comes with all modules included, for better or worse.

[But CMS are less simple to use]

Features to consider: what can they do and how are they different

Pages path: does the software let you / help you creating "good" (sensible, SEO-oriented) paths

  • Storage / backup
  • Antispam
  • Structured informations (as drupal CCK)
  • Editing long document (like the sub-section edit of wikimedia)
  • Support for WYSIWYG editor.
  • Collaborative
  • Version-aware
  • How do you link data together ?

On some occasions, you can use a simple blog, write a text in several pieces, and still get a decent result. This is when you're writing "part 1", "part 2", etc... posts. For example, I've seen a net review of a piece of hardware written this way: first post "the hardware", second one "first test", then "configuration", then conclusion. => this all goes down to "publish early, publish often" as opposed to "do the perfect thing before sending it out"

What is the creation flow ?

When you write pages, do you write a page, putting links for things you want to say, but don't have a page yet (this is the wiki approach), or do you need to write the pages more or less in advance to link to them ? If you're using a CMS, but you have to create a tag / category such as "page to be written", meaning basically that you started by writing the structure and you'll put flesh on the bone later, may be wiki is better for your task. Wikis usually have tools to keep track of the links / pages declared but not written, without further assistance.

Does the system support structured pages (records)

How does the system support structured documents (book, manuals)


  • Comments
  • Keywords (Categories, backlinks)
  • Language used to write pages
  • URL (wiki vs the rest of the world)
  • Skinning, theming
  • Connexion with other tools (twitter,...)
  • Extensibility ?

How do they compare for a particular task ?

Creating a web site for a company or an organization

Presenting the company

A few to a few dozen pages. Example with wordpress = raspberry Keeping in touch with customers, prospects and fans

How do they comments ?

Writing a book

There are at least three kinds of books:

  1. Books that have the shape of a codex, but are really a set of independent records, such as a book of recipes. A collection of independent chapters written by different people, such as a collection of papers (the cheap way to make a book in my opinion) also fits this model. Quite often, chapters in this case come in no particular order.
  2. Books with a logical progression, for example, a pedagogical book. A student thesis usually follow this model, since they're usually expected to be highly structured. And of course novels.
  3. Books like a reference manual falls somewhere between the two. They're generally composed of several more or less independant parts, like #1 above, but like #2 they are highly structured.

The difference between the various kind of books reflects in their structure and the way they're written. In the first case, each part is more or less elaborated independently of the others, then they're bound together, sometimes with a little structure: in the recipe book, you group together the cake recipes, the recipes with meat, with fruits, and so on. In the collection of articles on a broad subject, you might (or not) group together, for example papers with an economic point of view, a technical one, exploration of moral consequences, and so on.

In the structured category of books, you usually start by writing notes on the subject, at some point you gather them, then you write a table of content to have an overview of the structure (or a synopsis for a novel that you then refine), and then the first version of the book than certainly will be rewritten entirely two of three times before reaching an acceptable level.

Notes: how are medium-sized structured documents handled: book in drupal, one big article (with the ability to edit sub-parts) in mediawiki.

What tools to support structuration

Book navigation in drupal.

Manual work in wikis.