Can you make a blog work as your web site?

If you want to have a small website for your personal use or to represent a project or small organisation, one possibility is to use a blogging system such as Wordpress or Moveable Type. It particularly appeals to people who don’t want to have to learn Web languages like HTML and CSS. Here I am responding to a request by a friend to explain what are the issues, especially advantages and disadvantages.


I AM QUITE OFTEN ASKED FOR ADVICE by people who want to set up a small Web site to promote themselves, or to represent a project or an event. In particular, the question comes up of whether they will be able to meet their needs by setting up a blog as opposed to a ‘normal’ Web site.

A friend of mine was advised recently that this could be a good way to proceed, and she asked me to clarify the difference between blogs and other kinds of Web site. This essay is an attempt to do just that.

I must warn you that one problem is that in the Web-using community many terms are used inconsistently, and meanings evolve over time, or they mean different things in different contexts, so any explanation of what a blog is will have to go round the houses a bit. Sorry!

Blogging as a diary activity

The term ‘blog’ originated in 1997 as a playful contraction of ‘weblog’, meaning a log (or diary – think ‘ship’s log’, yes?) maintained on a Web site, quite often having as its main focus a commentary on things that the author had noticed happening elsewhere on the Web. Blogging, web-logging, was therefore first defined as an activity, and a blog as the result of that activity.

Some people argue that the roots of blogging can be traced back to the online Web diaries maintained by some writers, especially magazine columnists. One pioneer of this practice was Jerry Pournelle, a US science fiction writer who also wrote a monthly column called ‘Chaos Manor’ in Byte magazine, where he discussed the latest technology he had been playing with.

In the early days of blogging, there was no implication that a blogger would use any particularly special kind of software system to maintain the blog. Early Web-based diaries were maintained simply by adding new content to an ordinary static Web site owned by the author. That could be done simply by typing HTML code into a text editor, and loading the result up to the author’s Web site to replace the previous version of the page. Which is precisely what I am continuing to do with these my Essay pages.

Blogging software makes it easier

Editing a WordPress post with the Visual Editor

WordPress lets you add content as a series of ‘posts’ to the blog, by typing into an editing field. In ‘Visual Editing’ mode, a toolbar lets you apply formatting, make links etc without having to know any of the Hypertext Markup Language codes. Alternatively there is an HTML view, if you are comfortable with code.

Blogging really took off when server-side blogging software came along, specifically designed to support this activity: WordPress and Movable Type for example. Hosted services such as wordpress.com or blogger.com, which have been built with this kind of software, have made it even easier: they let you open an account on their own server systems, often for free if you will accept advertising displayed next to your own content. You can choose one of the pre-determined display themes, configure a blog site by choosing some layout options and colours and upload a logo to the banner space, and start blogging in ten minutes. I set up a Conradiator blog like this a couple of years ago, hosted at WordPress.com.

Hosted blogging services like WordPress have made it easier for ordinary people to maintain a Web site because all they need to do is log into their site with a browser, where they will encounter an interface theme engineered to feel a bit like the desktop computer systems they are used to. They can navigate to the page they want to edit, make a jump into edit mode, and use what basically feels like a simplified word processing interface to create additional text content or to edit what’s there, make links between pages, make links to other pages, manage the uploading of images, and place those images into their Web pages.

And best of all, they can do this without knowing anything about the Hypertext Markup Language (HTML), the language in which Web page content formerly had to be authored.

What is ‘server-side software’?

Now I have to back-track and explain what I mean by ‘server-side software’. By this, I mean automation system software, usually a bunch of scripts written in a programming language such as PHP or Perl or Python. (Currently, PHP seems to be the front-runner.) When this software is installed on the Web server, it turns a Web site into something more than just a way of dishing up static pre-authored content.

The real technical revolution actually started well before blogging, in 1993, with the invention of a concept called the Common Gateway Interface around the time that fill-in forms started to appear on Web pages. Prior to CGI, it was assumed that when a Web user ‘told’ their browser to load a page by typing in a Web address or by clicking on a hyperlink, their browser software sent off a Hypertext Transfer Protocol (HTTP) request to an addressed Web server, asking for a specific Web page to be returned.

What CGI established was that it was equally valid for an HTTP request to be directed not to an explicit Web page entity that already existed, but to a software script, which would process the query embedded in the HTTP request and auto-generate an HTML text file to send back as the ‘Web page’ in fulfilment of the request. The software script might also engage with a database system.

This quiet revolution made posible many of the customised things we take for granted today such as Google search requests, online shopping and Web email, all of which require our Web page clicking and form-filling activity to communicate with large systems out there behind the server, and to be ‘automagically’ responded to.

A lot of this server-side Web software has been written to stand between the user request and a whole bunch of data that is kept in a database system. Within the industry, an established acronym to describe the pile of Stuff you need to do this is LAMP, which refers acronymically to Linux as the most popular operating system for web server computers, Apache as the world’s favourite open-source HTTP dæmon server system, MySQL as the leading free and open-source database management system used in Web projects such as these, and P representing the programming language in which the back-end system has been authored — it is usually PHP, but Perl was previously dominant, and Python seems to be occupying a strong niche.

Content Management Systems for the Web

At this point, I have to introduce the concept of a Web Content Management System (Web CMS). Blogging software like WordPress is just one kind of CMS-based system. Other CMS systems have been created to support community Web sites (e.g. Drupal, Joomla!), to maintain wikis (e.g. MediaWiki, PBwiki), or to empower promotional Web sites (e.g. Squarespace).

Diagram of how CMS-driven Web sites work

Diagram of how a CMS-driven Web site works. The elements in blue boxes with cogs attached represent software engines: the HTTP processing software, the PHP interpreter and the MySQL database engine. The yellow hexagons refer to processes described in the text.

To the right of this text is a diagram, in which any user’s computer (it could be yours) is shown at [A], at the top of the diagram. The entire server system on which the blog or other CMS system is hosted is shown below: everything within the grey box, actually. The ‘you’ in this case could be simply anyone reading the blog, or could be the owner of the site, adding fresh text to it. Even casual readers of a blog may be empowered to write comments, if the site has been set up that way.

All you as a user need to have installed on your machine is a modern Web browser, even if you are adding content. All the clever stuff is installed and configured ‘server-side’, on the host system.

For every Web page on every Web server system, when a user at [A] requests a page from the Web site, whether it be by typing a Web address or clicking on a link, a Hypertext Transfer Protocol (HTTP) request [B] is sent to the server. This HTTP message is a structured, machine-readable text file that communicates a request to see a particular Web page, and identifies the IP address (i.e. the user’s machine) to which the page data should be sent.

When the HTTP message reaches the Web server, it is intercepted there by the Web server software, the HTTP dæmon. The most popular HTTP dæmon system these days is Apache. In an old-fashioned non-CMS Web site like mine, the Web server software simply responds to the HTTP request by sending back a prewritten HTML file, just like the one behind the Web page you are reading now. (If you go to the menu of your Web browser and ask to ‘View Source’, you’ll see exactly the HTML code and content as I typed it.)

However, on a CMS-driven site the incoming request is not directed at a pre-written page. Instead, it starts a query [C] against the Content Management System, which will ‘automagically’ write the HTML code for the page that has been requested, on demand.

How a CMS system makes Web pages on demand

A CMS is usually written as a modular collection of programs. For our diagram example, we are making the assumption that the programming is written as a collection of PHP scripts [D]. These are in text form, and at runtime are interpreted by the PHP processor software, which must therefore also be installed on the server too. Other CMSs may use Perl, Python or some other interpretable programming system.

In order to send a Web page back for the user to see, the CMS software assembles the HTML for a Web page in real time, incorporating bits of text and image content from the server database [E]. In quite a few Web CMS systems ‘the database’ is nothing more complicated than a bunch of files and folders on the hard disk – but it is more common to use an Open Source relational database programe such as MySQL as the content repository.

Once the Web page HTML has been composed by the CMS [F] the Web server software can send it across the Internet to the user. Modern CMS systems rely on Cascading Style Sheet files (shown here as ‘CSS’ in red), linked into from the Web page HTML, to give precise instructions for type formatting and screen layout of the Web page.

Implementing the read–write Web

A particular feature of modern blogs, wikis, webmail and similar CMS-based publishing systems is that they incorporate clever features which mean that you should not need to know the HTML markup language to author or amend pages yourself, or post comments to blog entries.

To implement the ‘read–write Web’, these systems typically add a further twist. If the user requests to see a page in its ‘edit content’ mode, the editable parts of the page will be projected into a text field on screen [G], where the user can edit it.

Many blog, wiki and webmail software systems offer some visual editing tools with clickable toolbars which interact with the text. Such editing systems are typically implemented with JavaScript programmes which load into and run within browser software memory on the client machine, so the interaction doesn’t have to involve constant back-and-forwards traffic between the user’s computer and the server, up until the point where you decide to ‘post’ your edit back to the server.

When the user is content with the editing, and presses the ‘Save’ button, a different kind of HTTP request is made to the server and the CMS. (See [B] and [C].) This results in the revised version of the page content being written back to the database [H].

So, do you want a blog or a Web page?

To return to the issue I posed at the beginning: the original concept of the blog was a diary-style commentary by one person. Blogs of this type are sometimes derided as mere vanity publishing, but they can at times become socially and politically significant, as was the case of the pseudonymous Baghdad bloggers ‘Salam Pax’ and ‘Riverbend’, who were writing during the 2003 bombing and invasion of Iraq.

Many significant blogs with large followings have a clear topical focus, whether it is life in a particular neighbourhood, the development of a software application, an aspect of social policy or some field of science.

Is a blog simply a log on the Web, or is it a log of the Web? Many of the most-followed blogs are those which keep up a commentary on contemporary news stories and other content on the Web (perhaps referencing several Web sites) and add the author’s own opinion. Blogs are generally the work of one individual, and the most literate blogs can be thought of as a continuation of the genre of the essay.

However, over time, blog-specific CMS software has evolved so that (a) ‘static pages’ can be created on a blog site e.g. an ‘about’ page to describe the author; (b) a group of people can ‘own’ a blog and write it together, subject to access control provisions that require people to log in with an identity and password; (c) the styling of pages is typically managed by adopting a ‘template’, which is a complex blend of Cascading Style Sheet statements and associated graphics files generated by someone else, or by yourself if you are very clever. Lesser mortals who desire the use of a template can use a free pre-existing one, or pay per year for the use of one.

Special quirks of blogging software

The norm in blogging is that blog posts are displayed in reverse order. Each blog post is stored as an independent entity, but the main page either displays the most recent posting first and the remainder in reverse chronological order, or a brief summary of each post in reverse chronological order with a click-through to read more.

Blogging software platforms typically let readers append comments to the postings by the blogger, though these comments may be held up for approval first.

Blogging software platforms also let the author, and sometimes readers too, add ‘tags’: word- or phrase-length descriptors of what a blog post is about. For example, a blog about the deployment on London’s transport systems of buses with hybrid engines could be tagged London, buses, green energy, environment. The site might display the tags for all the blogs – perhaps a list with the most-used at the top, or else displayed in a ‘tag cloud’ in which the most-used display larger – and when a reader clicks on the term, they will be offered a list of all the blog entries so tagged.

The templates for blog software systems usually provide for a main zone where the blog postings display, and a side area which contains a short automatically-generated list of the most recent blogs posted, perhaps a tag cloud, and a ‘blogroll’ of other people’s blogs to which the blogger wants attention to be drawn.

So, do you want a blog, or some other kind of Web site?

It seems to me that many people who want a basic promotional Web site are choosing to have a blog instead, even though what they intend to put online doesn’t follow the classic diary-style format of a blog. What are the advantages or disadvantages of going down the blog road?

Advantages of blogs

  • If you choose the hosted blog option, for example setting up an account at wordpress.com as I did for my Conradiator blog a couple of years ago, you can set up a basic Web presence free of charge and you don’t even have the hassle of setting up your own domain name. Posterous, LiveJournal, OpenDiary and Blogger offer similar hosted facilities for your blog.
  • In blogging software, you create your blog entries while you are connected to the Internet, so you don’t have any need to make file transfers with FTP software. This may be significant if you work behind a corporate firewall, and use of the file transfer protocol has been banned for security reasons.
  • Blogging software generates a text-creation area that feels like a basic word-processor, with a toolbar and pull-down menus, so you don’t need to learn any HTML code to author your pages. If you want to add pictures, there are simple routines with dialogue boxes to guide you.
  • Simply by choosing one of the ‘themes’ on offer, and making some minor customisation of the colours, fonts and banners, you have a professional-looking Web site in no time at all, and you don’t need to know anything about the Cascading Style Sheet code that is controlling that.
  • Finally, if you are setting up a site for a conference or community project, a blog can be assigned to multiple authors, or multiple authors can log in as if they were the sole author, so you can create the site as a team. Everything is stored online and is edited there, so you can make changes from any machine connected to the Internet, even from an Internet café in Mombasa!

There are variations on the blog road method. Some people run blogs on their own hosting space, by downloading and installing Wordpress or Movable Type software. If you do so, you can customise your blog more exactly to your needs, but you may need to have some proficiency in the PHP language that it was created in, and the CSS language that styles it.

Some people use a hosted option such as WordPress.com provides, but they pay a premium fee to use a domain name that they have registered in their own name.

Disdvantages of blogs

  • To my mind, the main disadvantage of using blogging software to manage general-purpose Web sites is that the software is built around the assumption that blocks of content should be presented in reverse chronological fashion. In creating this Web site, I want to present content organised by topic, and I’d have thought that would be more difficult to achieve with blogging software.
  • There are alternative CMS systems which are better oriented towards general-purpose Web site functionality, so you might want to look into those. Squarespace is a company which provides use of a fairly user-friendly CMS and website hosting, for a modest fee per month, though you do have to pay more for higher levels of functionality or the use of your own domain name. Actually you can create a pretty functional general-purpose site for free using the hosted wiki system, Wikispaces, and I’ve made a few of those (which could be the subject for another Web essay).

  • Making any of the CMS-driven choices means that to create fresh content, you have to be hooked up to the Internet to have access to the editing windows. In contrast, the entire Conradiator site lives on a USB drive and I can edit it offline, only needing to go online to transfer the files afterwards. (Much of this article was written on the Overground train to West Croydon!)
  • I also find that getting to grips with customising the appearance and layout of a CMS-based site is daunting, because these things are controlled partly by Cascading Style Sheets but also by the PHP or other programming. One tends to be pushed very firmly in the direction of using a Theme created by a developer.

However, I am aware that my opinions reflect my strengths and my weaknesses. I am confident and comfortable with hacking HTML, and I am becoming more confident with CSS too, while PHP remains a closed book to me. I have struggled with customising a Squarespaces template and found it a frustrating experience.

I shall be asking some friends whose opinions I trust to review this article, in the hope that they can add some comments and opinions. I look forward to hosting their comments on this page.