> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hiveku.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Manage Website Pages

> Create, rename, organize, and delete pages on your site

Every website is a collection of pages. Hiveku gives you three ways to add and manage them — pick the one that matches your comfort level.

<CardGroup cols={3}>
  <Card title="Easiest" icon="wand-magic-sparkles">
    Ask the AI assistant
  </Card>

  <Card title="Visual" icon="pencil">
    Content Editor UI
  </Card>

  <Card title="For developers" icon="code">
    Code Editor directly
  </Card>
</CardGroup>

## Pages vs CMS Collections

Before adding more pages, it's worth knowing what kind of content belongs on a page versus in a CMS collection — they're handled differently.

| Use a **website page** for...            | Use a **CMS collection** for...           |
| ---------------------------------------- | ----------------------------------------- |
| Home, About, Pricing, Contact            | Blog posts                                |
| Bespoke marketing landers                | Products in a catalog                     |
| One-off layouts                          | Team members                              |
| Anything where the layout is the content | Testimonials                              |
|                                          | Case studies                              |
|                                          | FAQs                                      |
|                                          | Anything that repeats with a shared shape |

Pages live in the page tree (this guide). CMS collections live in `hiveku.cms.json` — see [CMS Collections](/cms/collections).

<Info>
  **For repeating content like blog posts, products, or team members, use a CMS collection rather than creating a page per item.** The CMS gives you a Webflow-style editor, version history, and search out of the box, and means a content team can manage entries without touching code. See [CMS Overview](/cms/overview) and [Collections](/cms/collections).
</Info>

## Option 1: Ask the AI (Easiest)

<Steps>
  <Step title="Open the AI chat">
    Click the **AI** tab in the left panel of the Editor.
  </Step>

  <Step title="Describe the page you want">
    Just say what you need:

    ```
    Add a pricing page to my site
    ```

    ```
    Create an About page with our team photos and bios
    ```

    ```
    Rename the "services" page to "what-we-do" and update all links
    ```
  </Step>

  <Step title="Review and deploy">
    The AI creates the page, updates your nav if needed, and shows a preview. When you're happy, click **Deploy**.
  </Step>
</Steps>

## Option 2: Content Editor (Visual)

<Steps>
  <Step title="Go to Content > Pages">
    Inside your project, click **Content** in the sidebar, then open the **Pages** tab.
  </Step>

  <Step title="Click New Page">
    You'll see a form for page details.
  </Step>

  <Step title="Fill in the page details">
    * **Title** — shown in the browser tab and used as the default heading
    * **Slug** — the URL path. `welcome` produces `/welcome`
    * **Meta description** — used by Google and social previews
    * **Status** — Draft or Published
  </Step>

  <Step title="Save">
    Click **Save**. The page is added to your site and listed in the Pages tab.
  </Step>
</Steps>

## Option 3: Code Editor (Developers)

<Steps>
  <Step title="Open the Code Editor">
    Click **Code Editor** in your project.
  </Step>

  <Step title="Navigate to the pages folder">
    Depending on your framework:

    * `app/` — Next.js App Router (each folder with a `page.tsx` is a route)
    * `pages/` — Next.js Pages Router
    * `src/pages/` — Astro, Vite, Gatsby
  </Step>

  <Step title="Create the new page file">
    Right-click the folder and choose **New File**. Name it based on the URL you want — `app/about/page.tsx` maps to `/about`.
  </Step>

  <Step title="Save and preview">
    Save the file. Your live preview refreshes automatically.
  </Step>
</Steps>

## Understanding Slugs

The **slug** is the URL path for a page.

| Slug             | URL              |
| ---------------- | ---------------- |
| `welcome`        | `/welcome`       |
| `about/team`     | `/about/team`    |
| `products/hats`  | `/products/hats` |
| *(empty or `/`)* | `/` (homepage)   |

Keep slugs short, lowercase, and hyphen-separated — `our-story` is better than `OurStory`.

## Setting the Homepage

<Steps>
  <Step title="Open Pages">
    Go to **Content > Pages**.
  </Step>

  <Step title="Find the page you want as the homepage">
    Click its row to open details.
  </Step>

  <Step title="Mark as homepage">
    Toggle **Set as homepage**. This page now serves at `/`.
  </Step>
</Steps>

<Info>
  Only one page can be the homepage at a time. Setting a new one automatically demotes the previous homepage to a regular route.
</Info>

## Meta Title & Description

For SEO, every page should have:

* **Meta title** — 50-60 characters, keyword-rich
* **Meta description** — 150-160 characters, compelling summary

You can set these from the page details in the Content Editor, or ask the AI: *"Write SEO titles and descriptions for all my pages."*

## Draft vs Published

* **Draft** — saved but not visible on the live site
* **Published** — visible to visitors after you deploy

Drafts are great for work-in-progress pages you don't want visitors to see yet.

## Renaming a Page

<Tabs>
  <Tab title="Content Editor">
    Open the page in **Content > Pages**, change the **Slug** field, and save. Hiveku updates internal nav links automatically.
  </Tab>

  <Tab title="Code Editor">
    Rename the file or folder directly. For folder-based routing (Next.js App Router), rename the folder — the URL follows.

    <Warning>
      Renaming a file doesn't auto-update links from other pages. Ask the AI: *"I renamed /old-slug to /new-slug — update all internal links"* to fix them in one shot.
    </Warning>
  </Tab>
</Tabs>

## Deleting a Page

<Steps>
  <Step title="Open the page">
    Go to **Content > Pages** and click the page you want to delete.
  </Step>

  <Step title="Click Delete">
    Scroll to the bottom and click **Delete**. You'll be asked to confirm.
  </Step>

  <Step title="Confirm">
    The page is removed. <Warning>Deletion is permanent. If you might want it back, set it to Draft instead.</Warning>
  </Step>
</Steps>

## Verifying Changes

After creating, renaming, or deleting a page:

1. Check the **live preview** in the Editor — it reloads instantly
2. Click **Deploy** to push the change to your live site
3. Visit `https://{project}.hiveku.com/{slug}` to confirm it's live

## Troubleshooting

<AccordionGroup>
  <Accordion title="Page isn't showing on the live site">
    You probably haven't deployed yet. Click **Deploy** in the top bar. Pages appear in the preview immediately but need a deploy to go live.
  </Accordion>

  <Accordion title="The URL is different than I expected">
    Double-check the **Slug** field in the Content Editor, or the file/folder name in the Code Editor. Slugs with uppercase or spaces can cause unexpected URLs — stick to lowercase and hyphens.
  </Accordion>

  <Accordion title="Homepage didn't update">
    Make sure you toggled **Set as homepage** for the new page. Only one page can be homepage at a time — check that no other page still has the toggle on.
  </Accordion>

  <Accordion title="Navigation links still point to the old page">
    Renaming a page doesn't always rewrite hand-coded nav links. Ask the AI: *"Update all links to point to the new page name."*
  </Accordion>
</AccordionGroup>

## What's Next?

<CardGroup cols={2}>
  <Card title="CMS Collections" icon="layer-group" href="/cms/collections">
    Manage repeating content like blog posts and products
  </Card>

  <Card title="Post a Blog" icon="newspaper" href="/how-tos/post-a-blog">
    Publish articles on your site
  </Card>

  <Card title="Edit Visually" icon="pencil" href="/how-tos/edit-visually">
    Click and edit directly in the preview
  </Card>

  <Card title="Initialize CMS" icon="rocket" href="/how-tos/initialize-cms">
    Scaffold a CMS for repeating content
  </Card>
</CardGroup>
