It’s time to build a website, which means you’re about to take one of two paths: code from scratch or work from a template. Coding a website from scratch allows much more freedom and customization but is a little longer of a route. The second path, starting with a website template, is much quicker and simpler but can limit your creativity.
Both methods have their pros and cons, and realistically you can probably make either option work. But that doesn’t mean that one isn’t a heck of a lot better than the other for the particular project you’re working on.
Ask yourself these four questions to decide if coding from scratch or from a template is best for your next website.
Do you have the skills to code it from scratch?
How difficult is the website you need to build compared to projects you’ve done in the past? Is there a learning curve to tackle, or does the solution come naturally to you?
If you know where to start and how to get to the final product, then by all means keep coding from scratch as an option. One of the benefits of a template is that it does a lot of the structural work for you. That’s great if you need the help, but if you know what you’re doing, a template might get annoying with its limitations.
If you don’t have the skills yet to complete this project, that doesn’t automatically rule out building a website from scratch. Be honest with yourself: Will you be able to gain the skills needed in a timely manner? Or is it best for your client (and your sanity) that you sit this one out and start with a template?
There’s nothing wrong with challenging yourself with a new project. But be realistic and choose your battles with code.
Do you have the time to code it from scratch?
What’s the deadline for this project? Do you have adequate time to play with it, or does it need to be done by, like, yesterday?
One great thing about templates is that they’re quick and easy to set up. Sure, you might still dive into the code to change certain aspects, but overall you can go live pretty quickly. If your client just needs a site up fast and isn’t too picky about how it looks, using a template is a pretty great option.
If you don’t have such a tight deadline and have time to play with a website, feel free to experiment. Play with the code and make it something truly unique and special for your client.
Does the client need to understand the code?
Your client may know nothing about code or everything about code. And if they want to be involved with the website once you’re done building it, you have to keep their skill level in mind.
If your client only knows the basics of HTML and CSS, you’ll make their life a lot easier by building off a template. Using a WordPress layout, for example, will allow them small customization options without ever having to dive into the code. They’ll love how easy you’ve made it for them.
For advanced clients, or the clients who never want anyone to touch the code besides yourself, go nuts. Start from scratch and have fun it with. Since it doesn’t need to be simplified, don’t settle for the basics. Go ahead and use those fun tricks you’ve learned over the years to make a killer site.
Is the layout advanced or pretty basic?
If you know of a template with the exact layout you want to achieve, why would you code it by hand?
If you’re going to change the structure significantly or are trying something advanced, coding from scratch makes sense. If the solution is easier because you’re building it up on your own, go for it.
But if you’re just trying to achieve a basic website layout that’s already been done before, why wouldn’t you save yourself some time and just use the template? You’ll still have the opportunity to dive into the template code to personalize things, so make the project easier on yourself.
It’s cool to show off what you can do with code, but always remember to keep your client’s needs in mind over your personal agenda for the website. If their needs call for a really advanced, custom website that you have plenty of time to work on, do it. Pour your heart and soul into it. But don’t code from scratch just to code from scratch.