3 Things To Do After You Buy Your Domain
Note: The prompt is at the top of this page. Open your app's repo in Claude Code, connect your DNS (there's a path whether or not you're on Cloudflare), paste it, and answer the two questions it asks you.
You buy the domain, you point it at your app, and then it just sits there. These are the three things I set up on day one, mostly because all three get more annoying to fix later.
Split your email, so a marketing blast can never take down your password resets. Add a sitemap, so Google can find your pages at all. Then an llms.txt and an FAQ page, which is what ChatGPT and Claude read when someone asks them about you.
Ten minutes.
The prompt
Paste this into Claude Code with your app's repo open. Change the two subdomains at the top if you want different names.
MARKETING EMAIL: hello.<my domain>
APP EMAIL: app.<my domain>
Read my repo: find my domain, my host, and my email provider. Ask me for
anything you can't find. Then:
1. Split my sending across those two subdomains, so a spam flag on a campaign
can't take down password resets. SPF, DKIM and DMARC on both. Pull the DKIM
values from my email provider, never invent them. Start DMARC at p=none so
I don't bounce my own mail.
2. sitemap.xml of public pages only — no auth, dashboard or thank-you routes —
linked from robots.txt. Then get me verified in Google Search Console; you
add the TXT record it gives me while you're already in my DNS.
3. llms.txt at my root: name, one line on what this is, then linked sections
pointing to my real pages. Plus an FAQ answering the questions people ask
out loud, each answer standalone so a model can quote one without the rest.
Facts from my repo only.
When you're done, check it all against the live zone and tell me what failed.
It will stop and ask you for two things. Those are the two places a human has to log in, and no MCP gets around them. They're at the bottom of this page.
If you're on Cloudflare
This is the version I actually run. The AI needs permission to write DNS records, and that's what the Cloudflare MCP is for — the whole Cloudflare API, over 2,500 endpoints with DNS among them, behind two tools.
In Claude Code:
/plugin marketplace add cloudflare/skills
/plugin install cloudflare@cloudflare
Or if you only want the server and not the skills that come with it:
claude mcp add --transport http cloudflare https://mcp.cloudflare.com/mcp
The first time Claude calls a Cloudflare tool it opens your browser to authorize, and you choose what to grant. Give it DNS edit on the zone you're setting up. Run claude mcp list to confirm it connected, then paste the prompt.
If your domain is somewhere else
Two ways, and I'd take the first one.
1. Move the DNS, keep the registrar
Add your site at dash.cloudflare.com. Cloudflare scans your existing records and copies them, then you change the nameservers at wherever you bought the domain. The domain doesn't move and you don't transfer anything — you're only changing who answers DNS questions about it. Once the zone is active, the section above applies.
2. Stay where you are and paste the records yourself
The prompt still works. With no MCP that can write DNS, it prints the records instead of creating them and you paste them into whatever panel you have — GoDaddy, Namecheap, Porkbun, Vercel, Squarespace. Everything else in the prompt happens inside your repo, so that part is identical no matter who holds the domain.
Six records, three per subdomain:
TXT app.yourdomain.com v=spf1 include:<your provider> ~all
TXT <selector>._domainkey.app.yourdomain.com <public key from your provider>
TXT _dmarc.app.yourdomain.com v=DMARC1; p=none; rua=mailto:you@yourdomain.com
Then the same three on hello.. Some providers hand you DKIM as a CNAME instead of a TXT record — use whatever they give you, exactly as they give it to you.
The two things you have to do yourself
1. Get the DKIM values from your email provider
Add each subdomain inside Resend, Postmark, Loops, SendGrid, whatever sends your mail. It generates a key and hands you the records. A model can't generate a DKIM key for a service it doesn't control, so if it produces one without asking you, it made it up and your mail will fail authentication.
2. Verify in Google Search Console
Go to search.google.com/search-console and add a Domain property. Google gives you a TXT record. Paste that back into Claude, let it add the record, then hit verify. Once you're in: Sitemaps, type sitemap.xml, submit.
Notes on the three
The email split is Cloudflare's own recommendation, not folklore — separate subdomains for different types of email, so one category's complaint rate doesn't drag down another's reputation. Their example uses notifications. and marketing.; I use app. and hello.. The names don't matter. Deliverability docs
Start DMARC at p=none, which is monitor-only. Read the reports for a few weeks, then move to p=quarantine, then p=reject. Publishing p=reject on day one is how you bounce your own signup emails.
Public pages only in the sitemap. If it lists /dashboard and /account you've published a map of your app's insides.
llms.txt is a markdown file, not a robots.txt. The spec is an H1 with your site's name (that's the only required part), a blockquote summary under it, then H2 sections of links. Real links to real pages. llmstxt.org
Every FAQ answer has to stand on its own. Models quote one answer, not the page.
Get the next guide when it's ready.
No emails yet. Your address stays private.