Notes on a Website
Creating websites since the early days of the internet I’ve worked on many great projects, but also some terrible ones.
In an attempt to understand what makes a good or bad project I started writing lists. These lists have evolved into a guide for clients, designers, developers or anyone interested in creating websites.
Be clear about your objectives
Setting top level objectives is an important part of a project. Understanding what is being asked, what’s needed and what resources are available will help select the right approach.
- What are you trying to achieve?
- Why do you want to do this?
- What is your timescale?
- What are the budget expectations?
- What resources are available?
- What will success look like?
These top level questions all lead to the big one… how are we going to achieve this?
Good, fast, cheap… pick two
This poster is next to my desk to remind myself (and visiting clients) of the tension between quality, ambition and budget. Squeeze one and the others will inevitably be effected.
- Good & cheap will not be fast
- Good & fast will not be cheap
- Fast & cheap will not be good
This is not to say the holy trinity of good, fast AND cheap is unobtainable, but know which one you are flexible about.
Discovery sessions encourage engagement
Creating a site is a collaborative effort, get all the key people involved at the start.
- Gather information that will inform the planning
- A mix of meetings, questionnaires, workshops and conversations
- Include key personnel and end users to ensure wide input
- Review your current site and your competitors’, what are they doing well (or badly)
- Discovery often reveals other areas that need investigation
- Chase out assumptions at every opportunity
- Momentum is vital, it should build through the project as you get closer to launch
- Web is not print; launched does not mean finished
- It’s easy to get distracted so – ooo look, cats!
- Keep referring back to your objectives
- You are not the end user
- Users don’t read, they scan
- Build it and they will come is not true
- Know your users preferred platform (desktop, tablet or mobile)
- Users don’t notice good design in the same way they notice bad design
- Users will battle through bad UX if they are motivated by the content, product or service
Content is (still) king, but what the user does next is more important
In January 1996, Bill Gates published an article titled Content is King that helped set the tone for the early years of the internet. Many of his predictions have come to pass but it’s notable that there’s only a fleeting mention of transaction. 25 years on much of the web is e-commerce and service delivery but the main driver of search is still content.
Content is the starting point for most searches, if you understand search intent you can craft content which your audience will find useful, valuable or relevant. However, what the ‘user does next’ is arguably more important.
A call to action (CTA) is a button or instruction indicating what the user should do next:
- Deadlines are meaningless if you have no content
- Organise content for the benefit of your users rather than simply a reflection of your organisation structure
- Break text up with sub headings, they make it easier to read and are good for SEO
- Seeing first draft content in situ will help with the edit
- Find someone who can proofread
Clients who get the best sites share common traits
Some projects run smoothly, others have a better end result. While there are always external factors, success (or otherwise) comes from how all parties approach the project. When more time can be spent on what’s on-screen rather than the process good work ends up costing less
Generally it’s more likely good work will come when clients:
- Have time to be engaged with the process
- Are web literate or are willing to learn
- Describe the problem rather than the solution
- Are flexible about requirements
- Are up front and realistic about the budget
- Are responsive to questions
- Make decisions quickly
- Supply content when agreed
- Understand the launch of the site is just the start
- Pay invoices promptly
- Design by committee is a bad idea
- A single point of contact will improve the process
- Social media is not a magic bullet; a logo on your site is not a social strategy
- The site will look and feel different once it is live
- Do one thing, evaluate, do another, evaluate
- Good support is worth its weight in gold when you really need it
- Security matters, at least start using a password manager
- Pay promptly and your supplier will go that extra mile for you
Understanding data structures will improve design decisions
- Pages – display in a structure
- Posts – appear in sequence
- Custom Post Types – behave like a page or post
- Taxonomies – categories / tags
- Product – filter by name / price / taxonomy
- Event – filter by name / date / taxonomy
- Media – images / documents
- Blocks – individual page elements
- Reusable Blocks / Widgets – global elements
- Short Codes – easy way include functionality
- Include – pull in content from other pages
- Custom Fields – as required
- Your font is probably too small for good legibility
- Stock photos will always look like stock photos
- Wireframes help separate thinking about layouts and styles
- Mobile first (usually)
Use a Content Management System
Most sites are now run by content management systems (CMS) that allow pages to be edited via an admin area, while functionality is added with plugins, add ons, extensions (each system has its own terminology) or third party services.
Selection of the platform should be based on requirements, but in reality most modern CMS are very capable (though some are better than others) so it often comes down to your developers’ preferred system.
My preference is self hosted WordPress running on a dedicated managed server *
But there are many other systems:
- If you want to set up a your own blog consider WordPress.com
- If you want to set up a your own site consider Squarespace
- If you just need an e-commerce site consider Shopify
- If you need an enterprise level CMS consider Drupal
- If you need a .NET environment consider Umbraco
Clients like WordPress
I’ve used many different CMS but over the last 10 years I’ve seen WordPress evolve into a stable, secure and adaptable system which is suitable for most projects. It is also widely supported and clients find it easy to update, one of the key reasons it has become so widely adopted.
- Open source software which can be adapted to suit
- Faster time to market than self build
- Clients find the editor easy to use
- It’s themes are totally customisable
- It has the flexibility to handle different content types
- The blocks editor means advanced layouts are easy
- Many plugins to extend functionality i.e. E-commerce, Events
- It is scalable for large sites with high traffic volumes
- Use as an application framework via REST API
- It has good multilingual support
- It can be hosted on your own server
- Well structured for search engines optimisation
- Fast when hosted on a good server
- It is constantly evolving (roadmap)
WordPress had a reputation for being insecure, but problems are usually down to poor implementation or not it not being updated and has proved to be WordPress is secure when actively managed:
- Keep core version and all plugins updated
- Valid security certificate (SSL)
- Use strong passwords and 2FA
- Add plugins for enhanced security
- Latest version of PHP and MySQL
- Use good hosting
Global styles are set by editable themes:
- Parent theme – framework
- Child theme – keep customisation separate from parent theme
- Responsive – layout adapts to suit desktop, tablet or mobile
Plugins add functionality i.e e-commerce, events:
- Use best in class plugins with good reviews
- Make sure the plugin is updated regularly
- Using lots of plugins can slow the site down
- Many plugins offer a basic free version with paid enhancements
Various user level restrict editing permissions:
- Admin – access all settings
- Editor – publish posts and pages
- Author – write (but not publish) posts and pages
- Shop Manager – manage items / process orders
- Custom – bespoke user settings
- Core- three main updates per year
- Minor releases – throughout the year
- Plugins – update as new versions become available
- Open source does not mean free
- Minimum viable product is useful when starting out or testing ideas
- It’s easier to fix small problems after minor updates than big ones after major updates
- Don’t launch on a Friday or the day before a marketing push
- Test on actual devices
- Not everyone is on fast broadband
- Accessibility is vital for users with different needs
- The ways of Google and Facebook are the ways of Google and Facebook
- Sometimes the best interface is no interface
- You are better than your last website
- It’s only a website