What makes a website good?
It's simple, really. A good website is one that achieves its goals. It creates the desired impact on the visitors who make use of the website.
Great! Now what does it take to make a website capable of achieving its goals?
It's Not Just about Content
Content is king!
It is. Especially when it comes to websites. Without the right content, visitors will quickly leave your site for one they'd rather consume. The web is all about content.
And yet, unfortunately, content isn't the only thing necessary to satisfy users these days. Good websites are performant, engaging, secure, and accessible, in addition to having the content their readers want to consume.
Success Takes More than a Minute
Today you can spin up a site in minutes from a number of different providers. That's cool and super valuable in getting you started. It's tough enough when you have to spend a bunch of time or money just to see if anyone actually wants to consume your content.
But eventually, if your project catches on, that 60-second solution isn't going to be enough. Your site will need to stand out. You'll probably need to bring in a developer. It's going to take work to get it to meet the standards of your growing user base.
Traits on the Path to Success
When you set out to achieve something with a website, you're on a journey. Your site will grow and evolve. The tools that power it will change over time.
Underneath those tools, underneath all that code and content, are a handful of principles, traits of the inner-workings your site, that make it ready to succeed.
Here they are.
1. Start simple. Add complexity only as needed.
There is a lot of cool and powerful tooling out there today. And the landscape is changing almost daily. Most websites don't need a lot of fancy tooling. Just a few things to get the job done.
A good website makes use of only the tools it needs. It's built to serve its users, developers, and editors in a balanced and productive manner.
2. Drive presentation through content stored separately.
Ultimately, it's HTML, CSS, and JS code that drive the display and behavior of a website. But the arrangement of those pieces should be dictated by content, and that content should live separate from the functional code.
When it comes to editing content on a good website, there should be no need to write code.
3. Minimize lock-in to any one particular vendor.
The landscape today has a lot of players vying for your attention. Don't get stuck in a position that makes it difficult to move from one to another (because of the vendor, not the size of your site). This begins with your front end framework and extends all the way to your hosting provider.
Though it often takes substantial effort, a good website can be transported from one vendor to another, without starting from scratch.
4. Use the most effective tool for the job.
Sometimes it's okay to go after the new and shiny thing. But if you're going to take a website into production, it's important to have a handle on the capabilities of the tooling that makes the website run. You must be confident in your ability to work with these tools and know that these tools will be able to support your website, not just today, but for years to come.
A good website is built on top of tooling that is is solid and serves both its developers and users.
5. Design and build with the system in mind.
Today's component-driven frameworks make it trivial to break up code in a way that is reusable. Components should be designed and written in a way that makes them easily adoptable throughout an application. It's better in the long run if you work from the system than build individual, ad hoc solutions throughout your code.
Good websites built with solid design systems can be iterated upon quickly and effectively.
6. Edit content with the immediate context in which it will be presented.
You do not need to sacrifice the editing experience in favor of the technology you're using. Content changes can be instantly previewable within the context in which it will be deployed by those who are editing the content. That could be a developer, who can run a development server. Or it may be a non-technical editor, who requires a third-party service to preview content in real-time before publishing.
A good website considers the content editing experience as important as the development and user experiences.
Starting with the Goals in Mind
At Stackbit, we operate with an opinionated version of these principles in mind. When you start from a Stackbit theme to build your website, we believe we're giving you a really good one. One that you will be able to keep for years. That is ready to achieve your goals. That will serve you today, when you have only a handful of visitors, and it will scale with you tomorrow, when you have thousands.
Curious? Give it a whirl!