How can you go online without a server ? But you need a bit more than just that and installed service softwares. Speaking of services :
1 - Installation manifest
Keep a manifest of what is installed, how and all process you may run.
You can start to keep a file where you paste all CMD you will run. This manifest gonna save you time in case you have to re-install everything, let’s say on an additional test server, or if you want to switch to another host service.
Of course that’s just the level 0. Better than just a file, you can find solution to automate the installation / configuration. It might be really useful if you start to run multiple similar servers and/or get a complex architecture. Check for instance Ansible.
You can also go for more advanced dock packaging with Docker… But that’s may be overkill for this article.
Any solution you decide to use, don’t forget to back up any configuration / code as well.
2 - Source backup
It’s impossible that developer don’t backup sources in 2019. GIT is the most popular source repository used today. In case you don’t know what is a source repository, it handles backup of sources, as well as versioning (want to cancel a bad development ?) and branches (for collaborative development). So cheap and easy to use that It should be a crime to do not.
3 - Database backup
Because what could go wrong … and you really don’t want to loose your precious data, don’t skip this at all.
The minimum is an integral backup that run automagically every X hours. Depending on your service, different strategies can be used. If you rely on a hosting service, they probably provide a backup option for you. If you host your own database on your server, you have to setup your own solution.
But back up isn’t just saving the data. A restoration process is also due. When your server go down, it will not be the right time to figure out how to plug back the data and discover how much time it takes … Only if you know that something went wrong.
4 - Monitor your server
You gonna have down time. Everybody does. No exception. Not even Google. Server monitoring is mandatory : Disk occupation DataBase size CPU load But it’s also a good idea to have external services that watch your site, because if your server go down, how can he details you that there is a problem ? Monitoring is a complex subject that I’ll not detail here. But you should at least receive automatically some emails when things start go off rails.
By application, I mean any software : A website IS an application.
5 - Reboot ? (and shut down)
Sounds stupid, but if you started manually some process (BDD for instance). Who gonna start them again after a server reboot ? All of this should be automated.
On the other side of the story, you may also have some critical process running. Stoping without warning may be dangerous. What about users in the middle of a payment ? You should have both a clean and emergency shut down process, even then are both the same and simple. But at least, not surprises.
This point is valid both for Starting / Stoping your application, your server and any other connected services.
6 - Deployment
Something you gonna do quite often is deploying : Some minor correction here, a critical bug to fix, a new marketing landing page for a special offer …
You should have a process that let you put that online safely, making sure that the stop / start process run without trouble.
We are far from the creative and experimental web of 2005. A website come with certain expectations. If UX deal with this domain, there are things that I can point you for any cases.
7 - About Page
The About page is the most visited page of every sites. So you need one.
8 - Error pages
Once again, what could go wrong … So you need nice set of :
- 404 page not found
- 403 access deny
- 50* something went wrong (server side)
- Those pages should help your users to :
- Should exist : users don’t want to see a technical error message
- Be friendly : a good service handle the mess as greatly as anything
- Explain the problem clearly
- Provide a way to contact you : they may let you know about the problem
- Propose to go back on track : you may keep few more users on board
9 - Sitemap.xml and engine registrations
You want to be found on search engines. To do so you have two things to do :
- Create a sitemap.xml
- Register it on the targeted search engines service
The format of the sitemap.xml is well detailed, you will find documentation easily. It also exists services that can handle some automatic registration for you.
10 - Setup some analytics
Another obvious step but … you need to know what is happening on your site : How many visits, what pages are seen, …
You have various solutions :
- Open source
- As a service or software
Here a small list, but do your research anyway :
The installation depend on the solution, but it’s rarely more complicated than dropping a single line of HTML in the head tag (for basic usage).
Don’t forget to get familiar with your tools, configure some automatic reports etc …
11 - Basic meta tags
The basic meta tags are :
- title : the title of your page, displayed on your browser tab and search engine results
- description : displayed in the search engine result
- keywords : if you wish to override what the engine may extract from your page
They have to be placed in your HTML head tag.
12 - OG and other social cards
Hot news : Social networks is a big thing. Links exchanged in facebook and twitter are displayed as “card”. You can defined for every pages a specific description, title and visual to display.
13 - Favicons and App icons
Favicons are the small picture display on the tabs of your desktop browser. App icons are displayed on the home page of the browsers, on shortcuts saved on mobiles devices, etc …
Honestly, I would recommend you to use an online generator. You just upload large base picture, you configure few colors and minors settings and finally download a pack that you insert into your pages. Or better, if your framework include a plugin that handle that for you.
A FINAL WORDS
As mentioned at the beginning of this article, this is just a basic check list. If you have in mind something that should be listed, please write me or mention it in the comment section below.
A quick recap :
- 1 - Installation manifest
- 2 - Source backup
- 3 - Database backup
- 4 - Monitor your server
- 5 - Reboot ? (and shut down)
- 6 - Deployment
- 7 - About Page
- 8 - Errors Page
- 9 - Sitemap.xml and engine registrations
- 10 - Setup some analytics
- 11 - Basic meta tags
- 12 - OG and other social cards
- 13 - Favicons and App icons