How We Build and Maintain Our Blog
How do you build a custom website or blog? Here’s how we build a unique website without WordPress, how we host website images, and how much it costs to maintain our blog.
This website has been around since 2016. To start, we bought this domain, and originally had the site as a way of directing traffic to a website when traffic came in from various press sources in 2017. Check out our story if you want to learn more about how we started Half Half Travel.
Becca and I are a team and we’re the only people creating content on this website. We’re a good team because we complement each other’s skill sets.
Becca has a high attention to detail, and she helps to proof articles before we publish them. She also takes ownership of and writes most of the articles that we have on this site. Becca is also the voice of our brand and promotes us on social media. She does most of the communication to external parties, like collaborations with brands or clients.
I see things at a high level, in terms of halfhalftravel.com. I take most of the photos that we use in the articles and I think through the content architecture. Lately, I’ve been writing more articles to plan ahead for new topics for where we can take this site in the future.
What is the website built with?
This website is a static website built on Jekyll 4.0. Every article is written in markdown and compiles to HTML through a build process. There are a few plugins and custom includes that help save time.
For example, every link on this website gets a “nofollow” attribute if it’s an external link. When the site builds, the compiler looks for all instances of links, and if it’s not an internal link, it adds those attributes. I set it up so we can whitelist certain domains or follow links when it makes sense.
I also have a few custom plugins that help generate our image galleries and grids throughout the site.
Why don’t you use WordPress?
When we started our website, we didn’t intend to have a big blog or archive of written content. We wanted to make it a showcase of our work, which at that time, in 2016, was photography. As we started to write articles, we didn’t need anything complex, like logins, expensive hosting plans, category pages, search functions, etc. Our site evolved over time, and it’s still evolving.
I wanted to make this a static site, because I wanted our blog posts to load as fast as possible. I didn’t want anything to render on a server. I wanted a flat HTML file to be served. Nice and easy.
I know that caching is wonderful and WordPress leverages lots of great caching functionality. Still, there’s something magically simple about writing blog posts in a text file and having an HTML file with no other complexity in the middle.
As our blog grew, I had to manually create a lot of the same functionality that comes for free with WordPress. Jekyll doesn’t come with a CMS out of the box. I layered in something called Siteleaf early on, to help us with content management. Now, we write using Notion and edit exiting posts with Forestry.
We didn’t (and still don’t) have anyone else contributing to our site. We don’t need any user management that WordPress would provide.
I didn’t want to use third-party plugins that added extra JS and CSS to our site. I wanted to be able to control every step in our process.
Now, this all customization comes at a cost. And that cost is time.
Did I wish that this site was on WordPress? Kinda. I think that if halfhalftravel.com were on WordPress, it would be a different site than it is now. I like how we’ve chosen to display our information. I like that our site is unique. I like that our site is fast. I like our site!
How do you host this website?
This website is hosted on Netlify now. Netlify is set to automatically deploy anything pushed to the main branch in the private repo. I have a staging branch and instance set up to test new features. Sometimes, when we’re updating a lot of articles using our CMS, we’ll make the changes there, then merge staging into the main branch and then deploy.
Netlify compiles the site, as well. Because of this, there is flexibility to have custom Jekyll plugins and control the build process. This instance of Jekyll isn’t very complex. There are a few environment conditionals that handle things like the image hosting and whether or not to load Google Analytics. For production environments, the images are being pulled from Imgix. For development, the images are stored locally.
Netlify makes it really easy to host, maintain and publish. I don’t have to deal with complicated server settings. I trust that Netlify has a strong uptime. I also trust that Netlify is doing a good job of acting as a CDN by serving static content on various Edge networks.
What external services do you use?
The external services that we use are:
I use GitHub to host the code. Private repositories are now free!
This is how we host our images. It costs about $0.50/month to host all of our images. To date, we have over 4000 images, which is a little more than 3.5GB.
Imgix helps with image transformations. This is useful in serving next-gen image formats and serving small images when it renders on the page. With our current bandwidth, we pay about $13/month for Imgix.
This is our webhost! Netlify makes it easy to publish our site.
We write a lot of our articles using Notion
This is mostly how Becca can edit blog posts.
We use Ahrefs to help with keyword research and discover new things to write.
Geniuslink helps us make quick affiliate links across a few of our affiliate programs.
What is the process for creating an article?
Becca and I usually chat through a new article idea. We talk about if it’s helpful and if we think it has enough search volume. We use our instincts! We write things that we feel comfortable sharing and personally endorsing.
We write most things in Notion because it keeps us organized and allows us to write notes and comments. Notion can export in markdown, which makes it really easy to import as a new post.
Recently, we’ve been spot-checking our articles using Grammarly. It helps catch easy issues with some of our posts before we publish them.
Do you use any tools for SEO?
We use Ahrefs, Google Search Console and intuition. Sometimes, even if Ahrefs claims an article has high competition, we will still write the article because it’s something we like and want to share with people.
Who takes all of the images used on this site?
I do! When we write articles about destinations, it makes it easy to use those photos. For our remote work articles, we use photos that I took in various coworking spaces around the world. We also take photos around our neighborhood and in our apartment, if we need something specific.
How do you manage hosting all of the images?
All of the images are hosted on Amazon S3. I keep a local parody of the directory structure locally, so that when I develop locally, I don’t have to request any production images.
When a page is requested, images are pulled from Imgix and their CDN. S3 is set to the image origin.
Right now, I manually upload photos to S3. I think I could improve this by using S3’s CLI to upload photos through the build process, or use Netlify Large Photos. It’s not a big deal to manually upload because the volume of posts that we output isn’t too large.
What is the cost to maintain this website?
Not much! Most of the costs come from image hosting. S3 is usually under $3 and Imgix costs about $50.
Luckily, we don’t pay for website hosting or any other services that will scale with new traffic.
Now you know how we built halfhalftravel.com
We’re proud of how we built this website from scratch and we also take price in how unique it looks. You’ll notice that our site doesn’t look like many other sites you see online when you search for travel advice, travel destination guides or remote work articles like the ones we have.
We’ve gotten feedback that our site has a distinctive look and feel, and it’s because we’ve made it with so much of our own unique efforts and work together.
Last updated on October 24th, 2022
You may also like
Learn how we got our start from a long-distance couple to the travel bloggers and photographers who built this website.
We’re Becca & Dan! We’re adventurers, creatives, wanderers and remote work enthusiasts. We’ve each spent time living and working abroad, both separately and apart. We build and write this site completely on our own, to share our love of travel, photography and working remotely with the world.