ogo
Typetale
ogo
Typetale
  • Features
  • Pricing
  • Blog
  • What's new
  • FAQs
  • About
Start free trial
ogo
Typetale

The fastest way to launch your Ghost publication. Managed hosting with all the features you need to grow your audience.

Product

  • Features
  • Pricing
  • What's New
  • FAQ
  • Start Free Trial

Compare

  • vs WordPress
  • vs Substack
  • vs Medium
  • vs Ghost Pro

Alternative to

  • Ghost Pro
  • Substack
  • WordPress

Resources

  • About
  • Blog
  • Help Center

Legal

  • Privacy Policy
  • Terms of Service
  • SLA & Uptime
  • Refund Policy

Stay updated

Get the latest news, feature releases, and updates from Typetale delivered to your inbox. No spam, unsubscribe anytime.

© 2026 Typetale. All rights reserved.
GDPR-compliant • EU servers • Privacy-first analytics
Built with by the Typetale team

Host blog on subdirectory path

By Tilak Sasmal — Mon Sep 29 2025

2 min read

Host blog on subdirectory path

This guide outlines the required steps and configurations to serve a Ghost blog hosted on typetale.app under a subdirectory (e.g., yourdomain.com/blog), while your main website continues operating independently under yourdomain.com. The configuration demonstrates a Nginx reverse proxy, but the principles apply to other reverse proxies.

⚠️
Setting up a proxy requires a solid understanding of the web infrastructure. It is recommended to proceed only if you or someone on your team possesses the technical expertise necessary to troubleshoot and resolve any issues that may arise during the process.

1. Provision the Ghost Site

Provision a Ghost blog on typetale.app. For the purposes of these instructions, assume typetale.app provisions the blog at demo.ontypetale.com

2. Configure the path in Ghost Admin console

Login to your ghost admin dashboard (e.g. demo.ontypetale.com/ghost). Navigate to Console page (see the sidebar). Select domains tab, scroll to Sub-directory Configuration section and add your sub-directory url path. Save the changes and next we need to setup the reverse proxy.

3. Configure Reverse Proxy on yourdomain.com

On yourdomain.com’s web server, configure a reverse proxy that forwards all /blog traffic (including subpaths) to demo.ontypetale.com. Here is the recommended Nginx configuration:

server {
    server_name yourdomain.com;

    # ... (existing site configuration)

    location /blog/ {
        proxy_pass https://demo.ontypetale.com;
        proxy_ssl_server_name on;
        
        proxy_set_header Host demo.ontypetale.com;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto https;
    }

    listen 443 ssl;
    ssl_certificate /path/to/your/ssl/certificate.pem;
    ssl_certificate_key /path/to/your/ssl/certificate_key.pem;
}

This setup transparently proxies all requests to /blog and subpaths (e.g., /blog/post-title) to demo.ontypetale.com while maintaining correct header information for Ghost to generate absolute URLs and track original clients.

4. Essential Headers

The following headers are required for Ghost's subdirectory routing to work seamlessly:

  • X-Forwarded-Proto: should always indicate https (or http, as appropriate)
  • X-Forwarded-Host: must be set to yourdomain.com
  • X-Real-IP: client's actual IP address
  • X-Forwarded-For: client IP, supports chained proxies
  • Host: must be set to demo.ontypetale.com (replace it with your typetale domain)

This header setup keeps the Ghost instance aware of the true request origin and path context.

5. Verification and Testing

  • Navigate to https://yourdomain.com/blog and verify that blog content loads correctly, including all assets, static files, and deep URLs (e.g., https://yourdomain.com/blog/some-article).
  • The Ghost Admin interface will be available at https://yourdomain.com/blog/ghost if the proxy passes through that path as well.
  • Check that canonical URLs, RSS feeds, and sitemaps use the subdirectory path.

6. Summary Table

Application DomainProxy SubdirectoryMandatory Proxy Headers
yourdomain.com/blogX-Forwarded-Proto, X-Forwarded-Host, X-Real-IP,
X-Forwarded-For, Host

This approach enables an organization to present editorial content via Ghost in a cohesive, SEO-friendly format inside their main domain.

Read more

Ghost 6: Ghost CMS SQL Injection (v3.24.0 – v6.19.0)
Ghost 6: Ghost CMS SQL Injection (v3.24.0 – v6.19.0)

The cybersecurity community has identified a significant vulnerability within the Ghost CMS ecosystem. This is a third-party advisory intended to inform all administrators, developers, and stakeholder…

Tilak Sasmal•Feb 18, 2026•2 min read
Welcoming Ghost 6 native analytics
Welcoming Ghost 6 native analytics

We are going to deprecate the OG Plausible analytics in Favour of Ghost 6 introduced a native analytics. Read the post to know when we are going to sunset the OG Analytics.…

Tilak Sasmal•Sep 21, 2025•2 min read
Ghost 6 now on typetale!
Ghost 6 now on typetale!

Ghost 6 is now on Typetale! We've made some key changes to the official version to ensure your data stays private and your social network has no limits. Read on to learn how we're making Ghost 6 even …

Tilak Sasmal•Sep 18, 2025•2 min read
Feature drop from Typetale
Feature drop from Typetale

✨ Greetings, wonderful typetale community! Merry Christmas 🎅 As we wrap up this incredible year, I hope you're finding joy and good health in these festive moments! I'm excited to share my first fea…

Tilak Sasmal•Dec 25, 2024•1 min read
Analytics dashboard is now live
Analytics dashboard is now live

Typetale now offers web analytics directly within the Admin dashboard, available to all users, including those on a free trial.…

Tilak Sasmal•Nov 24, 2024•1 min read