# Verifying a website

> Prove you own a website on Engado using a meta tag, a DNS record, or Google Tag Manager, and fix the common verification errors.

Verification proves you control a website before it goes live on Engado. It is
how the network stays real: every site you see belongs to someone who proved it
was theirs. Until a site is verified it will not appear in Discover or search,
and nobody can send it a connection request.

You only verify once per website. There are three ways to do it. Any one of them
is enough, so pick the one you can do fastest on your setup.

## Pick a method

| Method | Best when | What you add |
|---|---|---|
| **HTML meta tag** | You can edit your site's HTML or theme head | One `<meta>` tag in `<head>` |
| **DNS TXT record** | You can't edit the HTML, or your site sits behind a CDN | One TXT record at your DNS host |
| **Google Tag Manager** | You already run GTM on the site | Nothing new, verified from the browser |

The meta tag is the default and the fastest if you can edit your site. If you
can't, or if verification keeps failing, use DNS or GTM instead. They are not
second-class, they just prove the same thing a different way.

## Method 1: HTML meta tag

1. In Engado, open the website and choose **Verify**, then **HTML tag**.
2. Copy the `<meta>` tag it shows you.
3. Paste it inside the `<head>` of your site's home page, alongside the other
   meta tags. On WordPress, most themes and SEO plugins have a "header scripts"
   or "custom head" field for exactly this.
4. Publish the change, then come back to Engado and press **Verify**.

Engado fetches your home page and looks for the tag. Leave the tag in place. If
you remove it later, the site can lose its verified status.

## Method 2: DNS TXT record

Use this when you can't edit the HTML, or your host returns a challenge page to
anything that isn't a browser (see Troubleshooting below).

1. In Engado, choose **Verify**, then **DNS record**. Copy the TXT value.
2. Sign in to wherever your domain's DNS lives (your registrar or your CDN, for
   example Cloudflare).
3. Add a new record: type **TXT**, name/host **@** (the root of your domain),
   value the string Engado gave you.
4. Save it. DNS can take a few minutes to an hour to propagate, sometimes
   longer. Then press **Verify** in Engado.

If it doesn't verify straight away, wait a little and try again. You are waiting
on your DNS host, not on Engado.

## Method 3: Google Tag Manager

Use this if GTM already runs on the site. It verifies from the visitor's browser,
so it works even when a server-side fetch of your page would be blocked.

1. In Engado, choose **Verify**, then **Google Tag Manager**, and copy the
   snippet or container ID it asks for.
2. Add it in your GTM container the way the screen describes, and publish the
   container.
3. Press **Verify** in Engado.

## Troubleshooting

**"Failed to fetch website: 403 Forbidden" on the meta tag method.**
Some hosts and CDNs show a challenge page ("Checking your browser...") or return
a 403 to anything that isn't a real browser. Engado's meta-tag check fetches your
page from a server, so on those sites it can never see the tag, no matter how
correctly you placed it. This is not something wrong on your end. Switch to the
**DNS** or **GTM** method, which don't rely on a server-side fetch of your page.

**The tag is on the page but verification still fails.**
Check that the tag is in the `<head>` of the home page specifically (not a
subpage), that the page is public, and that you published the change. A caching
layer can also serve an old copy of the page for a while, clear your site or CDN
cache and try again.

**DNS verification isn't picking up.**
Confirm the record type is TXT, the host is the domain root (`@`), and the value
matches exactly with no extra quotes or spaces. Then give it time, propagation is
the usual cause.

## What happens after

Once a site is verified it becomes live: it can appear in Discover and search,
and it can send and receive connection requests. Verification is per website, so
if you manage several, verify each one. You can use a different method for each.