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 directly on GitHub.
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. 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 Bunny.net. 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:
GitHub
I use GitHub to host the code. Private repositories are now free! Becca edits blog posts directly on Github. I maintain local branches of our site and push them up manually whenever we have new updates or articles to publish.
Netlify
This is our host! Netlify makes it easy to publish our site. We also have a serverless function that is used to request Amazon images using the Product Advertising API. Amazon used to offer images via an easy URL request using their site stripe feature.
That was discontinued as of 12/1/2023, so we needed to migrate grabbing images using the custom serverless function.
Kit
We use Kit to host our newsletter subscribers. We also use their API to authenticate you to show you an ad-less experience and securely view our course.
Notion
We write a lot of our articles using Notion.
Bunny.net
Bunny.net is how we host and serve images at scale!
Geniuslink
Geniuslink helps us make quick affiliate links across a few of our affiliate programs.
Affilimate
We use Affilimate to track our affiliate content.
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.
We sometimes spot-checking our articles using Grammarly. It helps catch easy issues with some of our posts before we publish them. We used to do this a lot more than we do now. Let us know if you find any errors, and maybe we’ll pick it back up!
Do you use any tools for SEO?
Not anymore. We used to use Ahrefs, then Keysearch. Now, we use nothing. We write articles that are interesting to us and we hope you think so too!
Who takes all of the images used on this site?
I do (👋 this is Dan)! 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?
The images are hosted and served using Bunny.net. You can read all about how to host images at scale here!
What is the cost to maintain this website?
Not much! Our Affilimate account for most of the costs. Web hosting varies based on how frequently we build and how many serverless functions we use with Netlify. It typically is under $30/mo. Image hosting with Bunny.net is under $20/mo.
Now you know how we built HalfHalfTravel.com
We’re proud of how we built this website from scratch and we also take pride 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.
You may also like
-
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.
-
Learn how we got our start from a long-distance couple to the travel bloggers and photographers who built this website.