I used to write terrible blog titles. Like, genuinely awful ones.
My first few Dev.to posts had gems like "Understanding JavaScript Closures" and "A Guide to React Hooks." Generic, boring, and completely forgettable. They got maybe 20 views each, and I couldn't figure out why my carefully written content was being ignored.
Then I realized something: your title isn't just a label—it's a promise. It's the difference between someone scrolling past or actually clicking to read what you spent hours writing. Here's what I learned about writing titles that actually get clicked.
Stop Being So Damn Generic
The biggest mistake I see developers make is writing titles that could have been generated by a bot in 2015.
"Introduction to Docker" tells me nothing. So does "Understanding APIs" or "Getting Started with TypeScript." These titles are safe, sure, but they're also invisible.
Instead, get specific about the problem you're solving:
- "Docker Made My Deployments 10x Faster (Here's My Setup)"
- "I Built 12 APIs This Year—These Patterns Saved Me Hours"
- "TypeScript Confused Me Until I Learned These 3 Things"
The key is moving from topic-based titles to outcome-based ones. Don't tell me what you're covering—tell me what I'll gain.
Use Numbers (But Not Like a Buzzfeed Clone)
Numbers work because they set clear expectations. When I see "5 Terminal Commands That Changed How I Code," I know exactly what I'm getting into—and more importantly, how long it'll take.
But avoid the listicle trap. Numbers should feel natural, not forced:
Good: "3 Docker Commands I Wish I'd Known Earlier"
Bad: "17 Amazing JavaScript Tricks That Will Blow Your Mind"
The first promises practical value. The second promises clickbait disappointment.
I've found that smaller numbers (3-7) work better for technical content. They suggest depth over breadth, which is what most developers actually want.
Lead With Your Experience
Some of my best-performing titles start with personal experience:
- "I Rewrote Our API in Go. Here's What Happened"
- "After 100 Code Reviews, These Mistakes Keep Showing Up"
- "I Tried 8 Different State Management Libraries. Here's My Ranking"
This works because it immediately establishes credibility and relatability. You're not just explaining a concept—you're sharing battle-tested insights.
The pattern is simple: [Personal experience] + [What you learned/results]. It's honest, specific, and naturally creates curiosity about your journey.
Make Them Slightly Uncomfortable
The best titles create a tiny bit of tension or discomfort. They suggest that what you're doing might not be optimal.
Instead of "How to Structure Your React Components," try "Your React Components Are Too Complex (Here's How I Simplified Mine)."
Instead of "CSS Grid Tutorial," try "I Stopped Fighting CSS Grid When I Learned This."
You're not being negative—you're acknowledging the real frustrations your readers face. When someone sees "Your Docker Setup Is Probably Overkill," they'll click to see if you're talking about them.
Test the "So What?" Factor
Before publishing, I run every title through a simple test: would I click on this if someone else wrote it?
If my honest answer is "maybe," the title needs work.
I also ask myself: what specific outcome does this promise? If I can't articulate the value in one sentence, neither can my potential readers.
Here's a real example from my drafts folder:
- Original: "Optimizing Database Queries"
- After testing: "This One Query Change Cut My API Response Time by 60%"
The second version passes the "so what?" test because it promises a specific, measurable improvement.
Keep It Scannable and Mobile-Friendly
Most people will see your title on mobile, in a feed, partially cut off. This changes everything.
Your most important words need to come first. "How I Reduced API Latency from 500ms to 50ms Using Redis" works because even if it gets truncated, the core value proposition is clear.
I also avoid overly clever wordplay or references that might not translate across different experience levels. Your title needs to work for both junior developers and senior engineers browsing during their coffee break.
Learn From Your Analytics
This might be obvious, but I'll say it anyway: pay attention to what actually works for your audience.
My most successful titles tend to follow a few patterns:
- Problem → Solution format
- Specific metrics or timeframes
- Personal experience hooks
- Clear, immediate value
But your audience might respond differently. The only way to know is to experiment and measure.
Dev.to shows you view counts and engagement metrics. Use them. If a title performs well, analyze why and apply those lessons to future posts.
Bringing It All Together
Writing better titles isn't about manipulation or clickbait. It's about clearly communicating the value you're providing.
Your content might be brilliant, but if your title doesn't make that clear, nobody will ever find out. Start with the problem your readers face, promise a specific outcome, and be honest about what you're delivering.
What's the best (or worst) blog title you've ever clicked on? I'd love to hear about what made you click—or what made you immediately bounce.
Top comments (0)