Documentation
Lifeline docs
Everything you need to keep your site online: from adding it, to moving the domain onto Cloudflare, to what visitors see during an outage.
01Getting started
- 1Create an account at lifeline.dev/signup and confirm your email.
- 2Click Add site and enter your homepage address, e.g.
https://yourbusiness.com. - 3Verify ownership (below). Monitoring starts straight away and the first crawl (snapshot + audit) is queued.
- 4Connect Cloudflare to switch on automatic failover. Monitoring, snapshots, the audit and alerts work without it.
A checklist on the site's Overview shows what's done and what's next until the site is fully protected.
02Verify ownership
Lifeline only copies a site after its owner proves control of it. Pick one method on the site's Overview, then click Verify now:
Option A: upload a file
Create the file shown in the dashboard at /.well-known/lifeline-….txt containing the token shown.
Option B: meta tag
Paste the <meta name="lifeline-verification" …> tag into your homepage's <head>. On WordPress, most SEO plugins have a field for verification tags, or use a “header scripts” plugin.
Option C: connect Cloudflare
A Cloudflare token scoped to your domain proves ownership on its own.
03Connect your DNS provider
The easiest way to turn on failover. Lifeline reads your nameservers, shows the company that runs your DNS and gives you one button. You approve Lifeline there once; nothing to paste, no records to edit.
- 1Open the site in your dashboard. The card at the top says who runs your DNS, for example Your DNS is at GoDaddy.
- 2Click Connect, sign in at your provider and approve Lifeline. Approving proves you own the domain, so the site is verified at the same time.
- 3That's it. Lifeline lowers the record's TTL to 60 seconds and issues a certificate for your domain on its own edge while your site is healthy.
What happens during an outage
After 2 failed checks confirmed from a second location, Lifeline points your domain at its edge, which serves the saved copy over HTTPS with your outage banner. Visitors switch over as DNS caches expire, usually within a minute. When your server answers again for 3 checks in a row, the original records go back exactly as they were.
Providers with one-click connection
Cloudflare, DigitalOcean, DNSimple (sign in and approve), GoDaddy and IONOS (Domain Connect), Spaceship (API key from its API manager). Other providers can't let apps connect yet; Lifeline still monitors, snapshots and alerts, and the alert email names the one record to change by hand. If your domain is on Cloudflare you can also connect with a token for the instant, edge-level switch.
04Put your domain on Cloudflare
Failover works by switching visitors to your snapshot at Cloudflare's edge, so your domain must use Cloudflare's nameservers. Your website stays where it is; only DNS moves. Cloudflare's free plan is enough.
- 1Sign up at dash.cloudflare.com and click Add a domain. Choose the Free plan.
- 2Cloudflare scans your existing DNS records. Compare them with your current DNS (website A/AAAA/CNAME records, MX for email, TXT for SPF/DKIM/verification). Add anything missing before you switch, or email can break.
- 3Cloudflare shows you two nameservers (like
rachel.ns.cloudflare.comandtim.ns.cloudflare.com). Yours will differ. - 4At your registrar (where you bought the domain), replace the current nameservers with exactly those two, and remove any others. See the steps by registrar.
- 5Back in Cloudflare click Check nameservers now. It usually activates within minutes to a few hours; Cloudflare emails you when it does.
Before you switch
- Turn off DNSSEC at your registrar first if it's on. Old DNSSEC keys make the domain fail to resolve after the move. You can re-enable it later with Cloudflare's DS record.
- Mail records stay “DNS only” (grey cloud): MX, and any
autoconfig,autodiscoveror DKIM CNAMEs. - Website records should be “Proxied” (orange cloud). Failover only reaches visitors whose traffic goes through Cloudflare.
- Set SSL/TLS → Overview to Full (strict) if your host has a valid certificate (most do), or Full otherwise.
05Nameserver steps by registrar
Menu names change from time to time, but the setting is always called “nameservers”. Enter both Cloudflare nameservers and remove every other one.
| GoDaddy | Domain Portfolio → select the domain → DNS → Nameservers → Change Nameservers → “I'll use my own nameservers”. |
| Namecheap | Domain List → Manage → Nameservers → choose “Custom DNS” → enter both → click the green tick. |
| Spaceship | Domain → Nameservers & DNS → Change → custom nameservers. If a “Connection” to your host is shown, disconnect it first, or it may put the host's nameserver back. |
| Porkbun | Domain Management → the domain → Details → Authoritative Nameservers → Edit. |
| Squarespace Domains (ex-Google Domains) | Domains → the domain → DNS → Domain Nameservers → Use custom nameservers. |
| Hostinger | hPanel → Domains → the domain → DNS / Nameservers → Change nameservers → enter both. |
| IONOS | Domains & SSL → the domain → Nameservers → Use custom nameservers. |
| Name.com | My Domains → the domain → Manage Nameservers → replace the defaults. |
| Cloudflare Registrar | Nothing to do: domains registered at Cloudflare already use Cloudflare's nameservers. |
Not listed? Search your registrar's help for “change nameservers”. Lifeline reads your nameservers straight from the registry, so the dashboard updates as soon as you save; use Check again on the site's Overview if you're waiting.
06Connect Cloudflare to Lifeline
- 1On the site's Overview, click Open Cloudflare. The token form opens pre-filled with the three permissions Lifeline needs.
- 2Under Zone Resources choose Include → Specific zone → your domain (recommended), then Continue to summary → Create Token.
- 3Copy the token, paste it into Lifeline and click Connect.
| Permission | Why |
|---|---|
| Workers Scripts · Edit | Upload the fallback Worker to your account (switched off) |
| Workers Routes · Edit | Switch it on during an outage, off afterwards |
| Zone · Read | Find your domain in your account |
Nothing else: no DNS, billing or other settings. The token is stored encrypted and you can revoke it in Cloudflare at any time. Lifeline keeps the Worker in your account up to date automatically.
07How failover works
- Lifeline checks your site every 60 seconds. A failure is re-checked after 15 seconds.
- After 2 failures in a row, a second location on a different network checks too, so a network blip near our checker never fails your visitors over.
- If it's really down, the fallback route is attached: visitors get your latest snapshot, served from Cloudflare's edge, with your outage banner. Worst case is about 80 seconds from failure to fallback.
- Forms and checkout are paused with a clear message instead of failing silently. Pages that aren't in the snapshot return a friendly “temporarily unavailable” page with status 503, which tells search engines to come back later.
- After 3 clean checks, the route is removed and live traffic resumes. You get an email at every step.
- While your site is healthy, Lifeline isn't in the request path at all: 0 ms overhead.
08Run a failover drill
On the site's Overview, Run a failover drill serves the snapshot to real visitors so you can see exactly what they'd get. Click End drill when you're done; drills end automatically after 60 minutes.
09Customise the outage banner
In the site's Settings → Outage banner: write your own message, pick Dark, Light, Amber or your brand colour, place it at the top or bottom, and choose whether to show when the copy was saved. The preview updates as you type; changes reach the live fallback within about 10 seconds.
10Snapshots
- Each crawl starts at your homepage and sitemap and saves pages, images, stylesheets, scripts and fonts.
- Skipped automatically:
/cart,/checkout,/account,/login,/admin,/wp-adminand similar private areas, plus anything yourrobots.txtdisallows. Add more under Settings → Exclude paths. - A crawl is rejected if the homepage fails, if more than 30% of pages error, or if it finds under half the pages of the current snapshot. The last good copy stays live.
- Snapshots are stored on Cloudflare R2, independent of Lifeline's own servers: if Lifeline itself has an outage, your fallback still works.
- Browse any page of the current snapshot from the Snapshot tab.
11Site audit
Every crawl runs 47 checks. You're alerted only when something newly breaks; everything else waits for the weekly report.
Links · 4
Broken internal link · Broken external link · Link goes nowhere · Internal link uses http://
Content · 6
Missing image · Missing stylesheet or script · Mixed content · Possible spelling or grammar mistake · Placeholder text left in page · Very little text on page
SEO · 11
Missing <title> · Title longer than 65 characters · Duplicate title · Missing meta description · Meta description longer than 170 characters · Duplicate meta description · Missing <h1> · More than one <h1> · No canonical URL · Page is set to noindex · Missing Open Graph tags
Accessibility · 9
Images without alt text · Missing lang attribute · Form fields without a label · Links with no accessible name · Buttons with no accessible name · Heading levels skip · Viewport missing or blocks zoom · Duplicate id attributes · Iframe without a title
Forms · 5
Form submits over http:// · Form action URL is missing (404) · Form without a submit button · Form field without a name · Email field isn't type="email"
Sitemap & robots · 5
No sitemap.xml found · Sitemap lists a broken URL · Sitemap lists a redirecting URL · Pages missing from the sitemap · No robots.txt
Performance · 4
Slow server response · HTML document over 300 KB · Image over 500 KB · Response isn't compressed
JavaScript · 3
Uncaught JavaScript error · Error logged to the console · Request failed while loading the page
12Alerts, webhooks and reports
- Email alerts go to your account address. Add up to 5 more in Settings → Alert recipients; each has to confirm before receiving anything.
- Webhook: Lifeline POSTs JSON to your URL with a Slack-compatible
textfield, plussite,type,message,atanddashboard. Paste a Slack or Discord incoming-webhook URL and it just works. - A weekly report summarises uptime, incidents, snapshot and open issues.
13Public status page
Tick Settings → Public status page to publish lifeline.dev/status/yourdomain.com: current status, 30 days of uptime and recent incidents. Issues and settings are never shown.
14LifelineBot and firewalls
Checks and crawls identify themselves as LifelineBot/1.0 (+https://lifeline.dev/bot). If Cloudflare challenges them, the dashboard shows Bot blocked and outages can't be detected until it's fixed. Your site itself is unaffected.
- 1In Cloudflare open your domain → Security → Bots and turn off Bot Fight Mode. On the free plan this is the usual cause, and firewall rules can't override it.
- 2If it's already off, go to Security → WAF → Custom rules, create a rule where User Agent contains
LifelineBot, and set the action to Skip (all remaining custom rules, rate limiting and managed rules). - 3Also check Security → Settings for “Block AI bots” and security plugins on your server (Wordfence and similar) that block unknown bots.
The notice clears on the next check once Lifeline gets through. More about LifelineBot.
15Plans and billing
| Plan | Price | Sites | Pages per site | Snapshots |
|---|---|---|---|---|
| Beta | Free | 5 | 300 | every 24 h |
| Site | $19/mo | 1 | 500 | every 24 h |
| Studio | $79/mo | 10 | 1,000 | every 12 h |
| Agency | $199/mo | 50 | 2,000 | every 6 h |
- Choose, upgrade or downgrade in Account → Plan. Changes are prorated by Stripe.
- Cancel any time: you keep your plan until the end of the paid period, then drop to the free plan.
- If you downgrade below the number of sites you have, the newest extra sites are paused, never deleted, and resume automatically when you upgrade.
- Manage billing opens Stripe's portal for your card, invoices and billing details.
16Troubleshooting
Verification fails
Make sure the file or meta tag is live on the exact address you added (including www or not), and that a caching plugin isn't serving an old homepage. Clear the cache and try again.
The dashboard still says “Needs Cloudflare”
Check the registrar lists only the two Cloudflare nameservers (a leftover old one is the most common cause), then click Check again.
SSL error after moving to Cloudflare
Wait a few minutes for Cloudflare to issue the certificate. If it persists, set SSL/TLS to Full and make sure your host has HTTPS enabled.
Error 522 or 525 from Cloudflare while the site is up
Cloudflare can't reach your server: check the A/AAAA records point to your host, and that the host doesn't block Cloudflare's IP addresses. Some hosting setups with their own CDN or firewall reject proxied traffic; ask your host to allow Cloudflare.
“Bot blocked”
See LifelineBot and firewalls.
Email stopped after the move
An MX or TXT record didn't come across. Copy them from your old DNS provider into Cloudflare and keep them DNS only.
17Security and your data
- Cloudflare tokens are encrypted at rest (AES-256-GCM) and limited to the permissions above.
- Lifeline only snapshots public pages of sites you've verified, and never submits your forms.
- Deleting a site removes its Worker from your Cloudflare account and deletes every snapshot, incident and report. Deleting your account does this for all sites.
Still stuck? Email hello@lifeline.dev. A human reads every message.