Take this whole site live on
your own Cloudflare account
Everything below is copy-paste. Build settings, the custom domain, the DNS records, the two special files Cloudflare reads at deploy time, and the eleven checks worth running the moment it goes live. Nothing about this step is clever — it just has to be done in the right order.
Three settings, then press deploy
If you already have the project in a Git repository, this is the whole thing. Cloudflare builds it for you on every push.
Framework preset
Cloudflare recognises Astro and fills the next two fields itself. If it does not, set them by hand.
Astro
Build command
Installs dependencies and runs the Astro build. Nothing custom, no environment variables required.
npm run build
Output directory
This is where Astro puts the finished site — including _headers, _redirects, robots.txt, sitemap.xml and rss.xml.
dist
Node version
Only set this if the build fails on an older default. Anything 18 or newer works.
NODE_VERSION = 20
Dashboard route, start to finish
Get the code onto your machine
Unzip the project, or clone the repository. Then confirm it builds locally before Cloudflare ever sees it — a build that fails on your laptop will fail there too, and the log is easier to read here.
npm run build
npx serve dist
Push it to Git
Cloudflare Pages deploys from a Git repo. GitHub, GitLab and Bitbucket all work. If you would rather not use Git at all, skip to the Wrangler route further down.
git add -A
git commit -m "TrueMoneyTalk site"
git branch -M main
git remote add origin <your-repo-url>
git push -u origin main
Create the Pages project
In the Cloudflare dashboard: Workers & Pages → Create → Pages → Connect to Git. Pick the repository you just pushed. You will need to grant Cloudflare read access to it the first time.
Enter the build settings
The three values from the section above. Leave the root directory as-is unless the project sits in a subfolder of the repo.
Build command → npm run build
Output directory → dist
Deploy and read the log
The first build takes a couple of minutes. You get a *.pages.dev address immediately — open it and click through a few pages before touching DNS. If the build fails, the log names the file and line.
Attach trumoneytalk.com
In the project: Custom domains → Set up a custom domain. Add the apex domain first, then the www hostname. Cloudflare creates the DNS records for you when the domain is already on your Cloudflare account, which is the easy case — see the next section if it is registered somewhere else.
Confirm the redirect and the certificate
Wait for the certificate status to read Active. Then check that https://www.trumoneytalk.com and the pages.dev address both land on https://trumoneytalk.com — that behaviour comes from _redirects, and it is what keeps the canonical tags honest.
Submit the sitemap
Add the property to Google Search Console and to Bing Webmaster Tools, then submit https://trumoneytalk.com/sitemap.xml. Both accept an RSS feed as well, which is handy for fast discovery of new posts.
Deploy straight from the folder
If you would rather not put this in a repository, the Wrangler CLI uploads the built folder directly. Same result, no Git history — which also means no automatic rebuilds when you edit a file, so you re-run the command each time you change something.
wrangler login
npm run build
wrangler pages deploy dist --project-name=trumoneytalk
Wrangler prints the live address when it finishes. Add the custom domain afterwards in the dashboard, exactly as in step 06.
Two things to change first
If you are not using trumoneytalk.com, the canonical tags, sitemap and RSS
will still point at it. Change the origin in one place —
src/data/seo.js and the SITE constant in
src/layouts/BaseLayout.astro — then rebuild.
_redirects hard-codes trumoneytalk.pages.dev and
www.trumoneytalk.com as the hosts to forward. Update those two lines to
your real pages.dev name or the first rule will never match.
Pointing trumoneytalk.com at the project
There are two cases, and they are not equally painful. The easy one applies if the domain's nameservers already point at Cloudflare — which is also the setup that gives you the free certificate and the proxy in front of the site.
The domain is already on Cloudflare
- Open Workers & Pages and select the project.
- Go to Custom domains → Set up a custom domain.
- Enter
trumoneytalk.comand confirm. Cloudflare writes the DNS record itself. - Repeat for
www.trumoneytalk.com. - Wait for the certificate to show Active — usually under a minute.
Nothing to copy, nothing to paste. This is the path worth taking.
The domain is registered at another provider
Two options. Moving the nameservers to Cloudflare is more work up front and easier forever after — you get one place to manage DNS, the proxy, and the certificate. Adding a single CNAME is faster but leaves you managing DNS in two systems.
Registrar → replace both nameservers with the two
Cloudflare shows in Overview → Nameservers.
Propagation: minutes to 24 hours.
Option 2 — single CNAME, keep your DNS
@ → <project>.pages.dev (flattened if supported)
www → <project>.pages.dev
The DNS table, once it is working
| Type | Name | Content | Proxy | Why |
|---|---|---|---|---|
| CNAME | @ | trumoneytalk.pages.dev | Proxied | Apex hostname. Cloudflare flattens it to A records automatically. |
| CNAME | www | trumoneytalk.pages.dev | Proxied | Redirects to the apex via _redirects. |
| CAA | @ | 0 issue "letsencrypt.org" | — | Optional. Only add if you already have a CAA record; a wrong one blocks certificate issuance. |
If the certificate stays pending: check for a conflicting A record on the
same name, and confirm any existing CAA record permits the issuing authority.
A stale CAA record is the usual cause.
The files that do the invisible work
Five of these are generated by the build, so they appear in dist/ and update
themselves as content changes. The two with a leading underscore are read by Cloudflare
at deploy time and must stay at the root of the output.
Cache and security headers
Sets long-lived immutable caching on the fingerprinted _astro/* bundles and
the article images, forces HTML to revalidate so nobody sees a stale page after a
deploy, and adds the baseline security headers including HSTS and a
Referrer-Policy.
Canonical host and clean URLs
Sends www and the pages.dev address to the apex domain with a
301, collapses /about/index.html to /about/, and adds short
aliases like /scanner and /guides for anyone who guesses an
address.
40 pages, with real dates
Built from the same content data the pages render from, so a new article appears the
moment it builds. Priorities put the tracer and the report builder just below the home
page, and every article carries its own lastmod.
RSS 2.0 feed, newest first
All 40 long-form pages sorted by date, with categories distinguishing recovery guides from prevention tutorials. Useful for fast indexing and for anyone who actually still reads feeds.
Crawl rules and discovery
Allows everything, declares both the sitemap and the feed, blocks query-string duplicates that would otherwise split ranking signals, and explicitly allows the major AI crawlers — for a page whose whole point is guidance, being quoted accurately beats being paraphrased.
Structured data and social cards
Each of the 40 pages carries Article, FAQPage and
BreadcrumbList JSON-LD, a canonical URL, and full Open Graph plus Twitter
card tags pointing at that article's own hook image.
The post-deploy checklist
What each of the 40 pages is targeting
One page, one primary keyword — no two pages here compete for the same query, which is the mistake that makes a large library cannibalise itself. The competition column is a judgement about how hard the term is to rank for, not a paid-tool score, and it is the reason the collection leans on long-tail phrasings rather than head terms.
| # | Type | Page | Primary keyword | Secondary keywords | Search intent | Competition |
|---|---|---|---|---|---|---|
| 1 | Guide | Crypto Scam Recovery: What Actually Works and What Does Not | crypto scam recovery | — | Commercial — recovery intent | High |
| 2 | Guide | How to Get Your Money Back From a Scammer: A Realistic 2026 Recovery Guide | how to get my money back from a scammer | — | Informational — action | Low |
| 3 | Guide | Was I Scammed? 17 Signs You Were Targeted and What to Do in the First 24 Hours | was I scammed | — | Informational — research | Low |
| 4 | Guide | How to Report a Scam to the FBI IC3: Step-by-Step Complaint Guide | report scam to fbi | — | Informational — procedural | Low |
| 5 | Guide | Romance Scam Recovery: How to Protect Yourself and Get Help | romance scam recovery | — | Commercial — recovery intent | Low |
| 6 | Guide | Pig Butchering Scam Recovery: The Complete Victim Action Plan | pig butchering scam recovery | — | Commercial — recovery intent | High |
| 7 | Guide | Zelle Scam Refund: Can You Get Your Money Back? | zelle scam refund | — | Commercial — recovery intent | Low |
| 8 | Guide | Cash App Scam Refund: Step-by-Step Dispute Guide | cash app scam refund | — | Commercial — recovery intent | Low |
| 9 | Guide | PayPal Scam Dispute: How to File a Claim and Strengthen Your Case | paypal scam dispute | — | Informational — research | Low |
| 10 | Guide | Wire Transfer Scam Reversal: The 24-Hour Emergency Checklist | wire transfer scam reversal | — | Informational — research | Low |
| 11 | Guide | How to Trace Stolen Crypto: The Complete 2026 Walkthrough | how to trace stolen crypto | trace stolen crypto, crypto tracing tool, blockchain trace stolen funds, can stolen crypto be traced | Informational — action | Medium |
| 12 | Guide | Is My Wallet Compromised? 12 Warning Signs and the 10-Minute Test | is my wallet compromised | how to tell if wallet is compromised, wallet hacked check, my crypto wallet is hacked, compromised crypto wallet signs | Informational — tool-seeking | Medium |
| 13 | Guide | Wallet Drainer Checker: Test Any Site Before You Connect | wallet drainer checker | drainer checker, wallet drainer test, check if dapp is safe, crypto wallet drainer | Informational — tool-seeking | Medium |
| 14 | Guide | Fake Investment App: How to Identify One Before You Deposit | fake investment app | fake trading app, is this investment app legit, fake crypto app, investment app scam check | Informational — research | Medium |
| 15 | Guide | Recovery Scam: How the Second Fraud Works and How to Spot It | recovery scam | crypto recovery scam, funds recovery scam, how to spot a recovery scam, recovery agent scam | Commercial — recovery intent | High |
| 16 | Guide | Crypto Chargeback: The Only Routes That Actually Recover Money | crypto chargeback | can you chargeback crypto, crypto chargeback card, crypto refund, reverse crypto transaction | Commercial — recovery intent | High |
| 17 | Guide | Scam Website Checker: 12 Checks That Expose a Fraud Site | scam website checker | check if website is scam, website legitimacy check, fake website checker, how to check a website is real | Informational — tool-seeking | Low |
| 18 | Guide | How to Report Stolen Crypto: IC3, FTC, Police and Exchange | how to report stolen crypto | report crypto theft, crypto theft report IC3, file police report crypto, report stolen bitcoin | Informational — action | Low |
| 19 | Guide | Ethereum Scam Recovery: What You Can Still Do After a Loss | ethereum scam recovery | eth scam recovery, recover stolen ethereum, erc20 token stolen, ethereum wallet drained | Commercial — recovery intent | Medium |
| 20 | Guide | Bitcoin Scam Recovery: Tracing BTC and What Comes After | bitcoin scam recovery | recover stolen bitcoin, btc scam recovery, trace bitcoin transaction, stolen bitcoin tracing | Commercial — recovery intent | Medium |
| 21 | Tutorial | How to Spot a Fake Crypto Exchange Before You Deposit a Single Dollar | fake crypto exchange | — | Informational — prevention | Low |
| 22 | Tutorial | Seed Phrase Safety: The 7 Rules That Make Wallet Draining Impossible | seed phrase safety | — | Informational — prevention | Low |
| 23 | Tutorial | How to Verify a Wallet Address Before You Send — The 60-Second Protocol | verify wallet address | — | Informational — tool-seeking | Low |
| 24 | Tutorial | Fake Investment Platform Red Flags: 12 Signals That Predict a Collapse | fake investment platform | — | Informational — prevention | Medium |
| 25 | Tutorial | Romance Scam Prevention: How to Test the Person Before the Money Talk | romance scam prevention | — | Informational — prevention | Low |
| 26 | Tutorial | WhatsApp and Telegram Crypto Scams: How to Shut Them Down in Two Messages | telegram crypto scam | — | Informational — prevention | Low |
| 27 | Tutorial | Phishing and Wallet Drainers: How One Click Empties a Wallet | wallet drainer | — | Informational — prevention | Medium |
| 28 | Tutorial | How to Check if a Website Is a Scam: A 5-Minute Forensic Routine | check if website is scam | — | Informational — tool-seeking | Low |
| 29 | Tutorial | Safe Crypto Withdrawal Checklist: Getting Your Money Out Without Losing It | crypto withdrawal | — | Informational — prevention | Low |
| 30 | Tutorial | What to Do in the First Hour After Being Scammed — The Emergency Order | what to do after a scam | — | Informational — action | Low |
| 31 | Tutorial | Recovery Scam Prevention: How to Avoid the Second Fraud | recovery scam prevention | crypto recovery scam, how to avoid recovery scam, funds recovery fraud | Commercial — recovery intent | High |
| 32 | Tutorial | Fake Trading App Prevention: Nine Checks Before You Fund an App | fake trading app | fake trading app scam, is this trading app legit, fake crypto trading app | Informational — prevention | Low |
| 33 | Tutorial | The Crypto Investment Scam Playbook: All Seven Stages, Decoded | crypto investment scam | crypto investment fraud stages, how crypto scams work, investment scam playbook | Informational — prevention | Low |
| 34 | Tutorial | Social Media Crypto Scam Prevention: Ads, DMs, Groups and Giveaways | social media crypto scam | crypto scam ads, telegram crypto scam, youtube crypto giveaway scam | Informational — prevention | Low |
| 35 | Tutorial | Crypto Job Scam Prevention: Fake Recruiters, Tasks and Payroll | crypto job scam | fake crypto job offer, crypto task scam, remote job scam crypto | Informational — prevention | Low |
| 36 | Tutorial | Wallet Approval Scam Prevention: The Permission You Never Meant to Grant | wallet approval scam | token approval scam, revoke token approval, unlimited allowance scam | Informational — prevention | Low |
| 37 | Tutorial | How to Get an Exchange to Freeze Stolen Funds: The Request That Works | freeze stolen crypto exchange | exchange freeze request, can exchange freeze stolen funds, crypto recovery request exchange | Informational — procedural | Low |
| 38 | Tutorial | Crypto Scam Evidence Checklist: Everything to Preserve, In Order | crypto scam evidence | scam evidence checklist, what evidence for crypto scam report, how to document crypto fraud | Informational — prevention | Low |
| 39 | Tutorial | How to Avoid a Second Scam: The Repeat-Victim Playbook | avoid second scam | repeat scam victim, second scam after crypto loss, victim list fraud | Informational — prevention | Low |
| 40 | Tutorial | Crypto Safety Audit Checklist: Twenty Minutes, Every Quarter | crypto safety checklist | crypto security audit, wallet security checklist, crypto hygiene checklist | Informational — tool-seeking | Low |
Build it, point the domain, submit the sitemap
Three settings, one build command, two DNS records. Then the only remaining work is writing — the plumbing looks after itself from here.