
SEO tools I used to grow my sites to 20k+ visitors/month
I use these tools on every project to help track source code, monitor traffic on my site, and optimize content for better Search Engine Optimization (SEO).

I work as a co-founder & CTO at Craftwork β I'm a founder & product builder with background in design and development.
Find me on Bluesky @mikebifulco.com, Threads @irreverentmike or Mastodon.
What you see here are my own thoughts, and don't necessarily reflect the views or opinions of Craftwork or you, or anyone else.
11-25-2025
Every message is a moment of influence. Make the nudge helpful and you'll create power users and build loyalty.

I use these tools on every project to help track source code, monitor traffic on my site, and optimize content for better Search Engine Optimization (SEO).

Subscribe and join π₯
My weekly newsletter for product builders. It's a single, tiny idea to help you build better products.
Once a week, straight from me to you. π Unsubscribe anytime.
Get in touch to β Sponsor Tiny Improvements

This is the right format to use if you want to add a subtitle below an h1 tag on your html pages. Semantic HTML makes your site more accessible and better for SEO, since it is easier for search engines to process.

Building a website using the Remix.run webb app framework? This tutorial will teach you how to add privacy-first analytics to your Remix site with Fathom.

Let's call it an experiment. I'm building a tiny product to see if I can make something people will buy.
You're building relationships with all of your customers, whether you know it or not. Setting up the right CRM for your product can help make those relationships stronger.
I migrated apisyouwonthate.com, a site with 20k+ monthly visits, from Gatsby to Next.js at the end of 2021. Let's talk about what I learned from that experience.
This tutorial will teach you how to automatically add links to heading tags in your mdx posts on your Next.js site with a plugin called rehype-slug. This should work for most nextJS sites that use MDX for content, as well as many other JavaScript-based sites which use MDX.

The article discusses the ESLint rule no-floating-promises which disallows promises without await. The rule is designed to prevent developers from accidentally forgetting to await promises, which can lead to unexpected behavior.

Since its release, teams around the world have been using dependabot to automate the process of keeping your project's dependencies up to date. In this article, I'll show you how you can run dependabot on the command line using dependabot-core.
Powerful AI tools like ChatGPT make it super easy to generate inaccurate and dangerous and inaccurate content. Relying heavily on AI to write can be messy.