Host your blog at /blog

Run your content inside your main site folder to consolidate SEO authority, without moving your website or changing your stack.

One domain. One authority.

A blog on a subdomain like blog.yourdomain.com is treated as a separate site. Serve it from a subdirectory and every post lives under the same domain as your product, so the links and attention your content earns build up in one place.

  • Your whole site stays under one domain
  • Consistent branding, from the address bar to the footer
Subdomain
blog.acme.com/post
Subdirectory
acme.com/blog/post

Keep your website exactly where it is

Hyvor Blogs doesn't ask you to migrate anything. Your main site keeps running on whatever it runs on today. Only requests to /blog are handed to Hyvor Blogs, and everything else is untouched.

  • No need to move your website or change your stack
  • Works with Docker, Cloudflare, reverse proxies, and popular frameworks
  • Write, design, and manage in Hyvor Blogs as usual
acme.com/*
Your website
/ /pricing /app
Hyvor Blogs
/blog /blog/hello-world /blog/tag/news

No code on Cloudflare Workers

If your domain is already on Cloudflare, this is the easiest way. Deploy the open-source Worker, add a route for your blog path, and you're live. Content is cached in Cloudflare KV and served from the node nearest to your readers.

  • No coding required, about 10-15 minutes to set up
  • Pages are cached across Cloudflare's network
  • Open-source Worker script you can inspect and own
$ wrangler deploy
βœ“ Blog live at https://acme.com/blog

Docker and your reverse proxy

Already running in containers? Add the official Hyvor Blogs Docker image as a service and route /blog/* to it with Caddy, Nginx, or Traefik. It fetches content from the Delivery API and caches it, so repeat requests are fast.

  • Official Docker image, ready for docker compose or Kubernetes
  • Works behind Caddy, Nginx, and Traefik
  • Cached after the first request, refreshed by webhooks
$ docker compose up -d
βœ“ Hyvor Blogs running at https://acme.com/blog

Or serve it straight from your framework

Use a ready-made package for your framework and render the blog inside your own app. Cache with the filesystem or Redis, and let webhooks invalidate it when you publish.

  • Packages for NextJS, Laravel, and Symfony
  • Any other framework: use the Delivery API directly
  • Filesystem or Redis caching with webhook invalidation
NextJSLaravelSymfonyCaddyNginxTraefik

It means serving your blog at a path of your main domain, like yourdomain.com/blog, instead of a subdomain like blog.yourdomain.com or a separate domain. Your content is still written and managed in Hyvor Blogs.

A subdirectory keeps everything under one domain, which many SEO experts recommend because your content and product share authority. It also avoids cookies and sessions being split across subdomains.

No. Your main site stays where it is. Requests to your blog path are routed to Hyvor Blogs, either through a Cloudflare Worker, a reverse proxy, or a package in your framework.

If your domain is on Cloudflare, use Cloudflare Workers, as it needs no code. If you run Docker, use the official image behind Caddy, Nginx, or Traefik. If you want the blog inside your app, use the NextJS, Laravel, or Symfony package.

No. Content is fetched from the Delivery API on the first request and cached. Later requests are served from the cache, and webhooks clear it when you update a post, which can take a few seconds to show.

No. You still use Hyvor Blogs as a managed service. Only the small piece that serves your blog at your path (a Worker, container, or package) runs on your side. Read the subdirectory docs for details.