Do you know how your blogging software works? Many people are interested in the idea of blogging when they first come to realize that it is its own thing separate from “standard” types of websites and that it’s an easy thing to get started in. And although there is a lot of great information available to beginners, I find that there isn’t much that explains something that’s really important: how blogging software works. This is important because it’s an incredible differentiator between “normal” websites and blogs. Understanding this difference can often help a person decide if having a blog is the right decision. Also, some of you may have just begun blogging, but you don’t really know how your blog works under the hood. You may not need to be an expert mechanic to drive your car, but we all know it helps to know a thing or two.

How Standard Websites Work

Standard (non-blog) websites are often a collection of web pages that have been created and are stored on a web server as individual files. Somewhat like how loose pages in a physical folder might exist, except they are electronic documents in a virtual folder. But in may respects, they can be treated like word processing documents or spreadsheets: each page or document is a self-contained and distinct object or file. When you click on a link to pages in a standard site, that page already exists in its entirety, and it’s sent to your web browser.

To create or edit such pages, you need to know XHTML, CSS, and JavaScript, or, you need software such as Dreamweaver. The main point is you need specialized training and knowledge to be able to do even the simplest task. Some companies and services are attempting to level the playing field with this and make it easy for anyone to create and edit websites, such as Google Pages, but even these are still far more complicated than setting up and running a blog, especially if you use a free blogging service such as Blogger or

How Blogs Work

With a blog, the setup and the structure are complex, but the use of the end result is quite easy. Blogs and blog software consist of 3 major components:

  1. Database
  2. Scripting/Programming
  3. Style and appearance information


The database holds all the information about and in your blog. Every post you write, all the comments, all the categories, all the settings are all stored in a database. Even the administration and authoring information. This keeps everything very organized and allows certain information to be reused over and over again, which saves time and bandwidth.


The scripting and programming component is what pulls information out of the database, turns it into a web page, and sends it to a visitor’s web browser. The programming component also allows you to write a post and send it into the database or add links to your blogroll. The programming controls all of your blog’s functionality. Your blog is actually a software application that is running on a web server, in the same way that Microsoft Word is software that runs on your computer. But instead of using a software program’s interface, we use an interface that is in an administration web page.


The information entered into or pulled out of the database has to be made into web pages which are sent to the browser. The scripting/programming component does a lot of this, but there is a third component that tells that information how it should be formatted and arranged on a web page. That third component is the style sheet. The style sheet has rules and information for how everything is supposed to look and where it’s supposed to go in a web page layout.

Putting it all Together: Alphabet Soup

Okay, here is the part where I start to get a little technical. If the database is the information storehouse for a blog, and that’s important, then what database should you use or how do you get one? One database that is extremely popular in blogging software is called MySQL (pronounced My-S-Q-L). SQL stands for Structured Query Language. This is the language that “runs” a database. When you get a hosting account for your blog, most standard service packages will include a number of MySQL databases that you may create and use.

The programming component for blogs often is a programming language called PHP, which stands for PHP: Hypertext Preprocessor (a recursive acronym — how’s that for geeky?) The PHP language is used to write scripts or programming code that interacts with the database. If you use the WordPress blog software, a great many of your files end in the .php file extension. As with MySQL databases, the capability to work with PHP probably is standard in any web hosting package you buy.

When the PHP scripts get information out of the database, it sends it to the visitor’s web browser as XHTML, which stands for eXtensible Hypertext Markup Language. This is the language that web pages are written in. However, XHTML doesn’t tell the information how it should look, or where it should be on the page. That is handled by yet another language! This language is the language of style: CSS, or Cascading Style Sheets. By simply changing the CSS information for a blog, you can change the entire appearance of its content. This is how you can have the ability to choose a template or theme for your blog with the click of a button.

So, when you log in to your blog, write a post, and click that Publish button, you’re filling out a web form written in XHTML, styled in CSS, and sent to a MySQL database via the PHP scripting language. When visitors view the blog, PHP extracts the requested information from the database, makes it into an XHTML page, and sends it to the browser, where styles in a CSS style sheet provide information about how the content is supposed to formatted and arranged on the page. And that’s how blogging software works!