Moving a site from Drupal 7 to WordPress

I’m in the process of moving my videogaming blog, GameBlaster64, over to WordPress. The most recent security vulnerability with Drupal coupled with the fact that core updates must still be done manually has pushed me to head in that direction. Drupal has always been a lot more work than WordPress and I didn’t really need all the extra functionality anyway.

In under a month, GameBlaster64 will be 4 years old. There are hundreds of posts, thousands of pages, and tons of images. It’s going to be 301 redirect galore. To help with this, I wrote a small PHP script to grab the URLs of the taxonomies and articles I’ve been writing. It uses WordPress functions to import blog posts, along with their attached tags from the Drupal 7 database.

Here is my script. If you’re moving from Drupal 7 to WordPress, you’ll hopefully find it useful.

An experiment in front page design

My gaming site and gaming persona, GameBlaster64, has been online for just over 3 years. In that time, the front page has never changed in any significant way. It’s still a blog layout, much like this one. Given that it’s more of a videogame review/preview/opinion site combined with a sort of wiki archive, it doesn’t make a whole lot of sense to have it this way.

So, tonight, I changed it.

GameBlaster64 Front Page
The New Layout

Instead of articles listed in chronological order with full bodies, only the 9 most recent article titles + one thumbnail each will be displayed, with no pagination, in a grid. People who go to the front page of a site aren’t interested at all in articles that are months old, so why bother offering pagination? They want to see, immediately, what’s new and what’s changed since the last time they hit the site (if they don’t already subscribe to the RSS).

The content on the site is categorized by taxonomy, aka tags, so users who want to look at, say, all the articles on Minecraft, are totally free to do that. The taxonomy pages are laid out just like the front page, except with pagination, since those folks are probably looking for an article in particular or just want to read from A-Z. The most popular taxonomy tags and posts are available in the header.

The only other site I can think of that eschews pagination on the front page in favor of a grid layout is Google News.

Hopefully my users will like it!

On being secure

With all the recent news about the US government collecting and analyzing everything we do online and in our daily lives, we’ve all been looking for ways to increase our privacy.

Today, an article was posted on Hacker News about Google Analytics not being served over https. After reading this, I remembered that I use it and questioned whether or not I should keep it on this blog. Google Analytics has been installed on this blog for years, but today I found it hard to answer exactly why. It provides no real value to me other than satisfying my curiosity.

In the end, I decided to remove it. Not only because it is not served over https, but because the only real parties it benefits are Google and the NSA. My site is not large or popular, but it’s just one less site on the network being tracked through that channel.

I believe, in life, we should lead by example. I believe the web should be secure by default. I believe web servers should only function when using encryption (Supporting http was a design flaw, https should have been the only option. Even a self-signed certificate is safer than plaintext http.)

To that end, I’ve come up with a short list of simple things us website owners can do in order to hinder attacks or snooping by third parties. I’ll compare my own site against this post and update as I move toward compliance (red means failure):

  1. Serve content only when encrypted by perfect forward secrecy.
  2. Serve content entirely from web hosts and CDNs under your control.
  3. Encourage others to do the same.

It’s amazing how quickly my view on this has changed. If you would have asked me a year ago whether or not it was important to self-host images and scripts used on your site (or whether you should even be hosting your blog yourself versus using a third-party service like Tumblr), I would have answered an emphatic no and provided many reasons why letting a bigger, better player handle that is much better.  As a site operator, I want my site to be as fast as possible. As a web user, I want to be as secure as possible. Which is more important?

With the way things are now, it’s worth being a second or two slower to serve knowing that your stuff is your own.

Relaunched: Going Debt Free

Going Debt Free Logo
The new logo.

Just a quick post to let my readers know that, after a 3-year hiatus, I’ve relaunched Going Debt Free. I cover the reasons for the downtime in a few blog posts, but I want to focus on moving forward with the agenda and building the site back up (and surpassing) its former glory.

The newest change? I’ve upgraded the software to enable the WordPress Network feature, which gives my readers their very own blog on the site. I want to try and build Going Debt Free into a solid repository of great articles written by people on their very own path to debt freedom.

Here’s to making Going Debt Free grow during the rest of 2013.


Featured WordPress Plugin: W3 Total Cache

Let me be straight with you: Every WordPress blog on the web should have this plugin installed.

And, no, I’m also not being paid to say that. :)

W3 Total Cache is exactly what its name suggests: A total caching solution for WordPress blogs. WordPress is a good publishing platform and content management system (CMS) but runs into problems quickly when more than a few visitors hit your site. Even moderately busy websites can buckle under the strain of the database connection pools, stylesheets, Javascript, and HTML that WordPress uses.

Some of the neat features that W3 Total Cache includes:

  1. “Minifies” CSS, Javascript, and HTML by removing all whitespace. To see an example, view the source code of this page. This means there is less data to send to viewers of your website which also means your website loads faster.
  2. Final output is cached and then re-served to the next viewer without having to rebuild. This means that in many circumstances, your blog might only be recreating your site dynamically once an hour. Otherwise, the cached version will be served, greatly increasing the performance and stability of your site.
  3. Uses advanced disk caching techniques to cache output or can also take advantage of Memcache technology (if supported by your server) to increase speed even more.

Before W3 Total Cache I was a fan of WP Super Cache. And before that, I used WP Cache. Neither of the latter two can hold a candle to the capabilities and caching power of W3 Total Cache.

For more information on how this plugin can increase your website’s performance, take a look at W3 Total Cache on the WordPress Extend website.

51st Blog Post!

I typically try to avoid posting personal articles but I feel that I should let you know that this post is my 51st post on this blog so far. Yay! :)

It’s been a fun 5 months since I started doing this and I have to say that I’ve learned quite a bit both about writing but also how hard it is to keep a set posting schedule. I’m on-track for posting 50% of the days in this month, but I cannot stress how incredibly hard of a task that is to achieve when you only blog part-time.

I figured to commemorate this occasion, I should link to a few of my most popular articles thus far.

First and foremost, the most popular article on this blog is How to eliminate unwanted characters from a string in PHP. In the world of a web developer, your skill levels increase faster than the world spins. If I were to write the same article again today, the code would be much, much cleaner. It’s almost embarassing how un-optimized that code is. But, you have to start somewhere!

A close second is Securing your Input Forms From MySQL Injection Attacks. This subject has always fascinated me. The first PHP book I ever read had a huge section dedicated to thwarting attacks from user input. I guess ever since it’s just been instilled in my blood to look at user input with intense suspicion.

Finally on a funnier note, my third most popular article is Top 5 Office Don’ts. This one got a lot of negative reaction on DZone but maybe they just have bad office etiquette and took offense. Either that or they have no sense of humor. :)

I’d like to thank all of my readers young and old and hope you’ll all be here for the next 50 articles.

Thank you and see you again soon!

Welcome to my blog!

John Rockefeller
John Rockefeller at Synn Studios Inc.

Hi everyone,

First, let me welcome you all to my blog where I will be writing about web development experiences, technology, and social media as I continue along this path in my career. I work as a web developer in the beautiful city of Guelph, Ontario, Canada as a full-time employee but on the side I am part owner of an indie movie studio known as Synn Studios Inc. as well as a maintainer and developer of my own personal technological projects (software or hardware).

Hopefully, if we have similar interests, you will find the posts on this blog to be of use to you either in your own experience or in upcoming projects. If you’re into developing websites, working on servers, making movies, 3D modeling, level design, or game development, there will be something here for you.

I have started two projects on my own: The now defunct NetBoardz Free Forum Hosting, and Jack of All Links – A social search engine (which eats up a lot of my time ;)).

I am available through Facebook, Twitter, or LinkedIn, if you need to contact me.