So we have to build company site with blog. What we should care about?
- Common tools and learning curve for writers
- Content approvement wokflow
- Data consistency
- Site improvement and migration should be in architecture
Is it effective to use any CMS?
What we need for company site
After years of site powered by CMSs(like Wordpress, Joomla etc) we got tired of it and migrated to the static pages using templates plus CI/CD deploy. Not bad, but it is not user friendly for writers, and site update is not easy task. So markdown Middleman, hoping it will make us want to blog more often than three times a year. It was a great move - no more spambots, no more CMS vulnerabilities exploited, no more server maintaining. The migration process was really fun.
Take decision about platform
So, GitLab Pages vs. GitHub Pages. We compare features of static pages implementation on both. The main reason about GitLab implementation is enables Concurrent DevOps, unlocking organizations from the constraints of the toolchain. Using such approach we could make almost any workflow for editors. It was nice to discover GitLab content and tools improvement in history too.
How can you change the page
These are steps you need to take to create new or update existing blog post:
- Visit dataengi.com repository.
- Create new issue by template and fill it.
- Create new branch with your issue ID.
- On your branch go to source/posts all posts are stored here.
- If you want to update existing post choose the one you want to edit and click "Edit" on top right.
- If you want to create new post choose the plus button on top and from dropdown menu choose "New File".
- Commit your changes and review your site version after CI job finished.
- Create a merge request.
That's about it, we will review your merge request and decide whether to approve or decline it. You can also preview changes locally, check out our guide on local development.
Docker usage for local site build
So you want to run your static site in a container. What would you need for that? First of all, you should have an information on what tools were used to build this site. The most important information would be SSG(Static Site Generator) name. Secondly, create or find an image that when used, would setup your site SSG in a container. That's pretty much it, unless you want to setup a swarm. For more details on how to do that visit docker Get Started guide on swarms.
What is the goal of changing the page
The blog is another marketing channel like Twitter/Facebook/YouTube. The main reason of changing the page is to keep users updated on long-form news about what we have done or are doing. However, you should not think of it as a place for tutorials, they should live in the docs and be shared on the blog in the form of a "longer tweet".
What metrics are we trying to affect
Our goal is to create engaged community, so our blog postings would always get comments. We aim to keep daily postings to be up to date. Our target audience are students and trainee, that is why we try to create informative, educational and interesting content. To make it happen we are trying to affect several metrics. For example:
- Count visits and unique visitors - this helps us to attract our target audience.
- Time on site - this shows how engaged readers are, thus we understand that our content is interesting.
- Pageviews - this makes us understand which content is preferable for our audience.
How will we decide if the change was successful or not
The essence of understanding whether change was successful or not is team feedback. The best source of team feedback is comment section. We want to create highly engaged community, that is why comments have the greatest impact on our decisions.
Would we revert the changes if we decided that it was not a success
The only way to reach a success is to try something new, but sometimes new ideas get bad team feedback. That is why we want to have engaged community, we believe that a bad experience is often even more valuable than a good one. That is why we will not revert the changes, but we are always open for feedback and new ideas.
What challenges do we have
Our team see advantages of GitLab pages for blogposts and other periodic content. We have very flexible sandbox but what workflow is better, what pitfalls should we know? You can find answer for some critical challenges, if discover about.gitlab.com repository. Also we had great example about business processes development and cool ideas, like GitLab Community Writers Program
We search good engineering approach and efficient tools for static web site management and development. In result we have one based on git and plus good content and business model examples for long term goals!