Wriging

Welcome to Wriging! Writing + Blogging = Wriging. : Signup or Login Here
Wriging is proudly hosted by (mt) Media Temple.  We recommend them for your web hosting needs.
Clips: Popular Clips Upcoming Clips Notes: All Notes

There is a reason why Wordpress was made. It simplifies the process of creating a blog. Install in 5 minutes, setup your Admin console, choose a theme and start blogging.

But if you are coding your own blog(I wonder if anyone does that now) what points must one keep in mind?

Here are a few that I gathered:

  • Make sure your blog is secure from attacks(example: comments box can be filled with malicious code).
  • Provide a complete categorized archive of all entries.
  • Provide a permalink to every entry.
  • Provide a "Read More" link in the index of entries so as not to make the page too large.

Any more points to be taken care of?

I know a few people here (myself included) code their own blogs.

You should be able to split reader and admin functionality up quite well... Here's what I consider a good start for reader functionality:

  1. List posts (by section, by age, by popularity)
  2. Display a post in full, with comments
  3. Search posts via an archive, tags/keywords and/or full-text queries
  4. Reply to posts if they're not locked, collecting useful information along the way. Giving users a markup scheme so they can add formatting, quotes, etc is also a nice idea.
  5. If you can support a proper identity (login/openid/etc) all the better. If you support your own accounts, you need some mechanism so the user can edit their account.
  6. Support trackbacks/postbacks/etc from automated sources (XML-RPC, etc) - It can be an arse to program but it's useful to know when people are talking about you, even if you don't display the links.
  7. RSS and email subscription on multiple levels is great (so people can check out new posts by you but also so they can subscribe to threads in order to stay in a conversation)
  8. A simpleish contact form so people can ask you questions directly without having to use a comment.
  9. Simple, meaningful URLs. /index.php?post=23482749&ddsid=348923742937429734hf doesn't mean anything to anybody. /read/this-is-my-post-title does.

The admin side of things is really up to you unless you're going to redistribute your blogging package at a later date.. I would say the bare minimums would be:

  1. Post editor/creator, allowing you to:
    1. Create new posts
    2. Set their section/tags/etc
    3. Lock and unlock threads
    4. Edit existing post content
    5. Send postbacks/trackbacks/etc when you post
    6. Set the visibility of a post (unpublished/published)
    7. Set the clean URL for a post (and keep it static, even when you rename the URL, or set up a 301 redirect for when you do change it so user-agents know where to go)
  2. Section/tag/etc management so you can create new sections
  3. Comment management (delete, moderation queue)
  4. IP bans for spammers
  5. A log. I track when users try and submit a comment (even if they don't make it past the captcha) to see if legitimate people are having issues using the site/captcha
  6. User management to delete users (and all their posts) or reset their passwords
  7. Stats and trend tracking though you can leave this to a full stats package if you're happier doing that.
  8. A pageload timer to debug any slow running pages
  9. A database backup/restore tool. You can work directly with mysql for this but I suggest you don't forget to make the backups on a regular basis.

SQL-injection and XSS attacks are a given - you shouldn't allow attacks on any site unless you want to get hacked.

I'll have to agree with Oli on the fact that the admin side is really up to you, and what's most important to you.

On my CMS, the most important thing for me was the article creating/editing page. That's where I put most of my time, getting that page as easy to use as possible, since I use that page the most.

The second most important thing (for me) was managing my visitor's comments and spam.

The third most important thing is managing my additional site content, like site pages and blocks/widgets/sidebar items. So creating a system to easily add, edit, delete, and move pages/blocks was created.

In the end I look at it like this - If I ever have to go into my database to manually add/update/remove something, then my CMS needs improvement. But again, the admin side is really up to you and if you plan on making it public.

Also make sure your site is secure and idiot proof.

Wow! Oli's and chapstick's indepth write up doesn't leave much room for any more suggestions. Good one folks! I thought my coding was over... There is so much more to do...

Also make sure your site is secure and idiot proof.

Lol! That's where most of the effort goes...

@dvazquez I must say that having free time is not the concern here. Many of us do this as a hobby or interest and finding time for something that you like is not "free time" that you might be insinuating. The satisfaction of seeing your own efforts compare up to something done by professionals is beyond words, at least for me. And by the way, it's good coding skill development too.

If you're coding your own cms as a hobby, then you'll definitely need a lot of free time. I've been coding mine for the past 2-3 years now, either when I have free time at work, or at night when I get home.

But there are also periods where I won't touch my coding for months at a time. I don't know if it's because I lose my motivation or just don't know where to go from here.

I guess that can be another good rule while coding your own blog - make sure you stay motivated. :)

Please Login To Leave A Comment

Wriging Sponsors Get in touch if you want in.

Hot Notes (View all »)

 

Wriging is part of the Chawlk Network of sites.

9 Great Places To Visit, Hang Out, & Meet New People

What's new and interesting at other Chawlk Network sites: