ZYVOPDOCS
DEVELOPER PUBLISHING
Destinations Matrix

Hashnode Integration

Publish to your Hashnode personal blog or team engineering publication via GraphQL.

The ZyVOP Hashnode adapter uses Hashnode's official GraphQL API (gql-beta.hashnode.com) to publish and update technical articles with native canonical tagging and automatic media re-hosting.


Prerequisites & Personal Access Token

Hashnode currently requires an active Hashnode Pro subscription on the target publication for personal access tokens and read/write GraphQL publishing. ZyVOP does not include that third-party subscription. Public URL imports are separate from authenticated publishing and may still be blocked or incomplete when Hashnode or Cloudflare restricts automated access.

  1. Log in to Hashnode.
  2. Click your profile avatar → Account Settings → Developer.
  3. Under Personal Access Tokens, click Generate New Token.
  4. Label it ZyVOP Publisher and copy the generated token.
  5. Paste your token into ZyVOP Integrations.

Publication Detection

Hashnode requires every article to belong to a specific Publication (e.g. blog.yourdomain.com).

ZyVOP automatically queries your account via GraphQL to resolve your default publication ID. You do not need to manually copy obscure GraphQL Object IDs.


Importing an Existing Hashnode Publication

For the most reliable full-library migration, upload the Markdown repository ZIP created by Hashnode's GitHub Backup:

  1. As the publication owner or an admin, open the Hashnode Publication Dashboard and select GitHub in the sidebar.
  2. Click Connect and install the Hashnode GitHub Backup app on your GitHub account.
  3. Choose the repository where Hashnode should save the content. Create an empty repository first if needed.
  4. Click Backup all posts to export published articles. Run Backup all drafts separately if you also need drafts.
  5. Check the Deliveries tab and confirm that each backup succeeded.
  6. Open the repository on GitHub and either clone it or download it as a ZIP.
  7. In ZyVOP, open Dashboard → Posts → Import Articles → Hashnode Backup and upload the ZIP. Imported articles are created as private drafts.

Hashnode backup Markdown includes frontmatter for metadata such as the title, tags, canonical URL, cover image, and publication date. ZyVOP preserves those values when available.

Hashnode plan restriction

GitHub Backup is a Hashnode Pro feature and can only be configured by publication owners and admins. Free Hashnode publications do not currently have this bulk-export route; they can try importing known public article URLs individually when Hashnode serves them. If Pro is cancelled, future backups stop, but files already saved in the GitHub repository remain there.

See Hashnode's Pro announcement for its current GitHub Backup availability.


How ZyVOP Formats for Hashnode

1. Automatic Media Re-Hosting & SSRF Protection

Hashnode hosts images on its dedicated global CDN (cdn.hashnode.com). ZyVOP:

  1. Validates external image URLs against SSRF vulnerabilities (blocking private IP ranges).
  2. Calls Hashnode's createImageUploadURL GraphQL mutation to obtain a signed S3 upload URL.
  3. Streams the asset and executes confirmImageUpload.
  4. Embeds the high-speed CDN URL directly into your post's coverImage field.

2. Canonical SEO

ZyVOP maps your canonical_url directly to Hashnode's native originalArticleURL field:

input PublishPostInput {
  title: "Building Microservices"
  contentMarkdown: "..."
  originalArticleURL: "https://myblog.dev/posts/microservices"
  publicationId: "64a1b..."
}

Hashnode renders the corresponding canonical link element pointing back to your primary origin.

3. Native GraphQL Updates

When updating an article, ZyVOP executes the updatePost mutation, preserving your publication slug, existing comments, and Hashnode bookmarks.

On this page