Skip to content
Where To Submit

HackMD Submission Guide: How to Publish, Pass the New-Account Gate, and Get Google Traffic

A collaborative markdown editor with DR 83. Published notes get long-term Google traffic, but a hidden new-account gate trips up almost everyone first time.

Updated 11 min read

What is HackMD

HackMD (https://hackmd.io) is a collaborative markdown editor built by HackMD Inc. in Taiwan. Multiple people can edit the same document in real time, kind of like Google Docs but for markdown. Solo writing works fine too. The underlying tech is open-source CodiMD (now forked as HedgeDoc).

Keep these pieces straight:

  • Note: any markdown doc you create is a note. URL looks like hackmd.io/<random-hash>. That's the editor view — you need to be signed in or have the share link to open it.
  • Publish: after you publish a note, you get a public URL at hackmd.io/s/<short-id> or hackmd.io/@user/<slug>. That's the public version, and that's what Google can index. This is the URL you actually want to use as a backlink landing page.
  • Public page (profile): every user has a profile at hackmd.io/@<username> listing all their published notes.
  • Teams: paid feature. Multi-user workspaces, central management, custom domains. Free users don't get this.
  • Three view modes: edit (pencil), dual-pane, view (eye). Toggle from the top toolbar.
  • Slide mode: write talks in markdown, export to reveal.js slides.
  • Export: PDF, HTML, raw .md all supported.

Sign-up is free. Publishing is free. What costs money is team workspaces, custom domains, watermark removal.

Is HackMD still worth it

Depends on what you write.

Worth your time if:

  • You write technical content (dev notes, tutorials, source-code walkthroughs, post-mortems). HackMD renders code, mermaid diagrams, and LaTeX much better than Medium.
  • You want "one more page Google can find". HackMD's published pages get indexed reliably. A well-written one can keep bringing in traffic 6 months later.
  • You already have README-style content (GitHub READMEs, technical docs, open-source project descriptions) and want a non-developer-friendly entry point. HackMD publish pages show up in Google more often than GitHub READMEs for the same search.
  • You have an audience in Taiwan, Hong Kong, or Southeast Asia. HackMD has way more dev-circle penetration there than Medium.

Don't use it if:

  • You only want dofollow backlinks. HackMD links are nofollow.
  • Your content is product copy, SEO filler, or AI-template articles. HackMD's human review isn't strict, but pure marketing pages get deindexed by Google as low-quality.
  • You want to publish today. New accounts can't publish — you have to warm up for a few days first (whole section on this below).

Honestly the best way to use HackMD: "I'm writing a long technical post anyway, let me drop it on HackMD too for an extra Google entry." Don't expect HackMD itself to drive traffic the way dev.to does — HackMD has no trending page, no feed, no recommendation algorithm. Discovery is 100% Google.

How HackMD decides if you get found

HackMD has no internal discovery (no trending, no recommendations, no tag-based feeds). "Getting seen" basically equals "getting indexed by Google". What Google looks at:

  • Publish status. Unpublished notes are noindex. Google can't see them at all. You have to go through the publish flow to get a /s/<id> URL.
  • Content length and quality. Published pages under 500 words rarely get indexed — Google treats them as thin content. Long content (2,000+ words) with code, images, and lists gets priority.
  • Author profile completeness. Accounts with filled-in avatars, bios, and social links on @username indexing visibly faster.
  • Originality. Lots of HackMD publish pages are copy-pasted from elsewhere. Google ignores duplicate content. Either write fresh, or rewrite enough to be visibly different from the original.
  • External backlinks. One or two outside links pointing at your HackMD page (from your blog, Twitter, etc.) speed up indexing a lot.
  • Update frequency. Pages that go stale slip in rankings. Touching them every few months keeps the ranking stable.

Most common foot-gun: treating HackMD as "a tool page to hang backlinks on" with a few throwaway paragraphs. Google sees right through it and doesn't even index. HackMD pages have to be written like standalone blog posts, not like submission pages.

Before you submit

One week out (account warm-up)

If your account is brand new, don't try to publish your main piece yet. HackMD has a hidden new-account gate: a fresh account can't publish. The system shows "Your account is still new, please familiarize yourself by creating notes and completing your public page first. We'll auto-enable publishing once we understand your usage pattern better." Whole section on this below.

During warm-up, do these:

  • Fill out your public page (profile): avatar, bio, Twitter / GitHub / personal site, all of it. The system stays suspicious of empty profiles indefinitely.
  • Create 3-5 normal notes. Don't load them with backlinks — write real notes. Tech notes, book summaries, todo lists. 200-1,000 words each is fine.
  • Go back and edit your old notes occasionally. Add content, tweak formatting. Looks like real usage.
  • Don't spam the publish button. Hitting it 5 times in a day actually adds risk score and delays unlock.

Normally publishing unlocks in 3-7 days.

Two days out

Have the main article ready before launch day. Structure:

  • Title: directly say what the article covers and who it's for. "Notes on solving Y with X tool" beats "Some thoughts on X". The title becomes the <title> of the publish page and directly affects Google CTR.
  • Lead paragraph: do the heavy lifting in the first paragraph. Tell readers what's inside, what they get, who it's for. People decide whether to keep reading in the first three lines.
  • Body: split into ## sections. Use ```lang for code blocks with the language specified. Use tables and lists freely. HackMD's markdown rendering is solid on all of this.
  • End: a link or two back to your own stuff (blog, product page, social). Links are nofollow, but real readers click them.
  • Length: 2,000-4,000 words is the sweet spot. Under 1,500 mostly doesn't get indexed.

Browse hackmd.io/@<popular author> and look at how well-ranking pieces are structured — first paragraph style, where backlinks sit, layout choices. Copy the framework, not the content.

Launch day

Once publishing's unlocked, post the main article. After that:

  • Open the publish URL in an incognito tab and confirm anyone can read it.
  • Push to Twitter, your newsletter, relevant Discord. External backlinks visibly speed up Google indexing. Pages that get clicks get crawled faster.
  • Drop the publish URL in your GitHub README, your site's "writing" section, Twitter pinned tweet. Gives readers another entry point and helps Google discover the page.

The submission flow

Step 1: Sign up and complete your profile

Go to https://hackmd.io/signup. Email, Google, GitHub, Twitter all work. GitHub is usually the smoothest pick — most devs already have it, and HackMD's team workspaces play nice with GitHub if you ever upgrade.

Right after signing up, fill these out in Settings:

  • Username: this is the prefix for your public page at @username. Pick something on-brand.
  • Display name + avatar: real name and real photo. Default avatars hurt indexing visibly.
  • Bio: one line on what you do. "Building X for Y" works.
  • Public links: Twitter, GitHub, personal site, all of it.

Skip these and try to publish immediately and you'll hit "no publish permission yet" almost certainly.

A lot of tutorials skip this, but it really matters. The core signal the system uses to decide if you're a bot: "did you use this tool the way a real user does?"

Build 3-5 notes that look like:

  • A book / talk summary
  • A tech-learning note ("3 things I learned from X framework")
  • A personal todo list or idea dump (private is fine, as long as the note exists)
  • An issue / bug post-mortem ("Spent 3 hours stuck on X yesterday, turned out to be Y")

200-1,000 words each. Don't put backlinks in these — backlinks during warm-up delay unlock.

Come back daily and tweak something. Add a section, fix formatting. After 3-7 days the publish feature auto-unlocks.

Step 3: Write the main article

Once unlocked, start a fresh note. The editor's on the left, preview on the right (use the top toolbar to switch between the three views).

Structure per the previous section. A few small tips:

  • Add YAML frontmatter at the top (HackMD supports it): title, description, tags, robots. Setting robots: index, follow helps Google.
  • Always tag code block languages. ```javascript renders much better than plain ```.
  • Mermaid diagrams (flowcharts, sequence diagrams) work via ```mermaid blocks. They make articles look way more polished.
  • Don't skip heading levels (no H2 followed directly by H4). Google's outline algorithm is sensitive to this.

After writing, switch to "view mode" (eye icon) to preview the layout.

Step 4: Publish

Once it's ready, click "Share" top-right. In the panel:

  • Find the Publish tab or button and click it.
  • The system generates a public URL (hackmd.io/s/<id> or hackmd.io/@<user>/<slug>).
  • Read Permission flips to "Everyone can view" automatically.

If you see "no publish permission yet", go back to the warm-up step and wait a few more days.

After publishing, the URL is indexable by Google.

Step 5: Push for indexing

Publishing isn't the finish line. The first few days are the Google indexing window.

  • Push the publish URL to Twitter with a thread previewing the article.
  • Post on Indie Hackers or dev.to. On dev.to you can set canonical URL pointing to the HackMD page, so dev.to doesn't steal SEO.
  • Drop the URL into your GitHub README, your site, your newsletter.
  • Submit via Google Search Console if you have access to a property that links here (most people don't have hackmd.io GSC, but mentioning from your own site's GSC then linking back works).

If Google can search the article in 3-7 days, you're indexed.

What to do when your new account can't publish (the biggest gotcha)

This gets its own section because it trips up so many people.

HackMD puts an anti-spam gate on new accounts: clicking Publish shows "Your account is still new, please familiarize yourself by creating notes and completing your public page first. We'll auto-enable publishing once we understand your usage pattern better."

The official docs barely mention this. First time hitting it, most people think their account is broken. It's just an account warm-up mechanism — HackMD blocking backlink-farm accounts from registering in bulk and spamming nofollow links.

How to get past it:

  • Complete the public profile: avatar, bio, Twitter, GitHub, personal site — every field. This is the most direct signal of "is this a real user".
  • Build 3-5 normal notes: emphasis on "normal" — tech notes, book summaries, todo lists are all fine, but don't have every note be a backlink article. Backlink-heavy warm-up delays unlock.
  • Use it normally for 3-7 days: come back daily and edit a note, add a section, browse other public pages. Looks like real usage.
  • Don't spam Publish: the system counts attempts. More than 3-5 a day adds risk score.
  • Use a VPN if you're in mainland China: hackmd.io has function-level restrictions for some Chinese IPs. A stable Taiwan or US-West node fixes it.

If it's still locked after 7 days:

  • Path B: skip publish, use public view directly. In the share panel, set Read Permission to "Everyone". The URL is the ugly /<hash> one, but anyone can open it and Google indexes it. Works fine as a backlink landing page.
  • Email support: contact@hackmd.io. Send your username and registration date, ask for manual unlock. Decent attitude usually gets a response in 1-2 business days.

Worst case: new account, redo the warm-up from step one. Slow but works.

How to actually get traffic from HackMD

Outbound links are nofollow (HackMD adds rel="nofollow noopener noreferrer" on every external link in published pages). So don't treat it as a backlink farm. The real value is three things:

One: published pages get Google-indexed. HackMD root DR is 83. A single published page can rank on long-tail keywords. Technical content especially eats well here — developers searching "How to debug X in Y framework" hit HackMD pages all the time. This is where HackMD's long-term traffic actually comes from.

Two: social proof in the dev community. If your product is dev-targeted, a deep technical post on HackMD is endorsement. Readers who follow the link back to your product convert at way better rates than cold traffic.

Three: extra content archive. HackMD isn't going anywhere (real public-company backing). Articles stay findable. Treat it as "long-term archive + extra Google entry point" — way better ROI than writing brand-new content for it.

Playbook:

  • Re-publish your blog's hits. Take a high-performing technical post from your blog, tweak it slightly for duplicate-content safety, set canonical (frontmatter robots: noindex or use the original URL as canonical). One more entry point with little extra work.
  • Issue post-mortems work best. "Spent 3 hours stuck on X yesterday, found out it was Y" — these rank consistently on HackMD. Developers searching error messages keep finding them.
  • Use code and diagrams. Pages with well-rendered code blocks and mermaid diagrams get longer time-on-page after indexing, which keeps rankings up.
  • Interlink. HackMD publish pages can link to each other. A series of articles cross-linking each other passes weight better.

After publishing

Publishing's not the end. It's the start of a content asset.

Drop the publish URL into your long-term real-estate spots — blog "further reading" footer, Twitter pinned, GitHub README documentation section, newsletter signature. Set once, runs for two years.

Update the article every 3-6 months. Even just adding "Updated May 2026: X tool now supports Y" triggers Google to recrawl and keeps the ranking stable.

If a piece takes off (1,000+ pageviews / month), extend it:

  • Cross-post to dev.to (set canonical pointing back to HackMD or your blog to avoid SEO collision)
  • Pull the key points into a Twitter thread
  • Post as a case study on Indie Hackers
  • Turn it into a newsletter issue

One content piece, at least three formats.

Finally — treat HackMD as a recurring column. One deep technical article every two weeks or every month. Six months later you'll have 5-10 articles bringing in steady traffic on Google. Adds up to more value than any single hard-push PR campaign.

Common mistakes

  • Trying to publish right after signing up. Gets blocked, makes it worse. Warm up for 3-7 days first.
  • Trying to publish with an empty profile. System reads "not a real user" and never unlocks.
  • Articles that are pure product pitches and link stacking. HackMD's review is light but Google will deindex thin/spam pages.
  • Marketing-flavored titles. "My product is X" doesn't get searched. Write "How to do Y using X tool" — search-query style.
  • Articles too short. Under 1,000 words basically never indexes. HackMD's for long content.
  • Thinking you're done without publishing. The /<hash> URL is noindex. You have to actually click Publish to get the /s/<id> indexable URL.
  • Copy-pasting the same article to 4-5 sites. Google picks one and ignores the rest. Either rewrite or use canonical.
  • Forgetting to push external backlinks. HackMD has no internal discovery — outside links are the main signal for Google. At minimum, push one Twitter post.
  • Connecting from a mainland China IP without a VPN. Function-level restrictions, sometimes including Publish itself silently breaking. Use a VPN.
  • AI-generated technical content, unedited. HackMD readers are mostly developers. AI prose gets spotted in two paragraphs.

HackMD vs dev.to vs Medium vs Hashnode

DimensionHackMDdev.toMediumHashnode
TypeCollaborative markdown editorDeveloper communityGeneral long-formDeveloper blogging platform
Link typenofollownofollownofollow (sometimes dofollow but weak)dofollow (some pages)
Built-in trafficAlmost none (Google only)Strong (trending + tag feed)Moderate (tag push)Moderate (community feed)
Best forLong technical posts, notes, docsTutorials, dev journeysLong-form, opinion / thinkingTechnical blogging, custom domain
Markdown supportStrong (mermaid, LaTeX, code)StrongWeakStrong
Custom domainPaidNoPaidFree
Publishing gate3-7 day warm-up for new accountsImmediateImmediateImmediate
Best audienceAlready has audience + wants extra Google entryWants community exposureReaching non-technical readersBuilding a real technical blog

Quick rule: write the article once, drop it in three spots (HackMD for archive + Google long-tail, dev.to for community, Hashnode with custom domain as your home base, add canonicals so they don't fight). Medium fits "industry thinking" pieces for non-technical readers. HackMD doesn't do community exposure — its real value is Google.

FAQ

Does HackMD cost money? Sign-up and publishing are free. What you pay for is team workspaces (multi-user), custom domains, watermark removal, more storage. Free version is plenty for solo writing.

Are outbound links dofollow or nofollow? nofollow. All external links on publish pages have rel="nofollow noopener noreferrer". Don't use it as a pure backlink farm.

How do I unlock publishing on a new account? Complete your profile (avatar, bio, social), create 3-5 normal notes (not all backlink articles), use it normally for 3-7 days. Auto-unlocks. Impatient? Email contact@hackmd.io.

How fast does Google index a publish page? 2-7 days. With external backlinks, 1-3 days. Pure publish with no inbound links can take 2+ weeks.

Can I publish something I posted elsewhere? Yes, but add frontmatter canonical: <original URL> or robots: noindex to avoid duplicate-content fights. If the original is on your own blog, canonical pointing back to the blog is the safest setup.

What article length works on HackMD? 1,500-4,000 words. Under 1,000 mostly won't index. Over 5,000 people usually don't finish, conversions drop.

Is there an analytics dashboard? Not on the free plan. Paid plans get basic stats. For traffic data, add UTM params on the publish URL and watch via Google Analytics or just use Search Console performance.

Do I need a Taiwan IP? No. HackMD works globally. But mainland China IPs see partial restrictions sometimes — VPN helps.

Can I edit after publishing? Yes. After publishing, the original note stays editable and saves auto-sync to the publish page. URL doesn't change. More flexible than dev.to or Medium for this.

Other platforms in the same window

HackMD's the archive layer plus Google entry point. Community exposure's weak — pair it with these:

  • dev.to: DR 90, developer community with trending and tag feed. Posting the same technical article on both HackMD and dev.to (with canonical) lets HackMD eat Google long-tail while dev.to grabs community exposure.
  • Hashnode: DR 83, developer blogging platform with free custom domain. For a real "technical blog home base", Hashnode beats HackMD.
  • Medium: DR 94, long-form general content. Fits "thinking pieces" for non-technical readers. Deep technical posts don't fit Medium well.
  • Substack: DR 93, your newsletter base. HackMD publishes the article, Substack holds the subscribers. Stable pairing.
  • Indie Hackers: indie community. When the technical article mentions your product, write an IH story post pointing back to the HackMD piece.
  • Product Hunt: DR 75. If the HackMD article is about your product, pair the PH launch day with a HackMD technical deep-dive for stronger conversion.

Rough flow: technical content → HackMD (Google long-tail) + dev.to (community) + your own blog (home base), all three with canonicals so they don't fight. Product content → Product Hunt launch day + HackMD technical deep-dive + Indie Hackers story post. HackMD is the "long-term asset layer" in this stack — not flashy, but persistent.

For more technical content sites and launch sites, see /c/dev and /c/content.

Sites mentioned in this guide

Every site linked from this guide, with direct submission steps.