Back

Building in Public Journal #2: Week 30, 2026

July 24, 2026

Here's an update on my building in public journey for nextmatch.lol. This week, I worked on SEO as I’m participating in the 30-day Marketing or Die challenge. Last week), I worked on improving the free-to-paid conversion. I'm still waiting to see results. But to get meaningful results, I need to feed the top of the funnel.

Context

Impressions on nextmatch.lol are slowly rising, but the real traffic spikes happen during international LoL events—Worlds, MSI, Esports World Cup. That's when the community is most engaged. To be fair, those are also the weeks I did the most marketing.

Lots of international events viewers are more casual fans. They're not the most likely to subscribe. My goal is to build enough organic traffic to keep acquiring users year-round.

Goal: rank for "schedule" keywords

I did keyword research and found that my {slug}-calendar pages had potential to rank, but they weren’t optimized around how people actually search. I spent the day refactoring the league schedule pages to target “schedule” intent instead of generic calendar keywords.

Here’s what I shipped:

Structured data for matches

Why: Google needs to understand what a page is about to rank it for rich results. For sports content, that means SportsEvent schema.

What: Added JSON-LD markup to every match card on schedule pages so search engines can parse teams, dates, and event details directly.

Cleaner URLs

Why: /lck-calendar is descriptive, but /lck/schedule matches search intent better and creates a cleaner site hierarchy.

What: Moved all {slug}-calendar routes to {slug}/schedule and set up redirects so existing links don’t break. The {slug}/subpath format is to allow for future subpages like standings, etc.

Aligned titles and meta descriptions

Why: My titles were branded first, keywords second. Google rewards results that match the search queries.

What: Rewrote page titles and meta descriptions to lead with topic keywords (e.g., “LCK Schedule 2026”).

Fixed truncated snippets

Why: Ahrefs was flagging my meta descriptions as too long, which leads to truncated or rewritten snippets. It can hurt click-through rate.

What: Shortened all schedule-related meta descriptions to sit within the recommended character limit while keeping the intent keywords intact.

Today I learned

This week too, I participated to the weekly Hackapei coworking. It's a cool opportunity to meet other builders and learn from them.

I learned two things about JSON LD that I didn't know. This will feed my next steps:

  • Adding JSON LD for the company/organization itself to my pages
  • Adding JSON LD for FAQ items recommended

Summary & what’s next

This week I shifted from conversion work to top-of-funnel SEO: structured data on match cards, schedule-intent URLs, and titles/meta that lead with keywords instead of brand.

Next steps:

  • Continue Jack Friks's SEO course module from Ship or Die. Next: SERP strategy + content that ranks
  • Monitor conversion since reducing the free plan to 1 team follow
  • Keep shipping 🤘

P.S. I got my first paying customer that I don’t know today. It's so motivating!!

P.P.S. If you’re an indie hacker in Taipei, come join us at Hackapei.