Disclaimer: my life has not actually been saved by LinkedIn. A man called Steve once saved my life by grabbing hold of me just as I was about to walk out in front of a car (thanks Steve!).
A couple of months ago a server I have hosted with MediaTemple fell over. It had been attacked by a fairly persistent hacker – a basic denial of service attack, where heaps of traffic is sent your way in the anticipation that your server will crash and people will not be able to access the websites on that server. From (the ever reliable …) Wikipedia:
an attempt to make a machine or network resource unavailable to its intended users. Although the means to carry out, motives for, and targets of a DoS attack may vary, it generally consists of efforts to temporarily or indefinitely interrupt or suspend services of a host connected to the Internet
So. Really, I’ve been hosting websites for the better part of 10 years and this is the first time I’ve had such a problem – honestly, I tried to count myself as lucky in that regard. However, when you’re going through it you don’t feel lucky. I had maybe a dozen clients hosted on that server – some in the US, some in Ireland and some in the UK … so I was getting understandably frantic calls from a variety of time zones.
Thankfully, the web host themselves were really helpful – they increased my resources flexibly so that I could at least work on the server whilst we resolved the problem. But the real help came from the LinkedIn community.
The first thing I did was posted a question on LinkedIn to all server managers – asking how best to tell whether the security of the server had been compromised. Then, as a follow up question, how I could detect and prevent such attacks in the future.
Within 20 minutes I had half a dozen really helpful sysadmin’s helping me with the problem – and ended up with a good few software recommendations that I was able to install on the server within an hour or so.
Good stuff. A problem that was really stressful was dealt with calmly by system professionals – using me as their willing conduit! I made some great contacts there and can’t recommend the LinkedIn community enough.
Some of the solutions I looked at (I implemented 2 of these):
Cheese and websites … two of my favourite things, and brought together so wonderfully with this deceptively simple little ecommerce project: The Cheese Hub.
They’re business based in Leitrim that have some lovely looking hampers and a really interesting business in cheese maturation for local producers.
Shelves and shelves of maturing cheese line their walls – a great way to support local businesses who might be wanting to diversify their farm-based income. Those producers can now outsource the labour intensive and space demanding ripening, maturing, cutting and packaging functions of the operation. Good stuff. (I’m hoping I’m saying all the right things here and that maybe a little cheese might come my way this Christmas …)
Check out the site – both on your computer, and your hand held device of choice.
There’s a new CMS about to be released that could genuinely offer something new: Blocks. The guy behind it has worked extensively with Expression Engine (beloved of developers everywhere) and definitely has the pedigree to pull off something special. The question is: has he?
For the past couple of years WordPress has been my ‘go to’ CMS for any site that has required it. In recent times, with some of the great plugins mentioned here, it has really become a powerhouse – suitable for pretty much any project that has come my way. However, it’s not without it’s drawbacks. For all it’s prevalence, it can still be a beast to use for clients. The admin area is simply ugly – despite improvements with each release. It’s not as intuitive as it might be. And so on. It’s great, but, well, not quite great enough.
So, there’s clearly space for another CMS. But it’s not an easy thing to pull off … I like Perch, but when I used it (admittedly a little while ago), it didn’t feel like something I’d be comfortable handing off to clients. I also like Expression Engine but it’s too much for most of the projects I work on. With a bit of luck, Blocks will be just right. The only screenshot available suggests that it’ll be a good bit simpler than either WordPress or Expression Engine:
Who’s it for?
Blocks was built for web designers and developers who like to code every last HTML node by hand. It’s for web agencies that strive to make their clients happy by delivering the best solution possible. And it’s for site owners, who just want a simple tool to keep their website updated with fresh content, without going up a steep learning curve.
So far so good. We’ll have to wait and see how it turns out – private beta is due to open soon, but the creator pedigree is there, the thinking behind it looks good, the pricing model seems fair (core is free, with various add-on’s costing between $50 & $100), it will be extensible with solid plugin architecture, and so on. So far, we only have this to go on, but it’s enough to raise an eyebrow and some hopes.
I’ve been spending a good amount of time in WordPress lately – with two projects in particular really testing it’s capability as a full content management system. Since WordPress reached what we might call ‘full maturity’ with version 3.0 back in June 2010, it has become an incredibly powerful system – not just for blogging but also for running websites as a full CMS.
The introduction of custom post types and custom menus meant that pretty much anything was possible within an extremely flexible framework. There are dozens of plugins that really help extend WordPress and give developers greater control over content and how it is managed. I’ve come to rely on 3 or 4 that range from the super simple to implement to the slightly more technical – but certainly usable if you have some PHP knowledge.
This first one is a biggie. Custom post types allow you to turn regular wordpress posts into database entries for whatever you like. I’m working on a property portal website – so a ‘property’ becomes a custom post type. Each property might have property details, a photo gallery, a google map, and so on … by creating a custom post type I can then add whatever fields I want – in a variety of different formats (e.g. check boxes, drop down lists, text boxes, and so on). You might have a field for ‘number of bedrooms’ in a property portal … well, ECPT allows you to easily create a drop down list so you can select the number of rooms. Good stuff.
The plugin is developed by Pippin Williamson and is well supported too – frequent updates extending it’s capabilities. There are also a number of cheaper add-ons that give you even greater control over the post types, and associated taxonomies.
Advanced Custom Fields is a plugin that plays extremely nicely with the ECPT plugin above. What it does is takes one piece of functionality from ECPT – creation of custom meta fields – and makes it prettier, more usable, and adds a ton of functions to it. Most of what can be done with ACF can also be achieved with ECPT – but not as readily, and not as smoothly. ACF allows you to create groups of fields for your custom post types – and adds some significant benefits as well.
In creating a website for an events company, we used the ‘repeater’ field type to easily create event pricing schedules, event agenda, as well as speaker lists and talk topics. The list of field types you can create is greater than in ECPT – with colour pickers, date pickers, and the like making it incredibly flexible. The image below shows some of the fields involved in the custom post type of Events. You can see how we have a Date Picker for the event date, regular text in there, a repeater field for event timings, a full WYSIWYG editor for event description, some images associated with the event … and so on. All of this generates hooks for you to add code in your template to pull out the information.
WordPress SEO is, simply put, the best SEO plugin available for WordPress. At a very basic level, it allows you to set custom page titles and meta descriptions on a page by page, post by post, basis. Then, for each piece of content you generate, you can assign a ‘focus keyword’ – so if you want your page to be targeting a specific keyword or phrase (yes, you do want this), you can use a simple tool to determine whether your page is well set up for that phrase. The plugin will help you find associated key phrases that you may also want to work into your content, will help you analyse the page itself – and essentially gives you all the tools you need to control how you show up in google’s search results.
Add to that the ability to set custom defaults for different categories, taxonomies and custom posts – and there’s more here than you’ll ever need.
If you run a wordpress powered website and are concerned about search traffic, then you should be looking at this plugin. In recent releases there are a few bits that irritate – such as the automatic customisation of your Posts list with SEO scores and such, but these can be hidden easily enough.
Posts to Posts is perhaps for the more technically minded developer out there. It’s a remarkable little plugin notable for it’s simplicity and effectiveness. It provides a mechanism for you to create connections between different types of content. So, again, in the events website we’re working on – we can quickly create a connection between an event, and an agenda. Two different custom post types that, previously, could not be connected in the WordPress interface, now can. That connection allows me to pull in event information on the agenda page and agenda information on the event page. Simple.
It doesn’t stop there though – you can create relationships between posts and users, users and pages, and so on … any piece of content in wordpress can be connected to any other. Without this plugin, I’d be crying quietly in a corner somewhere. Actually, Pippin’s Plugins has a nice write up of it here.
Like I say, it’s a bit more technical – not for your casual wordpress user, but it is hugely powerful.
Other plugins that have been useful, but might fit into the more day to day aspects of running a wordpress site include …
- Duplicate Post plugin – does what it says on the tin. You’ve got a post, you want another one to be based from it – this is the plugin for you. It also works with custom post types, and will duplicate all child posts as well in one click, should you so desire. Invaluable.
- Contact Form 7 - it may not be the most easy to use contact form manager for wordpress (by all accounts, that’s Gravity Forms), but it is free, it is powerful, and it has become my default ‘go to’ form manager.
- Role Scoper - this really helps with multi-user wordpress installations, giving you the power to define permissions for editing content on a user by user, post by post, category by category, basis. I built a corporate intranet for 200 employees using this – and it worked like a charm!
So, that’s it … if you’ve any other essential wordpress plugins you’d like to share – add a comment below.
As I wrote briefly last month, the website for Claremont Insurance Services has now just launched. It looks well, and I’m pleased with it (as are they it seems). They’ve a ton of content – almost 400 PDF downloads – and a whole bunch of functionality included (logging in to a 3rd party website, custom admin functions, etc.) and the whole thing looks well – take a look.
The part for geeks wanting to know a little bit about how it works is below the screenshot …
Custom WordPress Development
… so, this is probably the most complete project I’ve undertaken when using WordPress as a full Content Management System. Primarily, I’ve used WordPress in the past for adding blogs to websites … rather than developing the whole site in WordPress (although ticktockdesign.com is also entirely in WordPress). But the site for Claremont is built solely on WordPress.
This presents a challenge when you have a lot of custom content – which this site does. Take, for example, this page. In traditional, blog like, deployments of WordPress you would be given one text box to enter content in and you’d be able to then assign that content to a category which would determine where that content would display on the website.
However, that wouldn’t cut it for this site. I needed to get stuck into Custom Post Types and Custom Taxonomies.
Easy Custom Post Types
A custom post type allows you to configure a ‘post’ in wordpress with multiple options. So rather than just one text box, you can have multiple – in this case, I have one box for the introduction text, one for the ‘Overview’ tab, another for the ‘New Groups’ tab. All in the one post type. I can then link these posts to any number of custom taxonomies. A taxonomy is a means of organising content – and in this case, the content is linked to a number of taxonomies. Clicking on the ‘Benefit Summaries’ or ‘Forms’ tab displays a list of downloadable PDF files. (Each of those files is stored in another custom post type actually – containing the download, and some associated text). The PDF’s are split into a number of taxonomies which then link the downloadable file to the original post.
Confused? Well, yes, it can be a bit confusing – but the gist is this: using custom post types and custom taxonomies you can create complex websites and content management systems. It’s great. Plus – and more of this in a future post – there are great plug-ins that help you with it. The most complete is the Easy Custom Post Type plugin from Pippin Williamson which enables you to easily create and deploy custom post types.
If you’ve a need to develop a customised WordPress website I can heartily recommend the ECPT plugin - it provides a robust framework for moving WordPress out of purely a blogging engine.
It’s shaping up to be a busy summer at TickTockDesign … and I’m not talking about the kids being off school for 9 weeks. (NINE!)
About to hit the streets is the new website for Claremont Insurance Companies – a General Insurance agency based in Walnut Creek, California. There is some connection in this … for about a year I lived in Walnut Creek, California (it’s in Northern California – east of San Francisco) and made many great friends there. Sometimes friends come back with work for you – and that was the case here.
The design is nice and fresh – giving the corporate image a much needed lift. The whole site has been developed using WordPress which has become my go-to content management system thanks to it’s increasingly flexible approach to content management. Augmented by a couple of excellent plugins (Easy Content Types and Advanced Custom Fields) there really is very little it can’t do.
The new design is responsive – it’ll adapt to smaller screen sizes, although primarily optimised for the iPad and iPhone it’ll behave nicely with Android phones and tablets too. I’ve got before and after shots here:
And on the iPhone
Next on the block …
Claremont should go live in the next week or so. Following that a couple of projects shrouded in mystery (oooh …. ) Sort of. I’ve got one project for the manufacturer of a specialist cycling product. It’s good working with inventors – they’re passionate, knowledgeable and focused. This project won’t see the light of day until January at the earliest I’d estimate – but it’s a fun one to be involved with and lots of interesting design possibilities.
The next is a huge, sprawling website for an event organiser. In a previous life I worked at a couple of conference companies … now, I’m working on a site to launch a new one. It’s exciting – the energy of the start up and an industry with which I’m extremely familiar. Lots of WordPress-y goodness with this one too.
In between times, I’m doing some work for the crowd that manufacturers the engine for the new Morgan 3 Wheeler … If I can wangle a test drive, I’ll let you know! For now, the design will have to suffice:
So, that’s about all that’s happening. As I say, a busy summer ahead. WIll keep you posted as the sites progress and launch!
This weekend I was trying to set up sub-domains in MAMP Pro to replicate the server set up for a new project I’ve taken on. Although this task is actually quite straightforward in the end, I couldn’t find any decent documentation on it until this article by Mark Van Der Putten got me going in the right direction. Thanks Mark!
Meanwhile, in the comments were requests for the step by step to be written up. Mark obviously hasn’t had the time, so I wanted to jot down these notes for anybody they might help. So, to create and use sub-domains with MAMP Pro, follow these simple enough steps:
- open Mamp PRO, click hosts and create a new host that you will use to map for your primary domain
- choose a Disk Location for this new host, and a server name, say: mydomain
- now, create another new host that you will use to map for your subdomain, choosing a new disk location whilst you’re there. (I develop in one folder called ‘code’ and in that I have a new folder for each sub-domain)
- give this new host a different server name, say: subdomain
- for this new sub-domain host, click the ‘plus’ sign beneath the aliases box, and create an alias: subdomain.mydomain
- and that’s it. Typing subdomain.mydomain:8888 will now map to the new host you set up as the sub domain
Hope that helps somebody.
A post of mine explaining some of the factors influencing the price of e-commerce websites has just been published by FreelanceSwitch:
“I would like an e-commerce site just like someothershop.com – how much would that cost me?” - It’s a common enough question, and one that always leads your average freelance web designer to take a deep breath and sigh ‘Well, let me see …’. There are many factors that influence the cost of an ecommerce web project, but when you communicate the vagaries to clients, there tend to be three that can have a huge impact – and are often only dealt with summarily: products, postage and payments
You can read the full article here: Pricing Ecommerce Web Design Projects
Right then – this post is primarily for those who attended my recent online marketing workshops which took place in Derry through September – but there’s plenty here for anyone interested in understanding more about how websites work – especially in relation to search engines and social media.
So, I’ve broadly categorise the resources as follows:
- My presentation as a PDF
- My presentation as a power point document – which contains my notes for each slide where applicable.
Setting Goals / Objectives for your website
- an extremely good book I read which covers this subject is Paul Boag’s Website Owners Manual I recommend it without reservation
- Paul has also written good articles about the business of owning a website – check out his blog and in particular when he writes about marketing and web strategy
Working with Search Engines
During the course, the area we spent most time on was working with the search engines – and search engine optimisation. Probably the best single resource for this area is Google’s own guide – you can read their web page here and at the top of that document there is a link to their PDF guide which I recommend everyone reading. Download it here.
- I also used this book for some background research into the topic – Search Engine Optimisation, an Hour a Day. It’s a good book and a good methodology – but it’s hardly essential reading for most of you.
- A great resource from a company I mentioned in a couple of the presentations – SEO Moz. They have a free guide – written from a more commercial perspective than Google’s guide, and you can download it here from a link on the right hand side of the page
Getting started with Social Media
A couple of presentations I used to get statistics / information from:
- a good intro ‘What is Social Media‘ which contains some basics and some good stats
- here’s a really good book that I again recommend without hesitation – but really only if you’re determined to get stuck in to facebook: ‘Successful Facebook Marketing‘ – which is also available as an eBook here: NetTuts Marketplace
That’s about it. I should point out that where I’ve linked to books, I’ve used affiliate links – i.e. if anyone finds this blog post and purchases a book from one of the links above, I’ll make literally Some Pence from the sale. That said, all the books mentioned above I own and recommend – and all were used to varying degrees when preparing the seminars I gave in September.
Great. If you’ve got any questions, just holler.