Dev.to & Hashnode Publishing
When to Use
Use this skill when you need 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.".
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
## Limitations
- Use this skill only when the task clearly matches its upstream source and local project context.
- Verify commands, generated code, dependencies, credentials, and external service behavior before applying changes.
- Do not treat examples as a substitute for environment-specific tests, security review, or user approval for destructive or costly actions.
---
**Source:** [`sickn33/agentic-awesome-skills`](https://github.com/sickn33/agentic-awesome-skills) → `skills/dev-to-hashnode/SKILL.md`
**Also appears in:** `sickn33/agentic-awesome-skills/plugins/agentic-awesome-skills/skills/dev-to-hashnode/SKILL.md`, `sickn33/agentic-awesome-skills/plugins/agentic-awesome-skills-claude/skills/dev-to-hashnode/SKILL.md`
1---2name: dev-to-hashnode3description: 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---5
6
7# Dev.to & Hashnode Publishing
8## When to Use
9
10Use this skill when you need 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.".
11
12
13Developer 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.
14
15---
16
17## Before You Start
18
191. Read `.agents/developer-audience-context.md` if it exists
202. Decide your canonical URL strategy (important for SEO)
213. Create accounts on both platforms to reserve your username
224. Understand: These platforms reward consistency and engagement
23
24---
25
26## Platform Comparison
27
28### Dev.to vs Hashnode
29
30| Feature | Dev.to | Hashnode |
31|---------|--------|----------|
32| Monthly visitors | ~10M+ | ~3M+ |
33| Custom domain | No (subdomain only) | Yes (free) |
34| Canonical URL support | Yes | Yes |
35| SEO benefits | High domain authority | Your domain gets SEO |
36| Monetization | No native | Sponsors, newsletter |
37| Newsletter | No | Built-in |
38| Series support | Yes | Yes |
39| Code highlighting | Excellent | Excellent |
40| Community features | Strong (reactions, comments) | Growing |
41| Audience | Broader, more beginners | More senior, focused |
42
43### When to Use Each
44
45| Use Dev.to when | Use Hashnode when |
46|-----------------|-------------------|
47| Maximum reach is priority | Building your own brand |
48| Targeting beginners/mid-level | Want custom domain SEO |
49| Community engagement matters | Building email list |
50| Quick validation of content | Long-term content strategy |
51| Don't have your own blog | Supplementing your main blog |
52
53---
54
55## Cross-Posting Strategy
56
57### The Canonical URL Decision
58
59| Strategy | Pros | Cons |
60|----------|------|------|
61| **Original on your blog** | SEO to your domain, full control | Platforms may rank lower |
62| **Original on Dev.to** | Maximum initial reach | No SEO to your domain |
63| **Original on Hashnode (custom domain)** | SEO + platform reach | Smaller initial audience |
64
65### Best Practice: Your Blog + Cross-Post
66
671. **Publish on your blog first** — This is canonical
682. **Wait 1-2 days** — Let Google index your original
693. **Cross-post to Dev.to** — Set canonical URL to your blog
704. **Cross-post to Hashnode** — Set canonical URL to your blog
71
72### Setting Canonical URLs
73
74**Dev.to** (in frontmatter):
75```yaml
76---
77title: Your Title
78canonical_url: https://yourblog.com/your-post
79---
80```
81
82**Hashnode** (in editor):
83- Click "Article settings" gear icon
84- Paste original URL in "Canonical URL" field
85
86---
87
88## Dev.to Optimization
89
90### Frontmatter Structure
91
92```yaml
93---
94title: "Specific, Keyword-Rich Title (Not Clickbait)"
95published: true
96description: "One compelling sentence that shows up in previews and SEO"
97tags: javascript, webdev, tutorial, beginners
98cover_image: https://your-cdn.com/image.png
99canonical_url: https://yourblog.com/original-post
100series: "Building a CLI from Scratch"
101---
102```
103
104### Tag Strategy
105
106| Tag | Followers | Use for |
107|-----|-----------|---------|
108| #javascript | 200K+ | JS content |
109| #webdev | 150K+ | General web development |
110| #beginners | 120K+ | Accessible content |
111| #tutorial | 100K+ | Step-by-step guides |
112| #react | 80K+ | React specific |
113| #programming | 80K+ | General programming |
114| #python | 70K+ | Python content |
115| #devops | 50K+ | DevOps, CI/CD |
116| #opensource | 40K+ | OSS projects |
117| #productivity | 40K+ | Dev tools, workflows |
118
119**Rules**:
120- Maximum 4 tags per post
121- First tag is primary (appears in URL)
122- Check tag follower count before using
123
124### What Performs on Dev.to
125
126| Content type | Performance | Notes |
127|--------------|-------------|-------|
128| Beginner tutorials | High | Largest audience segment |
129| Listicles ("10 tools...") | High | Easy to consume |
130| Career advice | High | Aspirational content |
131| Hot takes | Medium-high | Controversial drives engagement |
132| Deep technical | Medium | Niche but engaged audience |
133| Project showcases | Medium | Best with story behind it |
134| News/updates | Low | Competes with official sources |
135
136### Dev.to Engagement Features
137
138| Feature | How to use |
139|---------|------------|
140| **Reactions** | Heart, unicorn, saved, fire — different meanings |
141| **Comments** | Reply to every comment for algorithm boost |
142| **Series** | Group related posts, drives binge reading |
143| **Discussion** | Tag #discuss for opinion/question posts |
144| **Listings** | Post jobs, events, products |
145
146---
147
148## Hashnode Optimization
149
150### Article Settings
151
152| Setting | Recommendation |
153|---------|----------------|
154| **Subtitle** | Use for SEO keywords |
155| **Cover image** | 1600x840 optimal size |
156| **SEO title** | Can differ from article title |
157| **SEO description** | 155 characters max |
158| **Canonical URL** | Your original if cross-posting |
159| **Enable table of contents** | Yes for long posts |
160| **Disable comments** | No — engagement helps |
161
162### Tag Strategy
163
164Hashnode tags work differently:
165- Tags are linked to global topics
166- Some tags have dedicated feeds
167- Fewer tags, more focused
168
169**Popular Hashnode tags**:
170- `javascript`, `web-development`, `react`
171- `devops`, `cloud`, `aws`
172- `beginners`, `tutorial`
173- `opensource`, `programming`
174
175### What Performs on Hashnode
176
177| Content type | Performance | Notes |
178|--------------|-------------|-------|
179| In-depth tutorials | High | Audience expects depth |
180| Architecture posts | High | More senior audience |
181| DevOps/cloud content | High | Strong niche presence |
182| Career stories | Medium-high | Personal narratives work |
183| Quick tips | Medium | Less than on Dev.to |
184| Listicles | Medium | Less effective here |
185
186### Hashnode-Specific Features
187
188| Feature | How to use |
189|---------|------------|
190| **Newsletter** | Enable to collect subscribers |
191| **Series** | Great for tutorials, courses |
192| **Custom CSS** | Style your blog uniquely |
193| **Widgets** | Add GitHub, newsletter CTAs |
194| **Sponsors** | Hashnode has sponsor program |
195| **Analytics** | Built-in, more detailed than Dev.to |
196
197---
198
199## Content Formatting
200
201### Structure That Works
202
203```markdown
204# Title
205
206[Compelling hook — why should they care?]
207
208## Table of Contents (for long posts)
209- [Section 1](#section-1)
210- [Section 2](#section-2)
211
212## The Problem
213
214[What pain point are you solving?]
215
216## The Solution
217
218[Your approach, with code examples]
219
220### Code Example
221
222```language
223// Well-commented code
224const example = "explained";
225```
226
227## Step-by-Step
228
2291. **Step one** — Explanation
2302. **Step two** — Explanation
2313. **Step three** — Explanation
232
233## Common Pitfalls
234
235[What to watch out for]
236
237## Conclusion
238
239[Summary + CTA]
240
241---
242
243*If you found this helpful, [follow me](https://github.com/jonathimer/devmarketing-skills/tree/main/skills/dev-to-hashnode/link) for more content about [topic].*
244```
245
246### Formatting Best Practices
247
248| Element | Guideline |
249|---------|-----------|
250| **Headers** | Use H2 for sections, H3 for subsections |
251| **Code blocks** | Always specify language for syntax highlighting |
252| **Images** | Use descriptive alt text, compress for speed |
253| **Links** | Descriptive text, not "click here" |
254| **Length** | 1000-2500 words performs best |
255| **Paragraphs** | Keep short, 2-3 sentences max |
256| **Lists** | Use liberally for scannability |
257
258---
259
260## Building Followers
261
262### Consistency Strategy
263
264| Frequency | Result |
265|-----------|--------|
266| 4+ posts/month | Rapid follower growth |
267| 2-3 posts/month | Steady growth |
268| 1 post/month | Slow but sustainable |
269| Sporadic | Minimal follower retention |
270
271### Engagement Tactics
272
273| Tactic | Why it works |
274|--------|--------------|
275| Reply to every comment | Algorithm boost + relationship building |
276| Comment on others' posts | Visibility + community |
277| Follow relevant authors | Often reciprocated |
278| Share on social media | Drives external traffic |
279| Link between your posts | Keeps readers on your content |
280| Create series | Encourages following for updates |
281
282### Bio and Profile Optimization
283
284**Dev.to profile**:
285- Clear profile photo
286- Bio with what you write about
287- Link to your main site
288- List your expertise areas
289
290**Hashnode profile**:
291- Custom domain setup
292- Newsletter enabled
293- Social links populated
294- Blog name and tagline set
295
296---
297
298## Platform-Specific Do's and Don'ts
299
300### Do's
301
3021. **Do** set canonical URLs to protect your SEO
3032. **Do** use platform-specific formatting (embeds, etc.)
3043. **Do** engage with comments within 24 hours
3054. **Do** cross-post to both platforms
3065. **Do** use series for related content
3076. **Do** optimize cover images for each platform
3087. **Do** include a CTA at the end
309
310### Don'ts
311
3121. **Don't** post identical content without canonical URLs
3132. **Don't** ignore comments
3143. **Don't** use only self-promotional content
3154. **Don't** neglect tags — they're discovery mechanisms
3165. **Don't** forget mobile readability
3176. **Don't** publish unfinished drafts
3187. **Don't** keyword stuff your content
319
320---
321
322## Analytics and Iteration
323
324### Dev.to Dashboard
325
326| Metric | What it tells you |
327|--------|-------------------|
328| Views | Reach/impressions |
329| Reactions | Engagement quality |
330| Comments | Discussion value |
331| Reading time | Content depth |
332| Followers from post | Conversion rate |
333
334### Hashnode Analytics
335
336| Metric | What it tells you |
337|--------|-------------------|
338| Total views | Reach |
339| Unique visitors | Audience size |
340| Read ratio | Completion rate |
341| Time on page | Engagement depth |
342| Referrers | Traffic sources |
343| Newsletter signups | List growth |
344
345### What to Optimize
346
347| Low metric | Try this |
348|------------|----------|
349| Low views | Better title, different tags |
350| Low reactions | More engaging opening |
351| Low comments | End with a question |
352| High bounce | Better structure, hook |
353| Low followers | Stronger CTA, series |
354
355---
356
357## Tools
358
359| Tool | Use case |
360|------|----------|
361| **[Octolens](https://octolens.com)** | Monitor Dev.to and Hashnode for mentions of your topic, competitors, and trends. Find popular content to learn from. |
362| **Hemingway Editor** | Improve readability |
363| **Carbon** | Beautiful code screenshots |
364| **Unsplash** | Free cover images |
365| **Canva** | Custom cover image design |
366| **Grammarly** | Catch errors before publishing |
367
368---
369
370## Content Calendar Template
371
372| Week | Dev.to | Hashnode | Topic |
373|------|--------|----------|-------|
374| 1 | Publish | Cross-post (day 2) | Tutorial |
375| 2 | Cross-post | Publish | Deep dive |
376| 3 | Publish | Cross-post (day 2) | Listicle |
377| 4 | Cross-post | Publish | Opinion/experience |
378
379---
380
381## Related Skills
382
383- `developer-audience-context` — Know who you're writing for
384- `hacker-news-strategy` — Drive traffic from HN to your posts
385- `reddit-engagement` — Share posts in relevant subreddits
386- `github-presence` — Link from READMEs to your content
387- `x-devs` — Promote posts on Twitter/X
388
389## Limitations
390
391- Use this skill only when the task clearly matches its upstream source and local project context.
392- Verify commands, generated code, dependencies, credentials, and external service behavior before applying changes.
393- Do not treat examples as a substitute for environment-specific tests, security review, or user approval for destructive or costly actions.
394
395---
396
397**Source:** [`sickn33/agentic-awesome-skills`](https://github.com/sickn33/agentic-awesome-skills) → `skills/dev-to-hashnode/SKILL.md`
398
399**Also appears in:** `sickn33/agentic-awesome-skills/plugins/agentic-awesome-skills/skills/dev-to-hashnode/SKILL.md`, `sickn33/agentic-awesome-skills/plugins/agentic-awesome-skills-claude/skills/dev-to-hashnode/SKILL.md`