Dev.to & Hashnode Publishing
Developer blogging platforms offer built-in audiences of hundreds of thousands of developers. This skill covers cross-posting strategy, platform-specific optimization, and building followers on Dev.to and Hashnode.
Before You Start
- Read
.agents/developer-audience-context.md if it exists
- Decide your canonical URL strategy (important for SEO)
- Create accounts on both platforms to reserve your username
- Understand: These platforms reward consistency and engagement
Platform Comparison
Dev.to vs Hashnode
| Feature |
Dev.to |
Hashnode |
| Monthly visitors |
~10M+ |
~3M+ |
| Custom domain |
No (subdomain only) |
Yes (free) |
| Canonical URL support |
Yes |
Yes |
| SEO benefits |
High domain authority |
Your domain gets SEO |
| Monetization |
No native |
Sponsors, newsletter |
| Newsletter |
No |
Built-in |
| Series support |
Yes |
Yes |
| Code highlighting |
Excellent |
Excellent |
| Community features |
Strong (reactions, comments) |
Growing |
| Audience |
Broader, more beginners |
More senior, focused |
When to Use Each
| Use Dev.to when |
Use Hashnode when |
| Maximum reach is priority |
Building your own brand |
| Targeting beginners/mid-level |
Want custom domain SEO |
| Community engagement matters |
Building email list |
| Quick validation of content |
Long-term content strategy |
| Don't have your own blog |
Supplementing your main blog |
Cross-Posting Strategy
The Canonical URL Decision
| Strategy |
Pros |
Cons |
| Original on your blog |
SEO to your domain, full control |
Platforms may rank lower |
| Original on Dev.to |
Maximum initial reach |
No SEO to your domain |
| Original on Hashnode (custom domain) |
SEO + platform reach |
Smaller initial audience |
Best Practice: Your Blog + Cross-Post
- Publish on your blog first — This is canonical
- Wait 1-2 days — Let Google index your original
- Cross-post to Dev.to — Set canonical URL to your blog
- Cross-post to Hashnode — Set canonical URL to your blog
Setting Canonical URLs
Dev.to (in frontmatter):
---
title: Your Title
canonical_url: https://yourblog.com/your-post
---
Hashnode (in editor):
- Click "Article settings" gear icon
- Paste original URL in "Canonical URL" field
Dev.to Optimization
Frontmatter Structure
---
title: "Specific, Keyword-Rich Title (Not Clickbait)"
published: true
description: "One compelling sentence that shows up in previews and SEO"
tags: javascript, webdev, tutorial, beginners
cover_image: https://your-cdn.com/image.png
canonical_url: https://yourblog.com/original-post
series: "Building a CLI from Scratch"
---
Tag Strategy
| Tag |
Followers |
Use for |
| #javascript |
200K+ |
JS content |
| #webdev |
150K+ |
General web development |
| #beginners |
120K+ |
Accessible content |
| #tutorial |
100K+ |
Step-by-step guides |
| #react |
80K+ |
React specific |
| #programming |
80K+ |
General programming |
| #python |
70K+ |
Python content |
| #devops |
50K+ |
DevOps, CI/CD |
| #opensource |
40K+ |
OSS projects |
| #productivity |
40K+ |
Dev tools, workflows |
Rules:
- Maximum 4 tags per post
- First tag is primary (appears in URL)
- Check tag follower count before using
What Performs on Dev.to
| Content type |
Performance |
Notes |
| Beginner tutorials |
High |
Largest audience segment |
| Listicles ("10 tools...") |
High |
Easy to consume |
| Career advice |
High |
Aspirational content |
| Hot takes |
Medium-high |
Controversial drives engagement |
| Deep technical |
Medium |
Niche but engaged audience |
| Project showcases |
Medium |
Best with story behind it |
| News/updates |
Low |
Competes with official sources |
Dev.to Engagement Features
| Feature |
How to use |
| Reactions |
Heart, unicorn, saved, fire — different meanings |
| Comments |
Reply to every comment for algorithm boost |
| Series |
Group related posts, drives binge reading |
| Discussion |
Tag #discuss for opinion/question posts |
| Listings |
Post jobs, events, products |
Hashnode Optimization
Article Settings
| Setting |
Recommendation |
| Subtitle |
Use for SEO keywords |
| Cover image |
1600x840 optimal size |
| SEO title |
Can differ from article title |
| SEO description |
155 characters max |
| Canonical URL |
Your original if cross-posting |
| Enable table of contents |
Yes for long posts |
| Disable comments |
No — engagement helps |
Tag Strategy
Hashnode tags work differently:
- Tags are linked to global topics
- Some tags have dedicated feeds
- Fewer tags, more focused
Popular Hashnode tags:
javascript, web-development, react
devops, cloud, aws
beginners, tutorial
opensource, programming
What Performs on Hashnode
| Content type |
Performance |
Notes |
| In-depth tutorials |
High |
Audience expects depth |
| Architecture posts |
High |
More senior audience |
| DevOps/cloud content |
High |
Strong niche presence |
| Career stories |
Medium-high |
Personal narratives work |
| Quick tips |
Medium |
Less than on Dev.to |
| Listicles |
Medium |
Less effective here |
Hashnode-Specific Features
| Feature |
How to use |
| Newsletter |
Enable to collect subscribers |
| Series |
Great for tutorials, courses |
| Custom CSS |
Style your blog uniquely |
| Widgets |
Add GitHub, newsletter CTAs |
| Sponsors |
Hashnode has sponsor program |
| Analytics |
Built-in, more detailed than Dev.to |
Content Formatting
Structure That Works
# Title
[Compelling hook — why should they care?]
## Table of Contents (for long posts)
- [Section 1](#section-1)
- [Section 2](#section-2)
## The Problem
[What pain point are you solving?]
## The Solution
[Your approach, with code examples]
### Code Example
```language
// Well-commented code
const example = "explained";
Step-by-Step
- Step one — Explanation
- Step two — Explanation
- Step three — Explanation
Common Pitfalls
[What to watch out for]
Conclusion
[Summary + CTA]
If you found this helpful, follow me for more content about [topic].
### Formatting Best Practices
| Element | Guideline |
|---------|-----------|
| **Headers** | Use H2 for sections, H3 for subsections |
| **Code blocks** | Always specify language for syntax highlighting |
| **Images** | Use descriptive alt text, compress for speed |
| **Links** | Descriptive text, not "click here" |
| **Length** | 1000-2500 words performs best |
| **Paragraphs** | Keep short, 2-3 sentences max |
| **Lists** | Use liberally for scannability |
---
## Building Followers
### Consistency Strategy
| Frequency | Result |
|-----------|--------|
| 4+ posts/month | Rapid follower growth |
| 2-3 posts/month | Steady growth |
| 1 post/month | Slow but sustainable |
| Sporadic | Minimal follower retention |
### Engagement Tactics
| Tactic | Why it works |
|--------|--------------|
| Reply to every comment | Algorithm boost + relationship building |
| Comment on others' posts | Visibility + community |
| Follow relevant authors | Often reciprocated |
| Share on social media | Drives external traffic |
| Link between your posts | Keeps readers on your content |
| Create series | Encourages following for updates |
### Bio and Profile Optimization
**Dev.to profile**:
- Clear profile photo
- Bio with what you write about
- Link to your main site
- List your expertise areas
**Hashnode profile**:
- Custom domain setup
- Newsletter enabled
- Social links populated
- Blog name and tagline set
---
## Platform-Specific Do's and Don'ts
### Do's
1. **Do** set canonical URLs to protect your SEO
2. **Do** use platform-specific formatting (embeds, etc.)
3. **Do** engage with comments within 24 hours
4. **Do** cross-post to both platforms
5. **Do** use series for related content
6. **Do** optimize cover images for each platform
7. **Do** include a CTA at the end
### Don'ts
1. **Don't** post identical content without canonical URLs
2. **Don't** ignore comments
3. **Don't** use only self-promotional content
4. **Don't** neglect tags — they're discovery mechanisms
5. **Don't** forget mobile readability
6. **Don't** publish unfinished drafts
7. **Don't** keyword stuff your content
---
## Analytics and Iteration
### Dev.to Dashboard
| Metric | What it tells you |
|--------|-------------------|
| Views | Reach/impressions |
| Reactions | Engagement quality |
| Comments | Discussion value |
| Reading time | Content depth |
| Followers from post | Conversion rate |
### Hashnode Analytics
| Metric | What it tells you |
|--------|-------------------|
| Total views | Reach |
| Unique visitors | Audience size |
| Read ratio | Completion rate |
| Time on page | Engagement depth |
| Referrers | Traffic sources |
| Newsletter signups | List growth |
### What to Optimize
| Low metric | Try this |
|------------|----------|
| Low views | Better title, different tags |
| Low reactions | More engaging opening |
| Low comments | End with a question |
| High bounce | Better structure, hook |
| Low followers | Stronger CTA, series |
---
## Tools
| Tool | Use case |
|------|----------|
| **[Octolens](https://octolens.com)** | Monitor Dev.to and Hashnode for mentions of your topic, competitors, and trends. Find popular content to learn from. |
| **Hemingway Editor** | Improve readability |
| **Carbon** | Beautiful code screenshots |
| **Unsplash** | Free cover images |
| **Canva** | Custom cover image design |
| **Grammarly** | Catch errors before publishing |
---
## Content Calendar Template
| Week | Dev.to | Hashnode | Topic |
|------|--------|----------|-------|
| 1 | Publish | Cross-post (day 2) | Tutorial |
| 2 | Cross-post | Publish | Deep dive |
| 3 | Publish | Cross-post (day 2) | Listicle |
| 4 | Cross-post | Publish | Opinion/experience |
---
## Related Skills
- `developer-audience-context` — Know who you're writing for
- `hacker-news-strategy` — Drive traffic from HN to your posts
- `reddit-engagement` — Share posts in relevant subreddits
- `github-presence` — Link from READMEs to your content
- `x-devs` — Promote posts on Twitter/X
1---2name: dev-to-hashnode-23description: When the user wants to publish on Dev.to, Hashnode, or other developer blogging platforms. Trigger phrases include "Dev.to," "Hashnode," "developer blog," "cross-posting," "technical blogging," "canonical URL," or "developer content platform."4---56# Dev.to & Hashnode Publishing78Developer blogging platforms offer built-in audiences of hundreds of thousands of developers. This skill covers cross-posting strategy, platform-specific optimization, and building followers on Dev.to and Hashnode.910---1112## Before You Start13141. Read `.agents/developer-audience-context.md` if it exists152. Decide your canonical URL strategy (important for SEO)163. Create accounts on both platforms to reserve your username174. Understand: These platforms reward consistency and engagement1819---2021## Platform Comparison2223### Dev.to vs Hashnode2425| Feature | Dev.to | Hashnode |26|---------|--------|----------|27| Monthly visitors | ~10M+ | ~3M+ |28| Custom domain | No (subdomain only) | Yes (free) |29| Canonical URL support | Yes | Yes |30| SEO benefits | High domain authority | Your domain gets SEO |31| Monetization | No native | Sponsors, newsletter |32| Newsletter | No | Built-in |33| Series support | Yes | Yes |34| Code highlighting | Excellent | Excellent |35| Community features | Strong (reactions, comments) | Growing |36| Audience | Broader, more beginners | More senior, focused |3738### When to Use Each3940| Use Dev.to when | Use Hashnode when |41|-----------------|-------------------|42| Maximum reach is priority | Building your own brand |43| Targeting beginners/mid-level | Want custom domain SEO |44| Community engagement matters | Building email list |45| Quick validation of content | Long-term content strategy |46| Don't have your own blog | Supplementing your main blog |4748---4950## Cross-Posting Strategy5152### The Canonical URL Decision5354| Strategy | Pros | Cons |55|----------|------|------|56| **Original on your blog** | SEO to your domain, full control | Platforms may rank lower |57| **Original on Dev.to** | Maximum initial reach | No SEO to your domain |58| **Original on Hashnode (custom domain)** | SEO + platform reach | Smaller initial audience |5960### Best Practice: Your Blog + Cross-Post61621. **Publish on your blog first** — This is canonical632. **Wait 1-2 days** — Let Google index your original643. **Cross-post to Dev.to** — Set canonical URL to your blog654. **Cross-post to Hashnode** — Set canonical URL to your blog6667### Setting Canonical URLs6869**Dev.to** (in frontmatter):70```yaml71---72title: Your Title73canonical_url: https://yourblog.com/your-post74---75```7677**Hashnode** (in editor):78- Click "Article settings" gear icon79- Paste original URL in "Canonical URL" field8081---8283## Dev.to Optimization8485### Frontmatter Structure8687```yaml88---89title: "Specific, Keyword-Rich Title (Not Clickbait)"90published: true91description: "One compelling sentence that shows up in previews and SEO"92tags: javascript, webdev, tutorial, beginners93cover_image: https://your-cdn.com/image.png94canonical_url: https://yourblog.com/original-post95series: "Building a CLI from Scratch"96---97```9899### Tag Strategy100101| Tag | Followers | Use for |102|-----|-----------|---------|103| #javascript | 200K+ | JS content |104| #webdev | 150K+ | General web development |105| #beginners | 120K+ | Accessible content |106| #tutorial | 100K+ | Step-by-step guides |107| #react | 80K+ | React specific |108| #programming | 80K+ | General programming |109| #python | 70K+ | Python content |110| #devops | 50K+ | DevOps, CI/CD |111| #opensource | 40K+ | OSS projects |112| #productivity | 40K+ | Dev tools, workflows |113114**Rules**:115- Maximum 4 tags per post116- First tag is primary (appears in URL)117- Check tag follower count before using118119### What Performs on Dev.to120121| Content type | Performance | Notes |122|--------------|-------------|-------|123| Beginner tutorials | High | Largest audience segment |124| Listicles ("10 tools...") | High | Easy to consume |125| Career advice | High | Aspirational content |126| Hot takes | Medium-high | Controversial drives engagement |127| Deep technical | Medium | Niche but engaged audience |128| Project showcases | Medium | Best with story behind it |129| News/updates | Low | Competes with official sources |130131### Dev.to Engagement Features132133| Feature | How to use |134|---------|------------|135| **Reactions** | Heart, unicorn, saved, fire — different meanings |136| **Comments** | Reply to every comment for algorithm boost |137| **Series** | Group related posts, drives binge reading |138| **Discussion** | Tag #discuss for opinion/question posts |139| **Listings** | Post jobs, events, products |140141---142143## Hashnode Optimization144145### Article Settings146147| Setting | Recommendation |148|---------|----------------|149| **Subtitle** | Use for SEO keywords |150| **Cover image** | 1600x840 optimal size |151| **SEO title** | Can differ from article title |152| **SEO description** | 155 characters max |153| **Canonical URL** | Your original if cross-posting |154| **Enable table of contents** | Yes for long posts |155| **Disable comments** | No — engagement helps |156157### Tag Strategy158159Hashnode tags work differently:160- Tags are linked to global topics161- Some tags have dedicated feeds162- Fewer tags, more focused163164**Popular Hashnode tags**:165- `javascript`, `web-development`, `react`166- `devops`, `cloud`, `aws`167- `beginners`, `tutorial`168- `opensource`, `programming`169170### What Performs on Hashnode171172| Content type | Performance | Notes |173|--------------|-------------|-------|174| In-depth tutorials | High | Audience expects depth |175| Architecture posts | High | More senior audience |176| DevOps/cloud content | High | Strong niche presence |177| Career stories | Medium-high | Personal narratives work |178| Quick tips | Medium | Less than on Dev.to |179| Listicles | Medium | Less effective here |180181### Hashnode-Specific Features182183| Feature | How to use |184|---------|------------|185| **Newsletter** | Enable to collect subscribers |186| **Series** | Great for tutorials, courses |187| **Custom CSS** | Style your blog uniquely |188| **Widgets** | Add GitHub, newsletter CTAs |189| **Sponsors** | Hashnode has sponsor program |190| **Analytics** | Built-in, more detailed than Dev.to |191192---193194## Content Formatting195196### Structure That Works197198```markdown199# Title200201[Compelling hook — why should they care?]202203## Table of Contents (for long posts)204- [Section 1](#section-1)205- [Section 2](#section-2)206207## The Problem208209[What pain point are you solving?]210211## The Solution212213[Your approach, with code examples]214215### Code Example216217```language218// Well-commented code219const example = "explained";220```221222## Step-by-Step2232241. **Step one** — Explanation2252. **Step two** — Explanation2263. **Step three** — Explanation227228## Common Pitfalls229230[What to watch out for]231232## Conclusion233234[Summary + CTA]235236---237238*If you found this helpful, [follow me](link) for more content about [topic].*239```240241### Formatting Best Practices242243| Element | Guideline |244|---------|-----------|245| **Headers** | Use H2 for sections, H3 for subsections |246| **Code blocks** | Always specify language for syntax highlighting |247| **Images** | Use descriptive alt text, compress for speed |248| **Links** | Descriptive text, not "click here" |249| **Length** | 1000-2500 words performs best |250| **Paragraphs** | Keep short, 2-3 sentences max |251| **Lists** | Use liberally for scannability |252253---254255## Building Followers256257### Consistency Strategy258259| Frequency | Result |260|-----------|--------|261| 4+ posts/month | Rapid follower growth |262| 2-3 posts/month | Steady growth |263| 1 post/month | Slow but sustainable |264| Sporadic | Minimal follower retention |265266### Engagement Tactics267268| Tactic | Why it works |269|--------|--------------|270| Reply to every comment | Algorithm boost + relationship building |271| Comment on others' posts | Visibility + community |272| Follow relevant authors | Often reciprocated |273| Share on social media | Drives external traffic |274| Link between your posts | Keeps readers on your content |275| Create series | Encourages following for updates |276277### Bio and Profile Optimization278279**Dev.to profile**:280- Clear profile photo281- Bio with what you write about282- Link to your main site283- List your expertise areas284285**Hashnode profile**:286- Custom domain setup287- Newsletter enabled288- Social links populated289- Blog name and tagline set290291---292293## Platform-Specific Do's and Don'ts294295### Do's2962971. **Do** set canonical URLs to protect your SEO2982. **Do** use platform-specific formatting (embeds, etc.)2993. **Do** engage with comments within 24 hours3004. **Do** cross-post to both platforms3015. **Do** use series for related content3026. **Do** optimize cover images for each platform3037. **Do** include a CTA at the end304305### Don'ts3063071. **Don't** post identical content without canonical URLs3082. **Don't** ignore comments3093. **Don't** use only self-promotional content3104. **Don't** neglect tags — they're discovery mechanisms3115. **Don't** forget mobile readability3126. **Don't** publish unfinished drafts3137. **Don't** keyword stuff your content314315---316317## Analytics and Iteration318319### Dev.to Dashboard320321| Metric | What it tells you |322|--------|-------------------|323| Views | Reach/impressions |324| Reactions | Engagement quality |325| Comments | Discussion value |326| Reading time | Content depth |327| Followers from post | Conversion rate |328329### Hashnode Analytics330331| Metric | What it tells you |332|--------|-------------------|333| Total views | Reach |334| Unique visitors | Audience size |335| Read ratio | Completion rate |336| Time on page | Engagement depth |337| Referrers | Traffic sources |338| Newsletter signups | List growth |339340### What to Optimize341342| Low metric | Try this |343|------------|----------|344| Low views | Better title, different tags |345| Low reactions | More engaging opening |346| Low comments | End with a question |347| High bounce | Better structure, hook |348| Low followers | Stronger CTA, series |349350---351352## Tools353354| Tool | Use case |355|------|----------|356| **[Octolens](https://octolens.com)** | Monitor Dev.to and Hashnode for mentions of your topic, competitors, and trends. Find popular content to learn from. |357| **Hemingway Editor** | Improve readability |358| **Carbon** | Beautiful code screenshots |359| **Unsplash** | Free cover images |360| **Canva** | Custom cover image design |361| **Grammarly** | Catch errors before publishing |362363---364365## Content Calendar Template366367| Week | Dev.to | Hashnode | Topic |368|------|--------|----------|-------|369| 1 | Publish | Cross-post (day 2) | Tutorial |370| 2 | Cross-post | Publish | Deep dive |371| 3 | Publish | Cross-post (day 2) | Listicle |372| 4 | Cross-post | Publish | Opinion/experience |373374---375376## Related Skills377378- `developer-audience-context` — Know who you're writing for379- `hacker-news-strategy` — Drive traffic from HN to your posts380- `reddit-engagement` — Share posts in relevant subreddits381- `github-presence` — Link from READMEs to your content382- `x-devs` — Promote posts on Twitter/X