Blogging with Wordpress

Dear Diary...


Wordpress is an easy, frugal, and feature-rich tool for creating a personal weblog. If you always wanted your own blog, but you don't have time for the technical details, Wordpress lets you get started in style.

By Rolf Strathewerd

www.photocase.com

In our age of content management systems, you can publish web content without worrying about the underlying technology. Nowhere is this more true than with weblogs (or blogs for short), which you can view in the traditional way with your browser or as RSS streams.

In the world of open source, users are spoiled for choice when it comes to blogging tools. One of the most usable and versatile tools for creating a blog is Wordpress [1].

The Wordpress website calls Wordpress "...a state-of-the-art semantic personal publishing platform with a focus on aesthetics, web standards, and usability." The purpose of Wordpress is to make it easy for users to create, manage, and monitor weblogs. Wordpress (Figure 1) is free, easy to use, and extensible via plug-ins. You can install Wordpress in a few simple steps, and it only requires the kind of supporting software hosting providers typically offer their users anyway: Apache, PHP (version 4.1 or newer), and MySQL (version 3.23.23 or newer).

Figure 1: Wordpress lets you quickly build an attractive weblog.
Keep Email Adress Secret

When setting up an email address as your incoming postings mailbox, make sure you keep the address a secret. Wordpress does not give you a mechanism for validating the sender.

Server Installation

After downloading the current source code archive from [1], unpack the archive in a directory on your computer.

Then rename the wp-config-sample.php sample file to wp-config.php and enter the database name, username, and password.

Now copy the whole installation directory tree to the WWW root directory on the target server, and launch into the install by entering http://YourServer/wp-admin/install.php. If everything works as planned, Wordpress will create the required tables in the MySQL database, prompt you for the title of the Weblog, and provide the administrative email address. Finally, a random administrator password is generated. This administrator password is then displayed and sent to the administrator's email address.

Composing Postings

Log in to start creating your first posting. To do so, click on Write | Write Post. This panel, which you can add as a link to your browser toolbar, uses some Javascript wizardry to help you enter the required HTML code.

To give visitors to your blog an overview of the various content categories your blog offers, you might like to create a name for each category in Manage | Categories. There is no need to unleash postings on unsuspecting visitors right away; in fact, you will probably prefer to store postings temporarily, password protect them, and put them on the site sometime later.

After posting your first entry, just check to make sure that everything on the page is to your liking. The way the blog appears to visitors is handled by specially designed themes. You can find a number of attractive Wordpress themes on the Internet. The theme system offers considerable flexibility for determining the look and feel of your weblog.

Figure 2: You'll find a number of attractive Wordpress themes on the Internet, including Pray for Mercy.

In the Eyes of the Beholder

Wordpress is a powerful system as is, but not even the most powerful piece of software can anticipate everyone's needs out of the box. To help users customize the blog without overloading the basic system, the developers have designed an interface that lets programmers add extensions. The interface defines exactly which themes or extensions to the feature scope (plug-ins) have to be implemented.

Installing a theme is quite simple. To install a theme, first download the theme and copy it to the wp-content/themes directory. The theme then appears in the Themes | Themes list. The default theme for Wordpress 1.5.x is titled Kubrick.

If you prefer to modify an existing theme rather than installing a new one, you can use the Wordpress theme editor to do so. Select Themes | Theme Editor to launch the editor. This lists the files belonging to the current theme and lets you edit the themes in the integrated input box. Of course, you can always use your favorite editor if you prefer.

There is no need to speak PHP to modify a theme, although some knowledge of HTML might help. Even changing the appearance of a theme is not an impossible task. In fact, I took just an hour to translate and modify the popular Connections theme [5].

Plug-Ins

The procedure for installing plug-ins is similar, although plug-ins use a different target directory: wp-content/plugins. There are always a few things you need to take care of before you can use a plug-in. Make sure you read the plug-in author's notes before you start before you install a plug-in.

The default Wordpress installation gives you three plug-ins, one of which is just for demonstration purposes. The other two, Markdown and Textile, let you use postings with simple markups instead of HTML. To highlight text in Markdown, for example, just add asterisks (*highlighted text*).

Apart from a few non-runners at [2], almost all plug-ins run in Wordpress version 1.5. The "Useful Wordpress Plug-ins" box gives you a list of the most useful plug-ins.

Images and Other Extras

Blogs are no exception to the adage that a picture says more than a thousand words. You can use the upload interface below Upload to upload images, then scale them to match the page if necessary. This said, the IImage Browser plug-in (see the "Useful Wordpress Plug-ins" box) does a better job, giving users far more features than Wordpress has out of the box.

There is no need to compose postings directly in Wordpress; just like most other blogging systems, Wordpress has an open interface. This allows you to compose postings on your own machine, using BloGTK [3] for example, and publish by clicking.

If you prefer to do without add-in software, you can just send an email to Wordpress. To do so, first set up a secret email address and let Wordpress know the address in Options | Writing. Server-side, the wp-mail.php script takes care of converting incoming email messages to postings. To avoid the need to launch the script manually, you might prefer to set up a cronjob or use the WP-Cron plug-in (see the box titled "Useful Wordpress Plug-ins.").

Useful Wordpress Plug-ins

WP-DB-Backup: Regular backups are part of the administrator's daily life. If you can't or prefer not to use MySQL or phpMyAdmin for this, the plug-in gives you a good alternative. http://www.skippy.net/blog/category/wordpress/plugins/wp-db-backup/

IImage Browser: Wordpress lets you upload graphic images, but the images just disappear from the administrative workspace when you do. The IImage Browser tool not only gives you excellent management facilities, it also generates a thumbnail automatically and inserts the thumbnail image into the page. http://fredfred.net/skriker/index.php/iimage-browser

WYSI-Wordpress: The WYSI-Wordpress plug-in gives users the ability to write postings without any HTML skills whatsoever. WYSI-Wordpress makes Wordpress a WYSIWYG ("What You See Is What You Get") editor. Some versions of the image browser even let you manage images. Theoretically, the WYSI-Wordpress plug-in additionally supports direct editing of HTML tags, but this does not work too well in production environments. http://mudbomb.com/archives/2005/02/02/wysiwyg-plugin-for-wordpress/

Multi-Topic Icon: A small plug-in that adds category icons to postings. This looks neat, and gives users a better overview. http://www.khertz.net/multi-topic-icon/?lp_lang_view=en

WP-Cron: Linux typically uses cron table entries to schedule tasks. If your environment does not give you the option of using cron, but you would still like to schedule backups, you can use WP-Cron. The plug-in manages tasks that are launched at specific times. As it can't access the operating system's internal controls to do so, it uses page access by users. Whenever Wordpress puts together a page for a user, the plug-in checks the queue for tasks to be completed. If the blog is visited regularly, the plug-in has enough raw material to let it handle jobs on time. http://www.skippy.net/blog/category/wordpress/plugins/wp-cron/

FeedWordPress: An aggregator for Wordpress that lets you integrate third-party postings with your blog. http://projects.radgeek.com/feedwordpress

Identify External Links: A filter that automatically identifies hyperlinks that point to other sites. These links are assigned to a special CSS class and can thus be highlighted. http://txfx.net/code/wordpress/identify-external-links/

EmailShroud: Protects email addresses appearing in your blog against collection by spammers. http://www.somethinkodd.com/oddthinking/emailshroud-wordpress-plugin/

User Online: This plug-in answers the question "Who is reading this blog, apart from me?" http://www.lesterchan.net/portfolio/programming.php

Code Viewer: A simple plug-in that displays external text. This is not the only plug-in that gives you this ability, but it has a smaller footprint than the others. http://elasticdog.com/2004/09/code-viewer/

StatTraq: If you are not happy with simple web server statistics for your blog, you can use StatTraq for more granular status tracking. http://randypeterman.com/StatTraq/index.php

User Management

Wordpress does not restrict your blog to a single-user; in fact you can support whole communities. The software has a user management feature to help you with this. You can assign different privileges to different users. Users in Level 0 are just permitted to add comments, for example. Users in or above Level 1 can post, and users in or above Level 6 can add images. Users in the top user level, Level 9, can handle administrative tasks. And Level 10 is restricted to the administrator.

Locking Spammers Out

There are three possible vectors by which undesired content can enter your blog:

If you enable the optional comment function, you can eventually expect a visit from bots that misuse the comment function for advertising. Wordpress gives you several options for reacting to this. The simplest case is to ban entries that contain certain keywords, but as spammers are very creative when it comes to finding new ways of spelling, this function may not give you the kind of protection you are looking for. At the same time, you might inadvertantly prevent useful comments.

The most effective way of protecting your blog against spam is to moderate comments. Wordpress lets you know about new postings, which you can then explicitly allow or delete. If a bot keeps on throwing garbage at you, you may have no alternative to restricting comments to registered users. This may make it more difficult for visitors, but it will certainly improve the quality of your blog.

Captchas are another approach to spam protection. Users wanting to add a comment are asked to type the letters displayed in an automatically generated, and distorted graphic in an additional text box. There are some Wordpress plug-ins available for this, but the posting at [6] just goes to prove that it is hardly worth the trouble.

Legal Aspects

Now that attorneys have discovered the Internet's potential for generating revenues, you will probably want to avoid the biggest legal hurdles. If you have not enabled authentication, there is nothing to stop visitors from publishing illegal content.

The law requires you to delete this kind of content, but this would mean monitoring your site 24x7, so say goodbye to your vacation plans and cancel all your appointments. But seriously, you should only permit comments in moderated mode - or restrict this ability to registered users.

You will probably want to avoid visitors stealing the work you put into your blog postings and using them to make money, or for purposes that you would not normally support. Make sure you explicitly state the conditions for reusing your texts. The Creative Commons [4] licenses can help you put together a list of conditions to suit your purposes.

Content Matters

The most important thing about a blog is its content. If the content is uninteresting for the target group - no matter how small it may be - nobody will read your blog, and you will fail to achieve what you set out to do. Technology can't help you here.

Blog Community

Users wanting to refer to one of your postings might appear to have a problem at first glance, as Wordpress always generates content dynamically. But permalinks provide a solution. A permalink is a URL that points to a Wordpress control page that identifies the posting. You can change the default permalink format, but you should try to keep a simple structure. Some users may prefer to enter URLs manually, and a complex URL structure would prevent them from doing so.

If you operate your own weblog, you probably enjoy visiting other people's blogs. Someday you might like to comment on something you have read elsewhere, but not just in the form of simple text-based remark. Instead, you might want your comment to take the form of a posting in your own blog. In this case, you may want the author of the original posting to know that you have posted a comment in your blog that references their work.

Again, there is a solution to this problem: trackback links. If the author of the article you visited has specified a link, you can enter the link in a field designed for this purpose in your Wordpress instance. When you publish your posting, Wordpress will follow the trackback link to the other system and tell the originator that an article referring to the original posting is now available.

At the same time, the traceback link feature gives the originator the ability to comment on your posting. Although this arrangement may sound complicated, the feature is really easy to use, and it helps set up a useful network of content. You can actually promote this kind of network. The FeedWordPress plug-in allows you to draw on other people's blogs, just like the Planet Planet! aggregator, and to publish this content on your own site. But before you do so, be polite, and ask the originator for permission.

INFO
[1] Wordpress: http://www.wordpress.org
[2] Wordpress plug-ins: http://www.wp-plugins.net
[3] BloGTK: http://blogtk.sourceforge.net
[4] Creative Commons: http://creativecommons.org
[5] Connections theme: http://www.vanillamist.com/blog/
[6] Captcha decoder: http://sam.zoy.org/pwntcha/
THE AUTHOR

Rolf Strathewerd, who has a degree in Philosophy, is currently employed as a professional web designer. He has been interested in the secrets of the blogging craft since setting up his personal weblog quite awhile ago.