# Landing Pages

A landing page is a full web page that Flomailr hosts for you at its own address. You build it in the same block editor you use for emails, and a Signup block turns visitors into subscribers. For a signup box on a site you already have, use a [form](/docs/platform/forms) instead.

## Build a page

Go to `Pages & Forms > Landing pages` and click **New page**. This creates a draft called "Untitled page" and opens the builder.

- The block list is on the left, the canvas is in the middle, and the right panel edits whatever you select.
- Rename the page in the top bar. The title is saved when you click away.
- Use the undo and redo buttons, and the **Desktop** and **Mobile** preview toggle, to check your work.
- Changes save on their own about two seconds after you stop. The top bar shows Saving, Saved or Save failed.
- In the landing pages table, the duplicate button copies a page, including its SEO fields, as "TITLE (Copy)" with a new address. The copy starts as a draft.

When no block is selected, the right panel shows **Page settings**. It has three parts:

| Part        | Fields                                                                                                    |
| ----------- | --------------------------------------------------------------------------------------------------------- |
| Page URL    | Slug, **Copy URL** and **Save**.                                                                          |
| Page styles | Page background, Content background, and Font family (Inter, Georgia, Fira Code, Helvetica or System UI). |
| SEO         | SEO title (up to 60 characters) and Meta description (up to 160).                                         |

## Address and slug

A published page lives at `https://flomailr.com/p/YOUR-SLUG`. There is no workspace name in the address, so a slug is unique across every workspace, not only yours.

- A new page gets a slug from its title: lower case, every run of characters other than a to z and 0 to 9 becomes one hyphen, and leading and trailing hyphens are dropped. It is cut to 60 characters. Letters with accents count as separators. An empty result becomes `page`.
- If the slug is taken, Flomailr adds `-1`, `-2` and so on until it is free.
- To change it, edit **Slug** under Page settings and press Enter or click **Save**. The same cleanup applies, and the address shown underneath is the one that was saved, which can differ from what you typed.
- The old address stops working when you change the slug.

## Publish

A new page is a draft, and a draft returns a 404 at its address. Click **Publish** in the top bar to make it live. The button then reads **Published**, and clicking it again takes the page down. Once it is live, the top bar shows the address with a copy button, and the landing pages table shows a link icon next to it.

Published pages can be indexed by search engines. The SEO title falls back to the page title when it is empty, and the page carries a canonical link plus Open Graph and Twitter tags.

To remove a page, click the delete button in the top bar. Its address then returns a 404, and this cannot be undone.

## Capture subscribers

Add a **Signup** block (in the **Conversion** group) and select it. In the right panel:

- **Email list**, **Send subscribers to**: the list new contacts join. A Signup block with no list selected cannot accept signups.
- **Content**: Headline, Subtext, Email placeholder, Button text, and **Show name field** with a Name placeholder. The name field collects a first name.
- **Button** and **Spacing**: colours, corner radius and padding.

Keep the Signup block at the top level of the page. The live form is only drawn for top-level blocks, so one placed inside Columns or Section shows nothing. In an email, a Signup block also renders nothing.

Each signup follows the same rules as a [form](/docs/platform/forms) submission:

- Each IP address can sign up five times in ten minutes.
- With a list, a new address is saved as Pending and gets a confirmation email. It becomes Subscribed when they click the link. The visitor sees "Almost there! Check your inbox to confirm your subscription."
- Someone already subscribed sees "You're already subscribed, you're all set!"
- An address that has bounced is refused with a message asking for a different email. Other suppressed addresses see the ordinary message and are left unchanged.
- Consent is recorded with the source `landing_page`.

See [Double Opt-In](/docs/concepts/double-opt-in) for the full rules.

Landing page signups are not tagged, and the table has no signup count. To see who joined, open the list under `Audience > Lists` (see [Lists](/docs/platform/lists) and [Contacts](/docs/platform/contacts)).
