Behind the Blog: Everything I’ve Learned Building Countries and Keychains

Table of Contents

Building My Travel Blog From Scratch

I started Countries & Keychains in December 2025 with zero experience building a website, learning SEO, or running a blog. I’m not a web developer or marketing expert—I’m a pharmacist who loves traveling and wanted a place to document my adventures.

This section isn’t meant to teach “the perfect way” to build a travel blog. It’s simply a collection of everything I’ve personally learned while growing this website. I’ll continue updating these pages as my traffic grows and as I discover new tips, fixes, and lessons along the way.

Since launching this website, I’ve spent just as much time learning about website speed, Google Search Console, image optimization, indexing, caching, broken links, redirects, DNS settings, and Core Web Vitals as I have writing blog posts.

Some days I felt like I was making great progress. Other days I spent hours trying to fix a single error message.

That’s exactly why I decided to create this page.

Instead of pretending everything has been easy, I want to document the real journey of building a travel website from scratch. I’ll continue updating this page every month with my traffic growth, lessons I’ve learned, mistakes I’ve made, and technical issues I’ve solved in hopes that it helps someone else who’s just getting started.

Since launching on January 8, 2026, I’ve continued publishing one new blog every Monday.


My Travel Blog Journey (I Will Update This Monthly)

Timeline

Date Milestone
December 1, 2025 Purchased domain, hosting, privacy protection, and domain expiration protection with Bluehost and WordPress.org

Spent about a month just learning how to use WordPress and how to use the theme customizer (Blossom Travel Theme-Free version) by watching YouTube tutorials.

January 8, 2026 Launched Countries & Keychains with 6 published travel blogs.

After January 8th, I continued to post one new blog every Monday.

February 11, 2026 First 7 Google Search Console clicks
February 20, 2026 Reached 14 Google clicks
March 18, 2026 Reached 27 Google clicks
June 2026 Began consistently getting around 2 Google Search clicks per day instead of mostly one or zero clicks per day. My average CTR was always < 1%.
July 2026 Google Search Console: 150 total clicks (January to July) with 1.2% average CTR

Google Analytics: 150 active users (over the past 28 days)


What It Has Cost Me to Start My Travel Blog

One-Time / First-Year Purchases

Item Cost Notes
Bluehost hosting (first-year promotional price) $48 Renews at $150/year
Domain name Included above Purchased with hosting
Domain privacy protection $15 Renews annually
Domain expiration protection $10 Renews annually
SSL Certificate $67 Renews annually
WP Rocket $60 Renews annually
ShortPixel image optimization credits $20 30,000 image credits
Additional ShortPixel credits $20 Purchased a second pack of 30,000 credits

Total spent so far: $240

My biggest takeaway: I originally assumed writing travel blogs would be the biggest investment. In reality, the ongoing costs of running a fast, secure, and reliable website add up over time. While you can absolutely start a blog on a budget, I quickly learned that certain tools—like WP Rocket for speed optimization and ShortPixel for image compression—were worthwhile investments for improving user experience and site performance.


Annual Recurring Costs

Service Annual Cost
Bluehost Hosting $150
Domain Privacy Protection $15
Domain Expiration Protection $10
SSL Certificate $67
WP Rocket plugin $60
Total Annual Recurring Cost $302/year

Note: ShortPixel image optimization has an option to purchase it as needed rather than as a recurring subscription. I’ve purchased two packs of 30,000 image optimization credits so far for $20 each, depending on how many new photos I upload.


Bluehost vs. WordPress: What’s the Difference?

One thing that confused me when I first started my website was understanding the difference between Bluehost and WordPress. They’re two completely different things, but you need both if you’re creating a self-hosted WordPress website.

Bluehost (Web Hosting)

I chose Bluehost as my web hosting provider. Think of web hosting as the place where all of your website’s files, images, and blog posts are stored. When someone visits your website, Bluehost’s servers deliver those files so your site appears in their browser.

There are many hosting companies to choose from, but Bluehost has worked well for me. One feature I’ve really appreciated is their live chat support. Whenever I’ve had questions or run into problems, I’ve been able to quickly connect with someone who helped me troubleshoot the issue.

WordPress.org

WordPress.org is the free website software (also called a Content Management System or CMS) that I use to build and manage my website.

With WordPress.org, you fully own your website and have complete control over your design, plugins, themes, and content. Since it’s self-hosted, you’ll need to purchase hosting from a company like Bluehost (or another hosting provider) before you can use it.

WordPress.com

WordPress.com is different. It’s an all-in-one website platform, similar to Wix or Squarespace. Hosting, security, software updates, and maintenance are all included, so you don’t need a separate hosting provider.

The trade-off is flexibility. The free and lower-priced plans have limitations on customization, themes, and plugins. The free plan also displays WordPress.com ads and gives you a website address ending in wordpress.com instead of using your own custom domain. As you move up to higher-priced plans, more features and customization become available.

Which One Would I Choose?

If your goal is to build a blog or website that you completely own and can customize however you want, I’d recommend WordPress.org with a hosting provider like Bluehost.

For me, Bluehost’s introductory price was $48 for the first year, and it now renews at $150 per year (about $12.50 per month). Even after the renewal price, it’s still less expensive than WordPress.com’s Business plan, while giving me full access to any plugins, themes, and design features I want to use.

If you’re looking for the easiest possible setup with very little maintenance, WordPress.com is a solid option. But if you want maximum flexibility and room to grow your website, I think WordPress.org is the better long-term choice.


WordPress Plugins I Currently Use

Think of plugins as apps for your website. They add extra features without requiring you to know any coding. While plugins are incredibly useful, try to only install the ones you actually need. Having too many plugins can slow down your website or cause conflicts with one another.

Blossom Themes Toolkit

Since I use the Blossom Travel WordPress theme, this plugin was recommended. It adds extra widgets, layouts, and design features that work specifically with the theme.

Classic Editor

I prefer the Classic Editor over the default Block Editor because it’s simpler, less distracting, and makes writing blog posts easier.

Contact Form 7

Adds a contact form so visitors can easily reach you through a Contact Me page.

Easy Table of Contents

Automatically creates a clickable table of contents for your blog posts, making longer articles easier to navigate.

IndexNow

Whenever I publish or update a post, IndexNow automatically notifies participating search engines (including Bing and Yandex) so they can discover my content faster.

Jetpack

Jetpack includes performance, security, backups, marketing, newsletters, and more. Since I use WP Rocket and ShortPixel, I disabled all of Jetpack’s performance and image optimization features to avoid conflicts.

The only feature I currently use Jetpack for is my website newsletter.

ShortPixel

This is my favorite image optimization plugin. It compresses images to improve page speed without noticeably reducing quality.

If you install ShortPixel, make sure any other image optimization plugins are disabled so they aren’t trying to optimize the same images.

These are the settings I currently use:

  • Enable Create WebP Images
  • Enable Create AVIF Images
  • Enable Serve WebP/AVIF images from locally hosted files (without using CDN)
    • Select Without altering the page code (.htaccess)

If you’re already using Cloudflare CDN, leave Deliver next generation images using the ShortPixel CDN turned off.

Simple CAPTCHA with Cloudflare Turnstile

I switched to this plugin after outgrowing the free version of Akismet Spam Protection.

It helps prevent spam submissions on your forms and comments. During setup, you’ll need to generate a Site Key and Secret Key from your Cloudflare account.

If you use WP Rocket, don’t forget to add Cloudflare Turnstile under the One-Click Exclusions section.

Since switching to Turnstile, I was also able to safely disable Bot Fight Mode in my Cloudflare settings.

Site Kit by Google

Site Kit connects your website to Google’s services, including Google Analytics and Google Search Console. It lets you monitor traffic, search performance, and page statistics directly from your WordPress dashboard.

TermsFeed AutoTerms

Generates a Privacy Policy and other legal pages that every website should have.

WP Crontrol

This plugin lets you view and manage WordPress scheduled tasks (called cron jobs). You can manually run, pause, edit, or delete scheduled events without touching any code.

WP Rocket

This has been the single biggest improvement to my website’s speed. It costs about $60 per year, but I personally think it’s worth every penny.

If you install WP Rocket, disable caching and performance features in any other optimization plugins (like Jetpack) and your hosting provider to prevent conflicts.

With my current setup, my website scores around 85 on Google PageSpeed Insights for mobile and 99 for desktop.

These are the settings I currently use:

File Optimization

  • Minify CSS Files
  • Remove Unused CSS
  • Minify JavaScript Files
  • Load JavaScript Deferred
  • Delay JavaScript Execution

Media

  • Enable LazyLoad for images
  • Enable LazyLoad for CSS background images
  • Enable LazyLoad for iframes and videos
  • Add Missing Image Dimensions
  • Enable Self-Hosted Google Fonts

Preload

  • Activate Preloading

One-Click Exclusions

  • Google Analytics
  • Google Tag Manager
  • Google Optimize
  • Site Kit by Google
  • Easy Table of Contents
  • Cloudflare Turnstile

Cloudflare Add-on
Connect your Cloudflare account using your Global API Key and Zone ID so WP Rocket can automatically clear your Cloudflare cache whenever you update your website.

WP Sweep

Cleans up unused data left behind by deleted posts, revisions, comments, and plugins to help keep your WordPress database running efficiently.

Yoast SEO

Yoast helps optimize your blog posts for search engines by checking things like readability, keywords, meta descriptions, and SEO best practices. I only use the free version.

One setting I recommend changing is under Settings → Categories & Tags. I disabled both Show Categories in Search Results and Show Tags in Search Results to avoid creating unnecessary pages that could compete with my blog posts.

Before publishing each article, I always review the Yoast SEO checklist to make sure I’ve covered the basic SEO recommendations.


Tools I Use for My Website

When you’re first starting a website, it can feel overwhelming trying to figure out which tools you actually need. These are the ones I use to monitor my site’s performance, improve SEO, and fix issues as they come up.

Google Search Console

This is one of the first tools you should set up. It lets you see how your website is performing in Google Search, which keywords people are finding you with, indexing issues, and much more.

Don’t forget to submit your sitemap. You can find your sitemap by typing:

yourdomain.com/robots.txt

into your browser. You’ll see something similar to:

Sitemap: https://yourdomain.com/sitemap_index.xml

Google Analytics

Google Analytics tracks your website traffic, showing how many visitors you get, where they’re coming from, which pages they visit, and how long they stay.

Bing Webmaster Tools

Even though most people focus on Google, it’s worth setting up Bing Webmaster Tools too.

Be sure to submit your sitemap here as well. I also like the Site Scan feature, which checks your website for errors, warnings, broken links, and other SEO issues.

Screaming Frog

If you want to do a complete SEO audit of your website, I highly recommend Screaming Frog. It scans your entire site and can detect things like broken links, duplicate content, missing meta descriptions, redirect chains, large images, and XML sitemap errors.

There’s a generous free version that’s perfect for most beginners. Just note that it’s desktop software, so it can’t be used on a phone or tablet.

GTmetrix & Google PageSpeed Insights

These are my go-to tools for checking website speed and performance. They explain what’s slowing your site down and provide recommendations to improve loading times.

WP Rocket

Of all the WordPress plugins I’ve tried, WP Rocket made the biggest difference in improving my website’s speed. It’s a paid plugin, but if performance is important to you, I think it’s well worth the investment.

ShortPixel

After testing several image optimization plugins, ShortPixel worked best for me. It compresses your images without noticeably reducing quality, helping your pages load faster. You can either purchase one-time image credits or choose a monthly plan.

Bluehost

I chose Bluehost because they were offering a great introductory price, and it’s worked well for my website. One feature I’ve used many times is their live chat support. Whenever I had questions or ran into problems, I was able to connect with someone who helped me troubleshoot the issue.

Cloudflare CDN

A Content Delivery Network (CDN) helps your website load faster by storing copies of your site’s files on servers around the world. When someone visits your website, they’re served content from the server closest to them instead of your main hosting server.

If you use Bluehost, you can enable the free Cloudflare CDN under the Performance section of your hosting dashboard. Creating a free Cloudflare account also gives you access to additional performance and security settings.


Google Analytics: Excluding Your Own Website Visits

One of the first things I did after setting up Google Analytics was exclude my own visits from my reports. Otherwise, every time you visit your website to edit a post or check something, those page views get counted and can skew your traffic data.

Step 1: Create a Data Stream

If you haven’t already connected Google Analytics to your website:

  1. Open Google Analytics.
  2. Click Admin (gear icon in the bottom left).
  3. Under Property, click Data Streams.
  4. Select Add Stream.
  5. Choose Web.
  6. Enter your website URL and a stream name.
  7. Click Create Stream.
  8. Copy your Measurement ID (it will start with G-).
  9. Add the Measurement ID to your website using Google Site Kit, Google Tag Manager, or by inserting the Google Analytics tag into your site’s header.

Step 2: Exclude Your Own Traffic

To prevent your own website visits from appearing in your reports:

  1. In Google Analytics, click Admin.
  2. Under Property, select Data Collection and ModificationData Filters.
  3. Click Create Filter.
  4. Choose Internal Traffic.
  5. Give the filter a name (for example, Exclude My Traffic).
  6. Set the filter state to Active.
  7. Save your changes.

Step 3: Define Your Internal Traffic

If you haven’t already created an internal traffic rule:

  1. Go to AdminData Streams.
  2. Select your website’s data stream.
  3. Scroll down and click Configure Tag Settings.
  4. Select Show AllDefine Internal Traffic.
  5. Create a rule using your public IP address (you can find it by searching “What’s my IP?” on Google).
  6. Save the rule.

From now on, visits from your IP address will be excluded from your Google Analytics reports, giving you a more accurate picture of how many real visitors are using your website.

Tip: If your internet provider gives you a dynamic IP address, you’ll need to update this rule whenever your IP changes.


My Publishing Checklist

For every blog post I make sure to have:

✔ Only one H1 title

  • The H1 title is what you put in the title section of each posts page.
  • The remaining titles throughout the body of your post should be H2 or smaller.

✔ SEO titles

  • Try to use keywords in every title throughout your posts that you think people will type into Google Search. Yoast SEO plugin will help with this.

✔ Meta description

  • Add a meta description for each post by scrolling down to the Yoast SEO section and filling out the meta description text box.

✔ Short keyword slug

  • You will also find this in the Yoast SEO section in each blog post. Make the slug all lower case with each word separated by “-“. Also don’t include stop words such as “and”, “the”, “it” etc. For Example, this blogs slug is: travel-blogging-resources . You wouldn’t want the slug to be: travel-blogging-and-some-resources. You want to keep it short with only keywords.

✔ Image alt text

  • Each image you upload to media files in WordPress you will need to add a short description of the photo in the image alternative text box before you upload the picture to your post.

✔ Internal links

  • Once you have multiple published posts you can start linking the posts together internally. You can add related posts to other posts so its easier for readers to discover more of your blogs.

✔ External links

  • You can also add external links to websites so the reader can obtain for information about what you written. Or you can have external links to allow the reader to easily book a hotel or excursion you wrote about.

✔ TravelPayout links

  • You can setup a TravelPayout account and start adding affiliate links to your posts such as hotels you stayed at or excursions you took.

✔ Submit URL to Bing

  • Log into your Bing Webmaster Tools account and add each new posts URL to the URL inspection tool to make sure Bing indexed the post.

✔ Submit URL to Google Search Console

  • Log into your Google Search Console account and add each new posts URL to the URL inspection tool to make sure Google indexed the post. You’ll want to see a green check mark next to Page Indexing which means your post is indexed and is visible on Google Search.

✔ Reddit promotion

  • Another way to get your blog posts out there is to mention them in relatable Reddit forums. You shouldn’t just simply paste your posts URL into forums but rather find relatable forums and answer the persons question and then you could add your posts URL for additional information.
  • Be careful with this one since the Reddit Community heavily penalizes people who post and comment in Reddit forums just to promote or advertise their business.

✔ Pinterest graphic

  • Making a Pinterest account and uploading 5-10 good pictures from every blog post into Pinterest is another way to bring traffic to your website. Make sure to attach the posts URL to the Pinterest post. However, I personally haven’t seen much traffic come from Pinterest.

Problems Ive Encountered and How I Fixed Them

Throughout this website making process, Ive come across many issues that I had no idea how to fix. With many Google searches along with trial and error, these are all the problems Ive managed to fix.

WP Rocket “Scheduled Cache Purge” Failed

The Problem

After purchasing and installing WP Rocket, I received this warning in my WordPress dashboard:

“The following scheduled event failed to run. This may indicate the CRON system is not running properly, which can prevent some WP Rocket features from working as intended: Scheduled Cache Purge”

This meant WordPress wasn’t automatically running scheduled tasks, including clearing the cache.

How I Fixed It

Step 1: Disable WordPress’s built-in cron system.

Using your hosting File Manager (or FTP), open this folder:

public_html/wp-config.php

Add this line: define('DISABLE_WP_CRON', true); just above:

/* That's all, stop editing! Happy publishing. */

Step 2: Create a real cron job.

In Bluehost:

  • Go to Hosting
  • Click cPanel
  • Under the Advanced section
  • Select Cron Jobs

Choose:

In the common settings: Choose Once Per 5 Minutes

Then paste this into the command box:

Make sure to add your actual domain name.

wget -q -O - https://YOURDOMAIN.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
Click Add New Cron Job.

Step 3: Wait a few minutes.

Refresh WordPress.

The scheduled cache purge warning disappeared and WP Rocket started working normally again.


Bluehost Disk Space Almost Full

The Problem

I received a warning that my Bluehost account was running out of disk space, even though my website wasn’t very large.

After checking disk usage, I discovered that ShortPixel backup files were taking up several gigabytes.

How I Fixed It

Step 1

Inside Bluehost, go to:

Hosting → cPanel → Under the files section click Disk Usage

This lets you see which folders are using the most storage.

For me, I saw that under the public_html/wpcontent/uploads/shortpixel backups had the most storage use.


Step 2

You’ll want to navigate to the folder that was using the most storage in your hosting file manager.

Go to Bluehost -> Hosting -> File Manager -> Then find the folder causing the storage issue.

public_html
→ wp-content
→ uploads
→ ShortPixelBackups

This folder contained thousands of backup images.


Step 3

Initially, Bluehost wouldn’t let me delete the folder because of its permissions.

Inside File Manager:

Click the folder (For me I clicked the Shortpixel Backups folder)

Then in the wpcontent row, in the far top right you’ll see Permissions.

Change: 0755 to 0777, then Save.


Step 4

Delete the ShortPixelBackups folder.

This immediately freed roughly 2 GB of storage.


Lesson Learned

If you’re using ShortPixel, it’s worth checking this folder occasionally because backup images can quietly build up over time.


Google Analytics Showing Lots of Visitors From Singapore

The Problem

Google Analytics suddenly showed Singapore as one of my top countries for website traffic.

At first I thought my blog was unexpectedly becoming popular there, but the numbers didn’t seem realistic.

After researching the issue, I learned that this is often caused by bot traffic rather than real visitors. You can tell that its bot traffic by checking the engagement time of users from Singapore in Google Analytics and if the engagement rate is 0% then it most likely is bot traffic.

How I Fixed It

Inside Google Analytics:

Go to Reports.

Select Add Comparison. Click create new, then under dimension click country. Under match type click “does not exactly match”. Under Value click Singapore.

This will exclude traffic from Singapore.

After applying the comparison, my reports gave a much more accurate picture of my actual audience.


Blocking Certain Traffic/Bots in Cloudflare

Another way to block bot traffic is by going into your Cloudflare account.

Go to Security > WAF > Custom rules

Click Create rule and name it (e.g., “Block Singapore”).

Under Field select Country, Operator select equals, and Value select Singapore

Under Then take action, select Block (or Managed Challenge to prevent blocking real users).

Click Deploy.

To address general bot traffic, go to Security > Bots and toggle on Bot Fight Mode.

  • DO NOT toggle on Bot Fight Mode if you are using the Cloudflare Turnstile CAPTCHA plugin as these will interfere with each other.

Lesson Learned

If you suddenly see unusual traffic spikes from countries where you don’t expect visitors, it’s worth checking whether bots are inflating your analytics.


My Favicon (Logo Icon) Wasn’t Showing Up in Google Search

One day I searched site:yourdomain.com in Google to see how my website was being indexed. This is a quick way to view all of the pages Google has indexed for your site. If you click the Images tab, you’ll also see many of the images Google has found from your blog posts.

I noticed that instead of my website logo appearing next to my search results, Google was showing a plain gray globe. It looked unprofessional and made my site less recognizable.

After doing some research, I discovered that my favicon (also called a site icon) wasn’t the correct size. WordPress and Google recommend using a square image that’s at least 512 × 512 pixels. Since my original file was too small, Google wasn’t able to use it.

How I Fixed It

  1. Open a photo editor such as Canva.
  2. Create a new design that’s 512 × 512 pixels.
  3. Upload your logo or image and resize it to fit the canvas.
  4. Download the finished image.
  5. In WordPress, go to Appearance → Customize → Site Identity.
  6. Under Site Icon, upload the new 512 × 512 image and click Publish.

Keep in mind that Google may not update your favicon immediately. It can take anywhere from a few days to a few weeks before the new icon appears in search results, so don’t worry if you still see the gray globe at first. Once Google re-crawls your site, your favicon should eventually replace it.


Facebook Showing the Wrong Featured Image

The Problem

Whenever I shared one of my blog posts on Facebook, it kept displaying an old featured image instead of the one I’d selected in Yoast SEO.

This happens because Facebook caches webpage information.

How I Fixed It

Go to:

https://developers.facebook.com/tools/debug/

Paste your blog post URL.

Click:

Debug

Then click:

Scrape Again

Facebook refreshes the cached information and usually updates the featured image within a few minutes.


WordPress Paragraph Spacing Too Large

The Problem

My paragraphs had too much white space between them, making articles feel unnecessarily long.

How I Fixed It

Inside WordPress:

Appearance → Customize → Additional CSS

I added custom CSS to reduce paragraph spacing across the website. Copy and paste this in the Additional CSS section:

#content p,
#content ul,
#content ol,
#content dd,
#content pre,
#content hr {
margin-bottom: 15px;
}

The result was a much cleaner reading experience.


403 Error in WP Rocket Cron Events

The Problem

After setting up a real cron job, WP Rocket still reported a 403 Forbidden error.

The cron event couldn’t access my website.

How I Fixed It

The problem turned out to be Cloudflare.

Inside Cloudflare: under DNS

Locate:

  • A Record
  • www CNAME

Instead of using:

Proxied

I changed both to:

DNS Only

and confirmed they pointed to my Bluehost server IP address.

After making those changes, the cron events immediately began running correctly.


My Website Wasn’t Being Indexed Properly

Things I always check if a page isn’t showing up in Google, I now go through this checklist.

Robots.txt

Visit:

yourwebsite.com/robots.txt

Make sure the page isn’t accidentally blocked.

Mine currently looks like this:

# START YOAST BLOCK
# ---------------------------
User-agent: *
Disallow: /?s=
Disallow: /page/*/?s=
Disallow: /search/
Disallow: /wp-json/
Disallow: /?rest_route=
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php

Sitemap: https://countriesandkeychains.com/sitemap_index.xml
# ---------------------------
# END YOAST BLOCK

WordPress Reading Settings

Go to: WordPress ->Settings -> Reading

Make sure:

Discourage search engines from indexing this site is NOT checked.


Sitemap

I also verify that my XML sitemap is listed in robots.txt and submitted to Google Search Console.


URL Inspection

After publishing every new blog, I immediately use:

Google Search Console → URL Inspection → Request Indexing

This usually helps Google discover new pages more quickly.


Chrome Coverage Tool

Why I Use It

If a page loads slowly, I like seeing how much unused CSS and JavaScript is loading.

Steps

Open your webpage -> Right-click -> Inspect -> Under the coverage section click start recording.

Chrome highlights unused code in red, making it easier to identify opportunities for optimization.


Can You Make Money Travel Blogging?

Yes—but it usually takes time.

Many successful travel blogs earn income through a combination of affiliate marketing, display ads, sponsored content, and selling digital products. Most bloggers don’t make money right away, and building enough traffic to generate consistent income often takes months or even years.

Common Ways Travel Bloggers Make Money

  • Affiliate Marketing – Earn a commission when readers book hotels, tours, flights, rental cars, or purchase products through your referral links.
  • Travelpayouts – An affiliate network for flights, hotels, rental cars, airport transfers, travel insurance, and tours.
  • Amazon Associates – Recommend travel gear, luggage, electronics, and other products you use.
  • Display Ads – Ad networks like Google AdSense, Journey by Mediavine, Mediavine, Raptive, and Ezoic pay based on website traffic.
  • Sponsored Posts & Brand Partnerships – Work with tourism boards, hotels, tour companies, or travel brands.
  • Digital Products – Sell travel guides, itineraries, packing lists, e-books, presets, or printables.
  • Freelance Writing & Photography – Write for travel publications or license your travel photos.

Where I’m At

As of July 2026, I haven’t earned any income from my travel blog yet.

I currently use Travelpayouts and include affiliate links throughout my travel guides where they’re relevant, but I haven’t received any commissions so far. My focus right now is building high-quality content, growing my traffic, and documenting the entire journey honestly. I’ll continue updating this page as I reach my first affiliate sale, ad revenue, and other blogging milestones.