Custom domain troubleshooting
Fix a custom domain by symptom: verification that never finishes, records at the wrong DNS provider, CAA records, a root domain that does not load, and what happens to domains when a plan lapses.
Almost every custom domain problem is fixed at your DNS provider, not in Floot. Start with the DNS records view, then find what you are seeing in the table below.
Start here: the DNS records view
For a domain that is already connected, open Publish and click the gear next to the domain. Under DNS records Floot lists the records the domain needs and looks each one up for you.
- Sends visitors to your app
Arecords, with the values listed there.- Keeps HTTPS working
- One
CNAMErecord. The HTTPS certificate renews through it, so it has to stay after setup.
Each record is marked Found, Missing or Couldn't check. Add or correct whatever is missing at your DNS provider, then click Check again. The root domain and www are listed as two domains, each with its own gear, so look at both.
Fix the records; do not remove the domain and add it again
Removing a domain from Floot does not repair a DNS record, and adding it back sends you through verification again. Unless the domain is no longer listed on the Publish screen, the fix is at your DNS provider.
By symptom
| What you see | Most likely cause | What to do |
|---|---|---|
| The wizard stays on verifying for more than 15 minutes | The verification CNAME is missing, in the wrong place, or has the wrong value | Read the message the wizard shows — see Verification does not finish |
| "We can't find the verification record yet", but you added it | It was added at a DNS provider your domain does not use | See Records added at the wrong DNS provider |
| "Please delete all of your CAA records", or certificate validation failed | CAA records on the domain block the certificate | See CAA records |
| "Blocked by another domain on this project" | An older domain on the project lost its verification record | Add the record the wizard shows to that older domain's DNS, then try again |
www loads, the root domain does not (or the other way round) | The A records for that name are missing or point somewhere else | See The root domain does not load, but www does |
| The domain shows your registrar's default page or an old site | Its A records still point to the registrar or a previous host | Add Floot's A records and delete the other A records on the same names |
| The domain worked and then stopped | A record was removed at the DNS provider, or the domain was removed from the project | See It worked, and then it stopped |
| The wizard says the domain is suspended by its registrar, or has expired | A hold or an expiry at the registrar. No DNS change will help | Lift the hold or renew with the registrar, then check again — see How to add a custom domain |
| It works for you but not for everyone yet | New DNS records are still spreading | It can take up to 24 hours for a domain to resolve everywhere |
Verification does not finish
Floot proves you control the domain by finding one CNAME record. While it waits, the wizard looks the record up itself and tells you which of these is the case.
- The verification record is in the wrong place
- The record exists, but under the wrong name. The usual cause is typing the full name into a host field that adds your domain by itself, which leaves it at something like
_abc.yourapp.com.yourapp.com. Change the record's host (name) to exactly what the wizard shows and keep its value. - The verification record has the wrong value
- The name is right, but it points somewhere else. Copy the value with the wizard's copy button and paste it over the old one. If your provider adds your domain to the end of the value, end the value with a dot.
- We can't find the verification record yet
- There is no
CNAMEat that name. Add it with the host and value shown. A record you just added can take a few minutes to appear. If your provider already shows it, see the next section. - Verification record found
- Nothing left to do. Floot is waiting for the certificate, which usually takes a few minutes.
- Connecting a subdomain? For
app.yourapp.com, the verificationCNAMEbelongs to the root domain: its name ends inyourapp.com, not inapp.yourapp.com. Only theArecords go on the subdomain. - On Cloudflare? Set Floot's records to DNS only (grey cloud). With the proxy on, verification cannot see them.
Records added at the wrong DNS provider
A domain reads its DNS records from one place: the provider its nameservers point to. That is not always where you bought the domain. If the domain was bought at one company and its nameservers were later pointed to another, such as Cloudflare or a previous website host, records you add at the first company are never seen. The sign is a record that shows in your provider's dashboard while Floot keeps reporting it Missing.
- 1
Find the nameservers
Your registrar's page for the domain lists them. From a terminal you can also run:
dig NS yourapp.com +short - 2
Add the records where the nameservers point
Sign in to the company the nameservers belong to and add Floot's records there. This is the simple fix.
The other way is to point the nameservers back to your registrar and add the records there. That moves all of the domain's DNS, email records included, so copy the existing records over first.
- 3
Check again
In the wizard, click I've added them — check again. For a connected domain, use Check again in the DNS records view.
CAA records
A CAA record tells certificate authorities which of them may issue a certificate for your domain. If the domain has CAA records that leave out the certificate authority Floot uses, the certificate fails and the wizard asks you to delete your CAA records.
- At your DNS provider, delete the domain's
CAArecords. If you need to keep them, contact support for the record to add. - Run Add Custom Domain again from the start. A certificate that failed is not tried again by itself; a new run requests a new one.
The root domain does not load, but www does
The root domain (yourapp.com) and www.yourapp.com each need their own A records. When one works and the other does not, the other's records are missing or still point somewhere else.
- Open Publish, click the gear next to the address that does not load, and look at Sends visitors to your app.
- At your DNS provider, add the three
Arecords under that name. The root domain's name is usually written@; some providers want the field left empty. - Delete any other
Arecords on the same name, such as the registrar's default page. Left in place, they send some visitors there. - Click Check again.
Once both load, you can make one of them redirect to the other with the Primary Domain setting — see Search engines and SEO settings.
It worked, and then it stopped
- A record was removed. This often happens when DNS is tidied up or moved to another provider. Open the DNS records view, see what is Missing, and put it back. The
CNAMEis the one people delete after setup, and without it HTTPS stops when the certificate comes up for renewal. - The domain registration expired. Renew it with your registrar.
- The domain is no longer listed on the Publish screen. It was removed from the project. See the next section.
When a plan lapses
Custom domains need a paid plan on the project owner's account. If that plan is cancelled, goes unpaid or lapses, Floot emails a warning, and once the plan has been in that state for more than 3 days it removes every custom domain connected to the owner's projects. The app stays live on its floot.app address.
- Visitors to the domain no longer reach your app. Your DNS still points at Floot, but the domain is no longer connected to a project.
- The domain itself is untouched. It stays registered to you at your registrar, and your DNS records stay where they are.
- Paying again does not reconnect it. Open Publish, click Add Custom Domain, and add each domain again. If you had a primary domain, set it again too.
- If hosting credit ran out and the app was taken offline, its custom domains were removed with it. Bring the balance back, publish the app, then add the domains — see Hosting.