# Edit your pages and add new ones

The **Pages** tab is a visual editor for the site you uploaded. Click text, an image or a link on the page and change it right there, then press Publish — no code needed. You can also add new pages that keep your site's header and footer. It is included on every plan and in the 7-day trial.

HTML version: https://fylo.host/docs/pages · All docs: https://fylo.host/docs/

## Open a site's pages

1. Open **Pages** in the [dashboard](https://fylo.host/dashboard) and choose the site under **Website**. The **Edit** button on a site card in [My sites](https://fylo.host/docs/sites) brings you to the same place.
2. The list shows every page of the site with its title and address; the homepage is marked **Home**. The tabs above the list filter it: **All**, **Published**, **Drafts** and **Trash**.
3. Click **Edit** next to a page. **View** opens the live page, and **Duplicate** starts a new page from a copy of it.

Pages works with sites uploaded as HTML files or as a ZIP. A page whose content is generated in the browser by a JavaScript framework (React, Vue, Next.js and similar) can't be edited visually; change it in your project's code and upload the new build.

## Edit a page

The page opens the way visitors see it, with **Desktop** and **Mobile** buttons to check both sizes. Click any part of it and a toolbar appears with the tools that fit what you clicked.

| What you click | What you can do |
|---|---|
| **Text** | Type to change it. Make it bold or italic, turn it into a link, a heading (H2, H3), a paragraph or a quote, add a bulleted or numbered list, or clear the formatting. |
| **An image** | Replace it: choose a file, then zoom and drag to crop it, or tick *Upload the file as it is* to skip cropping (this keeps GIF animation). PNG, JPG, WebP, GIF, AVIF and SVG, up to 5 MB each. |
| **A link or button** | **Edit link**: paste an address or pick one of your pages, and choose whether it opens in a new tab. |
| **Any block** | **Duplicate** it (a card, a menu link, a whole section), **Remove** it, or **Select parent** to step out to the block around it. |
| **Something new** | Add an **Image** (you are asked for its alt text), a **Video** from a YouTube or Vimeo link, or an **Embed**: the code a service gives you for Google Maps, a booking or payment widget, a form, a calendar or a social post. Script-based embeds show on the live page after you publish. |

**Publish** puts your changes live straight away. **Discard** drops the changes you have not published.

- The first publish of an editing session saves the whole site as it was to [Version History](https://fylo.host/docs/sites#update), so an edit can always be rolled back.
- After a publish, the sitemap, `llms.txt`, Markdown copies and [speed optimizations](https://fylo.host/docs/performance) catch up in the background.
- What is saved is your original HTML plus your edits. Anything the page's own scripts add while it runs is not written into the file.

## Add a page

1. Click **+ New page**.
2. Under **Start from**, choose **Blank page — your header and footer** (an empty area to write in, inside your site's own header and footer), **Copy of** one of your pages (its content comes too), or **Paste your own HTML code** (a full HTML page, with CSS in `<style>` and JavaScript in `<script>` tags).
3. Fill in the **Page title**, the **Page address** (lowercase letters, numbers and dashes, for example `our-services`) and a **Description** for search results, then click **Create page**.

A new page starts as a **draft**: nothing is public until you press **Publish**. **Save draft** keeps your work in the meantime.

To add the new page to your menu, open a page in the editor, click a menu link, choose **Duplicate**, then **Edit link** and point the copy at the new page.

If you paste your own code, the images and files it points to must already be on your site (upload them with **Code / files**) or use full `https://` links.

## Page settings and SEO checks

**Page settings** in the editor holds the page's **Title**, **Description** and **Page address**. Changing the address of a live page leaves a redirect at the old one, so existing links and search results keep working. The homepage's address can't be changed.

The same panel checks the page against six basics, and the Page settings button shows the score (for example *SEO 4/6*):

| Check | Passes when |
|---|---|
| Title | 30–60 characters |
| Meta description | 120–160 characters |
| One main heading (H1) | Exactly one, not counting headings inside the menu or header. **Turn the extra ones into H2** fixes it in one click. |
| Section headings (H2) | At least one |
| Images with alt text | Every image has a description |
| Words on the page | 300 or more |

## Drafts and Trash

- **Drafts** lists the pages that are not public yet. Open one with **Edit**, or press **Publish** in the list.
- **Trash** on a page or a draft moves it to the Trash. A trashed page stops being served straight away and drops out of the sitemap. The homepage can't be trashed.
- In the **Trash** tab, **Restore** puts a page back where it came from, live or draft. **Delete permanently** and **Empty Trash** remove pages for good.

## SEO + GEO files

Under the page list, the **SEO + GEO** card has four switches for the whole site, so Google and AI assistants (ChatGPT, Claude, Perplexity) can find every page:

| Switch | What it gives you |
|---|---|
| **Website sitemap** (`/sitemap.xml`) | Lists every page of your site, plus your blog sitemap. Submit this one in Google Search Console. |
| **robots.txt** | Allows all crawlers and points them to your sitemap. |
| **llms.txt** | A plain-text index of your pages and posts for AI assistants, in the llmstxt.org format. |
| **Markdown copy of every page** | Each page is also served as Markdown at its address + `.md` (the homepage at `/index.md`). |

Fylo writes these files only when your site has none of its own, and never overwrites a file you uploaded. Change the switches and click **Save**. The switches for the blog's own sitemap and post Markdown are in [Blog → Settings](https://fylo.host/docs/blog).

## Limits

- A page's HTML can be up to 5 MB, and each image up to 5 MB.
- New pages and images count towards your plan's storage (see [plan limits](https://fylo.host/docs/sites#limits)).
- **Code / files**, next to the site picker, opens the file manager and code editor for the same site when you would rather change the HTML, CSS or JavaScript directly.

## Related

- [My sites](https://fylo.host/docs/sites) — upload and replace the site, version history.
- [Blog](https://fylo.host/docs/blog) — posts and blog pages in the blog's theme.
- [Performance](https://fylo.host/docs/performance) — speed settings applied to every page.
