Saturday, June 11, 2011

How do I setup my own website?

A post in the style of random notes today: I’ve been making a new website for The Inelegant Gardener – there’s a teaser here, I’ve done this before for the Chester Liberal Democrats. I thought it might be handy to provide a compact description of the process as a reminder to me and a warning to others…

The steps are as follows:

  1. Getting a domain name
  2. Finding a web host
  3. Making your website
  4. Going live

1. Getting a domain name

The domain name is the www bit. You can put your domain name registration with your web host but conventional wisdom is that it’s better to separate the two. I chose http://www.just-the-name.co.uk/ based on a twitter recommendation. Once you’ve chosen your domain name, you get access to a simple control panel which can be used to redirect your domain name to another site (such as this one), set up e-mail redirection and so forth. Mine gives me access to DNS Settings but I left these alone. When the time comes you’ll need to set the names servers to those provided by your web host.

2. Finding a web host

A web host is where your website will live. In the end I settled with EvoHosting for a few of reasons: they have live status updates for their servers, they have a twitter account and mentions of evohosting on twitter do not reveal any frustrated users, a search for the term “evohosting is crap” reveals no worrying hits in Google! They’re also reassuring slightly more expensive than the cheapest hosting solutions which seem to suffer from the “X is crap” syndrome. I selected a scheme that allows me to host several sites.

3. Making your website

You can make a website using Wordpress – the blogging software. Building a website is a question of managing content – and for a small site Wordpress does this nicely and is free. You don’t have to be blogging to use it – you can just make a set of static pages. I understand that for bigger sites Joomla is good. Wordpress is a combination of a PHP application talking to a SQL database. I found a passing familiarity with SQL databases quite handy, not so much to write queries but just to know the basics of accounts and tables.

Wordpress handles the mechanics of your website, what goes where, posting and making pages whilst the “theme” determines appearance. I’ve used the Atahualpa theme for my two websites so far – it’s pretty flexible, although if you want to put anything top-right in the logo area I’d find a good reason not to - I’ve spent days trying to do it to my satisfaction! For debugging your own website and snooping into others the developer tools available on all major browsers are very handy. I use Google Chrome, for which the Window Resizer and MeasureIt extensions are useful. Window Resizer allows you to test your site at different screen sizes, and MeasureIt measures the size in pixels of screen elements.

I’ve found Paint .NET useful for wrangling images, it’s either the old Windows Paint program on steroids or a very limited Photoshop.

For my efforts I have created the website locally, on my own PC, before transferring it to web hosting. I’m not sure if this is standard practice but it seemed a better idea than potentially thrashing around in public as you learnt to build your website. To do this I installed xampplite, this gives my PC web serving capabilities and provides everything needed to run Wordpress –except Wordpress which you need to download separately.

Wordpress can be extended by plugins, and I’ve found I can achieve most the functionality I’ve wanted by searching out the appropriate plugin. Here are a few I’m using:

  1. Contact Form 7 – to create forms
  2. Drop cap shortcode – to easily add drop caps (big letters) to posts and pages.
  3. Dynamic Widgets – to put different widgets on different pages
  4. NextGEN Gallery – more advanced photo gallery software
  5. Simple Page Ordering – allows you to shuffle the order pages appear in your static menus, which is a bit tricky in basic Wordpress
  6. WP-dtree – a dynamic tree structure for showing the blog archive, as found in Blogger.
  7. WP Maintenance Mode – for hiding your site whilst you’re fiddling with it!
  8. Wordpress Mobile Pack – a switcher for making your blog more readable if someone arrives using a mobile browser

Since Wordpress is a very heavily used platform there’s a lot of help around, you identify Wordpress sites by looking in the site footer, or viewing the page source (Wordpress sites tend to have references to files starting “wp-“)

4. Going live

I must admit I find the process of moving a site from my own machine to a web server the most complicated bit of the process – you can see the instructions on the Wordpress site here. The basic idea is to change the base URL for your website to the target address then copy the pages (zipped them all up before upload) and the database (using phpmyadmin import/export) of the Wordpress installation to the web host. If you want to keep your local copy running then you need to take a copy before changing the base URL and load it back up once you’ve done moving. Things that caught me out this time: I had to use MySQL to create a database into which to import the database, and it wasn’t enough to create a user, I also needed to attach it to the appropriate account, and I had to save the settings on the permalinks for pages to show up. Finally, I also had some typed links in my website, which needed manually adjusting (although you can do this automatically in MySQL).

I wish I knew a bit more CSS, my current technique for fine tuning appearance involves a lot of rather ignorant typing, a bit more knowledge of good graphic design wouldn’t go amiss either!

This is the way I did it – I’d be interested in any suggestions for improvements.

4 comments:

  1. I tend to use the WP export/import as XML function to make the initial transfer from my local to web host (or to move an existing installation to a new location). I find it much less hassle than trying to transfer the database through phpmyadmin as there's no need to worry about changing URLs.

    But one caveat - the XML transfer method doesn't remove any existing data (posts, categories, metadata, etc) from the WP you import to - it just adds the new stuff to the database. That means the database transfer method is safer if for any reason it's crucial for ID numbers to remain the same (for most installations this probably won't matter, but it might do if you use permalinks based on post IDs rather than dates).

    ReplyDelete
  2. @Sharon - thanks for your comment - I see from following your signature you have quite a lot of experience with this! I might give the import/export route a try next time (I'm thinking of migrating this blog to self-hosted wordpress). Now I've discovered maintenance mode and have some web hosting it may be easier to just develop in-place.

    Another reader has suggested a couple of resources:

    1. http://www.kompozer.net
    "It’s free, writes good clean code, and has its own FTP programme."

    2. Open Source Web Design "...a useful source of templates"

    ReplyDelete
  3. This is a great post. I think far too few Lib Dems are aware of how great WordPress is for creating and maintaining a website.

    I run Politico Internet and am also a Lib Dem member and activist in Reading.

    I feel quiet passionately that as a party we need to up our game with regards to websites- see my articles on Lib Dem Voice - and have a few things to add.

    The idea of developing a website locally before moving it to a live server is great - though not all people have the time/inclination to get familiar with MySQL.

    It can be tricky to move your entire WordPress website from one place to another - which is why I have licenced and installed the BackUpBuddy plugin for all my customers.

    This way, you can backup, migrate and restore your WordPress website to your hearts content, both the files and the database. The plugin also allows you to automate backup schedules and send your backup to an offsite cloud-based system like Dropbox.com.

    See my YouTube video on how easy backups can be here.

    With regards to WordPress themes. I've used a few in my time, and like most things in life, I found that paid-for, or 'Premium' themes tend to rock. Which is also why I provide a premium theme with my hosting packages. It should be easy to change colours and logos, and it is, with the right theme, see my other YouTube video for a demo of this theme.

    I have a twitter account, I'm available if not 24/7 (I have to sleep!) then at least within office hours, and will often answer e-mails outside office hours, and I can register domain names or accept them to be pointed from just-the-name which from personal experience I know to be a great company.

    My prices - for what I offer - I think are very reasonable. They are certainly cheaper than some alternative hosting providers, though I too am wary of a race to the bottom price-wise, a business has to be sustainable in the long term.

    In short, I think my company removes a lot of the learning curve and problems you describe when starting out with WordPress. I install if for you, provide a very flexible theme, some great plugins to start you off, and I can host it for a reasonable price.

    Sorry to hijack this thread a bit, but I know the problems local parties are having, and I've felt the pain myself which is the reason I started Politico Internet. I'd love for your readers to consider using Politico Internet as a web host.

    ReplyDelete
  4. @jason - I'll allow you your just- about-on-topic hijack ;-)

    I did a quick survey of local party websites when I made the Chester one, it surprised me that none of the parties were particularly uniform in their presentation. Wordpress is nice standard, open technology for making websites although it's probably illiberal to make local parties comply with central edicts!

    ReplyDelete

I've switched commenting off to encourage you to go to my new blog at:
www.ianhopkinson.org.uk

Note: Only a member of this blog may post a comment.