Setting up custom domains with Flint: Subdomains vs Subpaths

Last updated: May 6, 2026

Flint offers two main ways to serve your pages on your custom domain: subdomains and subpaths. This guide will help you choose the right approach and set it up correctly.

Subdomain Setup (Recommended for Ad Landing Pages)

A subdomain setup serves your Flint pages at URLs like pages.yoursite.com or lp.yoursite.com. This is the fastest and easiest option, typically taking under 5 minutes to configure.

How to set up a subdomain:

  1. In Flint, go to Settings → Domains and enable Use Custom Domain

  2. Enter your desired subdomain (e.g., lp.yoursite.com)

  3. Recommended: Click Connect via Entri for automatic DNS setup

  4. Manual option: Add the CNAME and TXT records shown in Flint to your DNS provider

  5. Wait for DNS propagation (usually under 30 minutes)

  6. Confirm the domain status shows "Connected" - SSL is provisioned automatically

For detailed instructions, see our subdomain documentation.

Subpath Setup (Better for SEO)

A subpath setup serves your Flint pages at URLs like yoursite.com/lp/page-name. This approach is better for SEO as it keeps everything under your main domain, but requires more technical setup.

Requirements for subpath setup:

  • Pro plan or higher

  • A reverse proxy or rewrite configuration

  • Technical implementation on your hosting platform

Common platform setups:

Vercel

Add rewrites to your vercel.json file:

{
"rewrites": [
{
"source": "/lp/:path*",
"destination": "https://yoursite.tryflint.com/lp/:path*"
}
]
}

Cloudflare Workers

Create a Cloudflare Worker with this script:

export default {
async fetch(request) {
const url = new URL(request.url);
if (!url.pathname.startsWith("/lp")) {
return fetch(request);
}
const flintHost = "https://yoursite.tryflint.com";
const upstream = new URL(`${flintHost}${url.pathname}${url.search}`);
const headers = new Headers(request.headers);
headers.set("Host", flintHost);
return fetch(upstream, {
method: request.method,
headers,
body: ["GET", "HEAD"].includes(request.method) ? null : request.body,
redirect: "follow",
});
},
};

Next.js Middleware

For Next.js applications, add this middleware:

import { NextResponse } from "next/server";

export function middleware(req) {
const url = req.nextUrl;

if (url.pathname === "/lp" || url.pathname.startsWith("/lp/")) {
const rewriteUrl = new URL(
`${url.pathname}${url.search}`,
"https://yoursite.tryflint.com"
);

return NextResponse.rewrite(rewriteUrl);
}
}

For detailed platform-specific instructions, see our technical setup documentation.

Root Domain Setup

You can also host your entire website on Flint using your root domain (e.g., yoursite.com). This requires:

  1. Pro plan or higher

  2. Adding A records and TXT records to your DNS

  3. Migrating your existing content to Flint

Note: In the current interface, you can set this up by entering your root domain in the subdomain field.

Important Notes

  • DNS Records: For subdomains, you only need CNAME and TXT records - ignore any A record instructions for the root domain

  • Page Publishing: Pages must be marked as "Ready" (not "Hidden") to appear on your custom domain

  • Multiple Setups: You can use both subdomain and subpath configurations for the same site if needed

  • Multiple Subdomains: To publish different pages to different subdomains (e.g., internal.yoursite.com and external.yoursite.com), you need to create separate Flint sites - one for each subdomain. You cannot control which pages publish to which subdomain within a single site.

  • Asset Loading: Some setups may require additional configuration for fonts and assets to load properly

Troubleshooting

If your setup isn't working:

  • Check that DNS records have propagated (can take up to 48 hours)

  • Ensure pages are published and marked as "Ready"

  • Verify your rewrite rules include both the path and search parameters

  • Clear your browser cache after making changes

For additional help, contact our support team with your specific hosting setup and we can provide tailored instructions.