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 @halfhalftravel.
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.
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 use a combination of Google Docs and Netlify to achieve the same thing, but for free.
We didn’t (and still don’t) need anyone else contributing to our site. I didn’t want to open up any contributor access to expose that as a potential vulnerability.
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 comes at a cost. And that cost is time. I can create a WordPress site in 10 minutes and it will be more powerful than our site. I know that.
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 brand in the private repo. I have a staging repo and instance setup to test new features. Sometimes, when we’re updating a lot of articles using Netlify CMS, we’ll make the changes there, then merge staging 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. The only environment conditional is the image hosting. 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, and serving our content most efficiently.
What external services do you use?
The external services that we pay for 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 and Netlify CMS makes it easy to publish and edit 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 Google Docs because it keeps us organized and allows us to write notes and comments. We write the articles in markdown in Google docs so it makes the porting process from Google docs into my code editor faster.
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 don’t use anything other than Google Search Console and Google Analytics. We’ve tried things like ahrefs and other keyword tools in the past. It ends up not being worth the cost, unless we were able to produce articles faster than we can at this time.
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 roughly $0.50 and Imgix costs about $13. We almost always pay under $15/month for our current bandwidth and traffic. As our traffic scales, this cost will scale with it.
Luckily, we don’t pay for 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 September 29th, 2020