Every Link in the Body Is UGC. So Put the Blog on Your Own Domain.
Written by Submitator, which writes editorial articles about customers' products and publishes some of them here, so read it as an interested party. The link numbers were parsed from live articles on real Hashnode blogs rather than taken from a claim, and the footnote says exactly which ones.
Hashnode is a blogging platform for engineers, rated 83 by Ahrefs. It is not a directory and nothing you do here produces a listing, which is why it is worth being precise about what a published article is actually worth to you.
We read 72 articles across eight real Hashnode blogs and parsed 758 outbound anchors. Every link written inside the body of a post carries rel="noopener ugc". Not some of them, not the promotional ones: all of them, including links an author places to their own product.
The 330 anchors that come back followed are not a loophole. They are the blog's own furniture, and 267 of them carry no anchor text at all because they are the social icons on an author card. You cannot write in that part of the page.
| rel | Anchor | What it is |
|---|---|---|
| noopener | Paolo Insogna | Author card, Hashnode profile |
| noopener | (icon, no text) | Author card, X |
| noopener | (icon, no text) | Author card, LinkedIn |
| noopener ugc | Apache Kafka | Written in the body |
| noopener ugc | KafkaJS | Written in the body |
| noopener ugc | no longer maintained | Written in the body |
| noopener ugc | @platformatic/kafka | The author's own product |
If every link out is ugc, stop trying to use Hashnode as a link source and start using it as what it is: a publishing platform where $5 a month puts the article on a domain you own. On Pro the post lives at blog.yourcompany.com, is indexed under your domain and accrues to your site. At that point you are not borrowing somebody's authority, you are building your own, and the rel on the links stops being the interesting question.
Hashnode at a glance
| What you get | Hashnode |
|---|---|
| Price to publish | $0 on a hashnode.dev subdomain |
| Pro | $5/month or $50/year, per publication |
| Links you write in the body | rel="noopener ugc", 758 of 758 |
| Followed anchors on the page | Author card and blog chrome only |
| Custom domain | Pro feature; the reason to pay |
| Canonical | Self-referencing on 66 of 72 read |
| Editor | Rich or raw Markdown, slash commands |
| SEO fields | Slug, tags, 60-char title, 150-char description |
| GraphQL API | Pro only since May 2026 |
| The 30 to 100 directory listings | Filed for you by Submitator, from $29 |
Per hashnode.com, its /pro page, robots.txt, sitemap.xml and the changelog entry dated 13 May 2026, together with 72 live articles, all read on 16 September 2026. Domain Rating is Ahrefs' figure via submitator.com/domain-rating-checker, which returned 83 for hashnode.com and 83 for hashnode.dev. The link finding is a sample, not a full census: hashnode.com's own sitemap index contains only static and tag sitemaps and its feed is client-rendered, and their GraphQL API now requires a paid plan, so the sample was built instead from eight publications seen in the live feed, all on custom domains: blog.platformatic.dev, fullstackcity.com, uidev.net, blog.everabyte.com, blog.next-planet.com, devops.dina.ch, developer.tenten.co and blog.cloud-mili.eu. Their own sitemaps yielded 530 article URLs, from which 72 were drawn at random with a fixed seed, up to nine per blog so that no single publication dominates. Every page was fetched successfully and parsed with an HTML parser rather than pattern-matched. hashnode.com appears on every article as platform chrome and was identified by per-page frequency and excluded before attribution, leaving 758 third-party anchors: 428 carry rel="noopener ugc", 327 carry rel="noopener" and 3 carry no rel. The followed group is blog furniture rather than authored links, which is why the hosts in it are led by linkedin.com, twitter.com, x.com, github.com and youtube.com and why 267 of them have no anchor text; to check that directly, one article was re-parsed with its content isolated to the <article> element, where all 12 body links carried ugc and the only followed externals were the author card. That article was then re-requested with a Googlebot user agent and returned an identical multiset of rel values. 66 of the 72 articles carry a self-referencing canonical, 6 carry none, and none of the 72 is noindexed. The sample is drawn entirely from custom-domain publications and no yourname.hashnode.dev subdomain blog was measured, so nothing here is a statement about how subdomain blogs behave differently, if at all. Pro features and prices are quoted from hashnode.com/pro, and the API wording from their changelog: "Scrapers and spammers were abusing the free API at scale." Nothing was published in the course of this review, so acceptance, moderation and reach are outside what we can report. Editor and SEO field details are read from the live editor. Submitator writes editorial articles rather than filing a listing here, so Hashnode is not a row in our directory catalog. Our plans are $29 for 30 directories, $49 for 60 and $79 for 100, one-time, chosen by you with each Domain Rating shown and no-equity marked where it applies, badges installed and kept live, rejections credited back as +1 directory and a 30-day refund policy on the conditions in our terms.
How to publish a product article on Hashnode
- 1
Decide the domain before you write the first word
This is the only decision on the page that matters more than the writing. A free blog lives at yourname.hashnode.dev and everything you publish accrues to Hashnode. Pro at $5 a month maps your own domain, so the same article lives at blog.yourcompany.com and accrues to you. If you intend to publish more than twice, pay the $5 before article one rather than migrating later.
- 2
Write to the subject, not to the product
The links out are ugc, so the article cannot work as a backlink and has to work as a piece of writing. Pick a problem your product happens to solve and explain the problem properly. The mention of what you built belongs where a reader would want it, which is after they already agree the problem is real, and usually once.
- 3
Use the Markdown toggle if you have the draft already
The editor offers Rich and Markdown side by side, and slash commands in the rich mode. If the piece already exists as Markdown in a repository, paste it rather than rebuilding it in a WYSIWYG, because code blocks and nested lists survive the paste and rarely survive the retype.
- 4
Set the slug by hand before publishing, not after
The URL & Discovery panel lets you customise the article slug while it is still a draft. Do it there. A slug generated from a long title carries the whole title, and changing a URL after publication costs you whatever the original picked up. Keep it short and put the subject in it rather than the headline.
- 5
Fill the SEO title and description, because the counters are hard limits
The panel caps the SEO title at 60 characters and the description at 150, counting down as you type. Left empty, both fall back to the article title and opening lines, which are written for a reader mid-scroll rather than for a search result. Write them separately: the title as the query someone would type, the description as the reason to click.
- 6
Add a cover and a subheading, then stop fiddling
Both are optional and both are one-time work. The cover is what appears on the Hashnode feed card and in social previews, and the subheading is the line under the title. Neither changes anything about the link or the indexing, so give them five minutes and spend the rest of the hour on the middle of the article.
What ugc actually is
Google introduced ugc alongside sponsored in 2019, as a way for a site to say what kind of link this is rather than simply switching PageRank off with nofollow. All three sit in the same family, and all three are treated as signals that the link should not normally pass ranking value.
It is also, to be fair to Hashnode, the correct attribute for a platform in their position. Anything an author types into a hosted editor is user-generated content by definition, and a platform that left those links followed would be farmed within a week. Their own changelog says exactly that happened to their API: "Scrapers and spammers were abusing the free API at scale. Read traffic was being used to mirror posts on spam farms." Nobody is being short-changed here. The attribute is honest and it tells you what the platform is for.
What it does mean is that a Hashnode article should never appear in a count of the links a campaign produced. It is a piece of content that earns readers and citations on its own merits, and the moment you start writing it as a link vehicle it stops being good enough to do either.
The five dollars is the whole argument
Every blog in our sample runs on a custom domain: blog.platformatic.dev, fullstackcity.com, uidev.net, devops.dina.ch and four more. That is not a coincidence, it is what serious publications on this platform do, and it is what Pro exists to enable at $5 a month or $50 a year.
Map your own domain and the arithmetic inverts. The article is no longer a page on somebody else's site with a ugc link pointing home; it is a page on your site, indexed under your domain, and the internal links in it are internal links. Everything you publish compounds into one property instead of renting attention from a platform. The same Pro plan also carries the GraphQL API, headless mode, scheduled publishing, GitHub backup of every post as Markdown, and a bulk Markdown import whose frontmatter maps canonical URLs and original publish dates, which is the part that makes leaving again cheap.
That last detail is worth pausing on, because platforms that make export easy are a different species from platforms that do not. You can bring a publication in from a zip of Markdown and you can sync every post back out to a repository. Whatever else is true, you are not locked in.
Hashnode or DEV.to
We measured both, so the comparison is short. On DEV.to the links came back followed on 202 of 212 anchors, the article lives on dev.to, and the platform keeps the domain. On Hashnode every body link is ugc, and for $5 a month the article lives on a domain you keep.
So they are not competitors, they are two different tools. Publish on DEV.to when the point of the piece is the link and you are happy for the page to belong to somebody else. Publish on Hashnode when the point is to own a growing archive of writing on your own domain. Most products with anything to say should do both, with different articles rather than the same one twice.
Publishing on Hashnode: the short answer
Every link you write is ugc, so do not budget it as a backlink. Pay the $5, map your own domain, and write something a stranger would finish.
Write the article. Let $29 cover the thirty listings.
One payment, every directory named in your dashboard with its Domain Rating on the card, a no-equity mark where the link cannot be crawled, badges installed and kept live where one is wanted, and a rejection credited back as another directory.
Every body link is ugc. Own the domain instead.
758 outbound anchors across 72 articles on 8 real Hashnode blogs, and every link written inside a post carries rel="noopener ugc". The followed ones are the author card, 267 of them without any anchor text. So do not count a Hashnode post as a backlink. Pay $5 a month, map your own domain, and the article accrues to you instead. The whole catalog.
FAQ
Are Hashnode links dofollow?
The links you write inside an article are not. We read 72 articles across 8 real Hashnode blogs and parsed 758 outbound anchors: every link placed in the body of a post carries rel="noopener ugc". The 330 that are followed turn out to be the blog's own chrome rather than anything an author writes, and 267 of them have no anchor text at all because they are social icons. On one article isolated to its <article> element, all 12 body links were ugc and the only followed externals were the author card: two to the author's Hashnode profile, one to X and one to LinkedIn.
What does rel=ugc mean for SEO?
It is Google's user-generated content attribute, introduced alongside sponsored in 2019 and sitting in the same family as nofollow. Google treats all three as hints that the link should not normally pass ranking signals. So plan on a Hashnode article sending you readers and citations rather than link equity, and do not count it as a backlink when you are estimating what a campaign produced.
If the links are ugc, why publish on Hashnode at all?
Because with Pro you map your own domain, and the article stops being a page on somebody else's platform. It lives at blog.yourcompany.com, it is indexed under your domain, it accrues to your site rather than theirs, and the ugc question stops mattering because you are no longer trying to link back to yourself from a third party. That is the whole play, and it is a better one than most platforms offer.
How much does Hashnode Pro cost?
$5 a month, or $50 a year with two months free, charged per publication. It is what unlocks the custom domain, the GraphQL API, headless mode, AI editor tools, webhooks, GitHub backup, bulk markdown import, scheduled publishing and the removal of Hashnode branding from your blog. Upgrading one publication also raises your account limit from one to ten.
Is Hashnode free?
Yes, with unlimited articles on a yourname.hashnode.dev subdomain. What the free tier does not include is the custom domain, which is the feature that makes the whole exercise worth doing for a company. Free is the right place to test the editor and the workflow; it is not the right place to build a year of content.
What is Hashnode's Domain Rating?
83 for hashnode.com, per Ahrefs, and 83 for hashnode.dev as well. Neither number describes what you get, which is why this guide sits outside our directory catalog. On the free tier your article lives on a hashnode.dev subdomain; on Pro it lives on a domain you own. In neither case does a published article hand you a followed link from a DR 83 page.
What does the Hashnode editor ask for?
A title, a body with a slash-command menu, an optional cover image and an optional subheading, and a toggle between a rich editor and raw Markdown. A side panel headed URL & Discovery carries the article slug, which you can customise before publishing, tags, an SEO title capped at 60 characters and an SEO description capped at 150. Both counters are enforced in the field rather than advisory.
Hashnode or DEV.to for a product article?
Different jobs. DEV.to publishes on dev.to and the links came back followed on 202 of 212 anchors we measured, so it is the one that can pass equity. Hashnode gives you a real blog you can move onto your own domain for $5 a month, and every body link on it is ugc. Use DEV.to when the point is the link, use Hashnode when the point is owning the article.
Is the Hashnode API free?
Not since May 2026. Their changelog is blunt about why: "Scrapers and spammers were abusing the free API at scale. Read traffic was being used to mirror posts on spam farms." Reads used to be free and are not anymore, so both queries and mutations now need Pro on the publication. Worth knowing before you plan any automation around it.
Does Submitator publish on Hashnode?
It is one of the places we write editorial articles about customers' products, rather than a directory we file a listing to, which is why there is no Domain Rating card for it in the catalog. The 30 to 100 entries in a plan are directory listings; an article is a different piece of work with a different shape, and this guide exists so that nobody counts one as the other.
More submit-to guides.
Write the article. Let $29 cover the thirty listings.
One payment, each directory named with its Domain Rating on the card before you choose it, a no-equity mark where the link cannot be crawled, badges installed and kept live where one is wanted, and a rejection swapped for another directory.
