My website is powered by WordPress, which has evolved into a totally awesome CMS and development community. To get the appearance and styling and formatting and stuff, I modified a layout called Extreme Georgia, by Mohd Huzairy.
There are a few notes below on things I’ve done and learnt about in putting this site together. You may not be interested, but I am, and it’s probably good for SEO :)
Hosting and other ‘infrastructure’
- If you’ve got any commercial ambition for your website, it’s properly best for it to be hosted by a company with their servers in your own country; but instead I bought the cheapest web hosting I could find from webhostingworld.net. It isn’t quite 99.9% up, like they claim, but who’s going to argue with them about unlimited everything for 70p per month? They are very quick to support you, but not over the phone, and not necessarily in the clearest English.
- 123-reg manage my domain registration. They’re great, good value I think, and actually it seems to make sense to keep things flexible with your domain separate from your hosting.
- I installed WordPress in my ‘webspace’. Simple.
- Since I own kevinjoyner.com and .co.uk, I put a few lines in my .htaccess file (Matt Hobbs helped me!) to permanently redirect any hit on .co.uk onto www.kevinjoyer.com. I’ve also redirected any request at http://kevinjoyner.com to the www subdomain. It’s best to choose whether you want to use the www subdomain, and stick to it, like I have done. Otherwise, when links to both exist, you could be dividing your organic search ‘link equity’. You can read more about this concern at Stepforth. Working with your .htaccess file can be a bit unpredictable in my experience, and it seems as though the code you need can differ from one host to another. Keep a working backup!
Moving a blog from Blogger to WordPress
- I used to have a blog at blogger, which I published to my webspace via FTP. Blogger do make it really really easy to have a free, hosted blog site, but it can’t deliver a customised website like your own WordPress installation can. The internet is a social channel, as we know, so when you move a blog, you want to preserve all your work and any conversation that followed. Fortunately WordPress can import your blog from Blogger, with the Blogger Importer plugin – that’s what I did.
- The tags from my blog posts on blogger came in as WordPress categories though, so I used the Categories to Tags Converter plugin to convert them.
- The Extreme Georgia theme highlights your categories, and I think it’s good to indicate broadly whether your article is about work or play :) My old blog posts had no categories, so I zipped through categorising them.
- I used to use, on and off, the WYSIWYG editor in blogger, together with a badly styled page; so my old blog posts were a despicable mix of messy random <br />, <div> and <span> tags. <p> tags have semantic significance to search engine spiders so I’ve been through my old posts and standardised all the paragraph formatting.
- I also had to correct all the internal links to URLs where my posts used to be when I managed them with blogger. Rather than hard-coding these internal URLs, I thought it was a good idea to use this plugin called Get Permalink, which has worked perfectly.
Customising WordPress
- WordPress helps to manage the uploading and inserting of images into your blog posts, and it’s a good idea I think that it makes them clickable through to the image file itself. However, my theme was applying hover styling to the links around the images, so they got a dotted underline underneath them when you pointed at them, which shifted all the text beneath and looked rubbish. I fixed this by attributing the picture links (anchor tags) with a class that I called “nohover”. Then I added anchor tags with this class to the theme’s CSS stylesheet (a.nohover {} and a:hover.nohover {}), and gave them both the normal static styling.
- I discovered that the Extreme Georgia theme didn’t have list styles for blog posts, so I added ul, ol and li styling to the CSS sheet. There’s a useful guide to styling lists here, and another resource here, and w3schools.com is an amazing resource too for web development.
- I learnt about the <!–more–> tag. Put this HTML comment into the source code of your blog posts, and WordPress (as long as your theme supports it) will know how much of the article to use as an excerpt on the blog front page. If someone comes to your blog, you want them to be able to skim quickly through the front and see more of the kinds of things you write about.
- I made myself a ‘favicon’ – it’s the little picture that shows in the browser’s URL bar and tabs. I created a square picture in PhotoShop, scaled it down to 16 x 16 pixels (it can’t be too detailed!), and saved it as a GIF. I then found a free converter on download.com called Easy Picture2Icon. It does what it says on the tin. I then uploaded the ICO file to my webspace and made sure the theme files were pointing at it. You can find out more about this on WordPress.org.
- I got a free API key from Akismet and activated their plugin which comes with your WordPress installation – it helps to moderate and reject spam comments.
- I’m also using Really Simple Sitemap to maintain my site map page, and Google XML Sitemaps plugin to maintain a search-spider-friendly XML site map file. WordPress itself also appears to have lots of functionality for SEO friendly things like trackbacks and pingbacks.
- The twitter feed in the sidebar is a widget plugin called Wickett Twitter Widget. It’s really simple, no fiddling with styling.
Tracking
- I decided to go for Sociable to provide the social sharing buttons at the bottom of my posts. It seems popular, and it does look pretty good and is easy to use ‘out of the box’. I wanted to track into Google Analytics user interaction with these buttons though :) and it doesn’t have any native integration with GA. I ended up modifying the plugin so that I bundled into the use target=”_blank” option the application of GA event tracking (I figured out how to modify the labelling in the plugin configuration user interface too). For some reason though, which I’ll have to get someone to explain, I couldn’t get the buttons to fire event tracking and then move to the social site destination in the same tab, even when I used “return false;” on the end of the link’s onclick attribute. With no “return false;” the tracking doesn’t fire; with it, the destination doesn’t load. I’ve added both target=”_blank” and the tracking in together, and it works. Probably it’s best to have these buttons open in a new tab anyway.
- I installed global GA tracking (async, split snippet, in the header and footer theme templates), but I also use a modification for when the 404 page displays. I like to track the actual requested URL, but I also like to label these as 404 pages. You can then set a GA intelligence alert if you want, or just filter your content reports, to keep an eye on people requesting pages that don’t exist on your domain…. I used some PHP logic to swap in the modified tracking when the theme header template is used for the 404 page.
The whole point of all this of course is the content; hopefully I’ll be able to blog relatively frequently!! The other thing is that this theme I’ve chosen, while classy, could do with a few more splashes of colour. I’d like to incorporate some more pictures, and I’ve got a few photos that I took myself, so… maybe a Flickr plugin… :)