Design & Develop Your Own Blog

Learn to build a lean & flexible blogging platform

Structuring a Blog

A blog can be structured in many different ways. We'll look at the most common types of pages and their possible contents. Knowing how they can be structured and what elements they can host will help you decide how you want yours.

Article Page

I guess it goes without saying... but your blog needs a view where each post's content is displayed. Although some blogs present the full article content right on their homepage, most choose to dedicate a single, separate page to each post.

The main content area of your post can be made up of a variety of elements:

  • Text, including special formatting for things like quotes or code examples
  • Images, including galleries and zoomable images
  • Tabular data
  • Multimedia content like video and audio players
  • File downloads

Besides the main content, the page can also display additional elements like the following:

  • Social sharing buttons for spreading the article on Twitter, Facebook, etc.
  • Sign up forms for your newsletter list
  • Author information like a short bio and a link to other posts from this author
  • Comments and feedback about this post
  • Recommended / related articles to encourage people to also read your other posts

In general, this is where your own goals come into play once more: what (besides reading your content) do you want readers to do? No matter if they should test your web application, sign up for your newsletter, or provide feedback - make sure this has been taken into account when laying out the page.

For this tutorial, we’ve chosen the following layout for the article page:

Article List

Most modern blogs also have a list where all (or just recent) posts are presented. Again, for most blogs this will be the homepage. What posts exactly go on this list varies quite heavily: all posts, just the most recent posts, recent plus most popular posts, ...

This also depends a bit on the type of content you're publishing: content that is only interesting while it's fresh doesn't need to be listed for very long. Other types of content, in contrast, are rather timeless and remain relevant.

This is the design we'll use for our tutorial's list view:

About Page

An "about" page should help your readers learn more about the blog's aim and thematic priority as well as its creator(s). Tell people why this blog exists and what aim you have in mind with it. A short resume about you, the creator, will help make the project more personal. This is also a good place to build credibility: if you have proven experience in a certain field, worked with renowned clients, or have a degree in ornithology this is the place to mention it.

Contact Page

If you want people to get in touch with you, a "contact" page is a good idea. A simple form might be better than publishing your private email (which might expose it to myriads of spam robots).
Also think about if you expect different kinds of requests: questions, inquiries for speaking gigs, general feedback... In that case, you can offer different, custom-tailored forms for each type.

Now, if you want, let’s talk about actually designing a blog.


The “Design” chapter of this tutorial is aimed at “design beginners”. However, if you’re exclusively interested in developing the blog, you can of course jump right in and continue with our development chapter.

About Us

As the makers of Tower, the best Git client for Mac and Windows, we help over 100,000 users in companies like Apple, Google, Amazon, Twitter, and Ebay get the most out of Git.

Just like with Tower, our mission with this platform is to help people become better professionals.

That's why we provide our guides, videos, and cheat sheets (about version control with Git and lots of other topics) for free.