Skip to content

Create your first page

Create a useful About or Contact page, save a draft, check it, then publish it. Start after a successful install, with an account that can log in to /admin. The expected result is your new content at the page’s canonical public URL, visible to a visitor who is not signed in.

If you have not installed Capell yet, start with the quickstart or the full install guide.

Open Pages from the sidebar. Pages are the main routable content records in Capell: they belong to a Site, can sit inside a page tree, and publish to frontend URLs.

Pages list in Capell Admin before creating a page

Light · Dark

Check the selected site, then click New page and choose a page type from those offered. Its blueprint determines the content fields you will see. You can also open an existing page from the list to practise with seeded content.

New page action on the Pages list

Light · Dark

The first fields decide where the page lives before you write content.

Top fields on the create page form

Light · Dark

Site — which public website owns the page. Even on a single-site install, the Site carries the domain, languages, default pages, related sites, and brand-level details the frontend uses.

Parent Page — where the page sits in the tree.

  • Leave it empty for a top-level page such as /about.
  • Choose a parent when the page belongs under another, such as /about/team.

Internal name — the admin-facing name for the page record. It normally follows the page title, but you can keep the admin list clear when the frontend title is long or marketing-led.

Parent Page selector on the page form

Light · Dark

Capell builds URLs from the page tree.

Page setupResulting URL
Top-level page with slug about/about
Child page with slug team under about/about/team
Child page with slug careers under about/about/careers

Moving a page to a different parent changes the URL path. Capell creates automatic redirect Page URLs when a published page’s slug or parent path changes, so old URLs keep pointing at the current page. Use the Redirects or URL Manager package when you need manual redirects, imports, hit counts, or deeper redirect reporting.

For more background, read How Capell works.

Title — the main human-readable page title. It usually appears in the browser title, search snippets, social previews, and any frontend template that prints the page heading.

Slug — the URL segment. Capell fills it from the title, so About Our Team becomes about-our-team. Edit it when you need a shorter or clearer URL.

URL preview — shows the Site domain and parent path before the slug. Use it as a quick check before saving.

Good first-page examples:

PageTitleSlug
About pageAboutabout
Contact pageContactcontact
Services pageServicesservices

Keep slugs short, lowercase, and stable. Changing a slug after publishing changes the public URL.

If your page needs a photo or illustration, prepare it before attaching it to the page:

Inspect the image control supplied by your page type first. Use the steps below for an existing-media picker. If the page instead provides a media upload control, upload there directly, then follow the metadata check in step 2 for the item attached to your page. A standalone public upload follows the separate guidance in step 3.

  1. Open Media in the sidebar and choose Upload files. Choose an image within your configured upload limits, select the intended site in Attach to site, and submit the action. Wait for the upload success notification.
  2. Open the uploaded item using Manage media. In Localized metadata, use Add locale metadata if needed, select the page’s Language, and fill Alt text with a short description of the meaningful image content. Repeat for the other languages you will publish, then save. Use Decorative image only for an image that adds no information.
  3. Return to your page. If it offers an existing-media picker, select the uploaded item there. The Media library label can also refer to a control that uploads and attaches its own item; check the attached item’s language-specific metadata rather than assuming the control selects an existing file. Read the help text before choosing Upload: a standalone public image does not create a Media library item or inherit its language-specific alt text. For a standalone upload, use an alt-text field supplied by your page type; if none is available, choose a supported media block or widget instead. Some page types place images in blocks or widgets rather than a page-level field.
  4. Save the page and check the image and its description in the preview before publishing. The theme and layout must render the selected image; saving a page-level image or uploading a file to Media alone does not place it in the page content. If it is absent, use Build a page to choose an image block or widget supported by your page type.

See Upload a file, language-specific alt text and captions, and upload limits. If your page type has no image field or media control, publish the text first and use Build a page to choose an appropriate content structure.

Use the content fields provided by the selected page type. A plain text page normally has a Content editor for headings, paragraphs, links, tables, lists, and simple formatting. When the page needs typed blocks or approved section composition, choose the supported path in Build a page: page-type blocks with a page-specific content_structure_override, or the optional Layout Builder package for containers, widgets, and widget assets.

For your first page, keep it simple:

  1. Add a short heading or opening sentence.
  2. Add one paragraph of useful body copy.
  3. Choose Save as draft.
  4. Follow Preview and publish below.

Open Extra Content when the page needs supporting fields.

The exact fields can vary by blueprint and installed packages, but the common ideas are:

FieldWhat it is for
SummaryA short description for cards, listings, and fallback metadata.
LabelAlternate text used by some themes or navigation surfaces.
Link text / CTA textButton or link copy when another page links to this one.

You do not need to fill every field on the first pass. Add the content that helps the frontend theme render the page well.

Layout — which frontend template renders the page. A normal content page can use the default layout; a landing page, article, product page, or campaign page may use a different one if your project has registered it.

Visible From — scheduled availability. Leave it empty when the page should be available as soon as it is published.

Page Blueprint is closely related to layout, but it is not the same thing. Blueprints define reusable editing, rendering, and behaviour rules:

ConceptPractical meaning
BlueprintReusable editing, rendering, and behaviour rules.
LayoutControls how the frontend renders the page.
ContentThe text, media, and structured fields the editor adds.

Developers can register custom blueprints through Capell extension points. Read Blueprints for examples and screenshots, or How Capell works when you are ready for the deeper model.

Choose Save as draft on the new-page form. The page is stored in Admin, but it is not available to anonymous visitors yet. The other create action is Save and Publish, so use the draft action for this first review.

On an already published page, the save action is labelled Save. If workflow packages are installed, draft changes and publishing may move through approvals, Publishing Studio, or scheduled publishing; follow the actions and checks your installation presents.

  1. Open your saved draft for editing from Pages. Choose Preview draft to open its signed preview in another tab. When editing an existing published page, use the preview action your configured workflow provides and remember that Save can update the live page. Check the text, links, and any image. This preview lets you review unpublished content; it does not make the page public.
  2. Return to the editor and inspect the Publish panel. For an immediate first publication, review its URL and publishing blockers, and avoid a deliberate future Visible From or expired Visible until date. A saved draft is expected to remain unavailable until you publish it.
  3. Choose Save and Publish on the draft editor, or the Publish action provided by your workflow. Resolve any validation or approval message rather than assuming the save made the page live.
  4. Copy the canonical public URL for the page and open it in a private browser window with no Admin session. Use the ordinary site URL, not the signed preview link. For a top-level page with slug about, this is normally the selected site’s domain followed by /about.
  5. Confirm that the page loads and shows the text you just wrote, plus the image if you attached one. Reload after any later change to prove it reaches visitors.

The published public-page example shows the kind of frontend result to check. Your page’s appearance depends on its theme and layout. A draft, a future schedule, “Not visible now”, or a successful preview is not a successful immediate publication.

If the public URL returns a 404 or the page stays unavailable, check the selected site, URL, publishing blockers and dates, then use Troubleshooting. For a queued page that never generates, follow Published pages never generate.

Use Unpublish from the edit page when the page should come down. To schedule a removal, set Visible until in the Publish Dates section. Use Cancel scheduled unpublish if the page should stay live after a removal date was set.

If the frontend still shows old content, follow Published pages still show old content. The procedure checks which cache package is installed, regenerates stale origin HTML and verifies the canonical response before any edge purge. Static export is separate from refreshing stale pages.

If the project uses a queue connection such as database or redis, a developer should keep a worker running while testing publishes:

Terminal window
php artisan queue:work

See Troubleshooting if the page shows a 404, stale content, or a blank frontend screen.

On edit screens, Capell shows additional page settings and package-provided fields. These can include SEO settings, canonical URL choices, cache behaviour, featured images, and other fields added by extensions.

Edit page Settings tab with page-specific controls

Light · Dark

For a first page, avoid tuning everything at once. Confirm the page renders first, then come back for SEO and sharing details.

The URLs relation lists the page’s public paths and aliases. Use New page URL to add a path, or the row’s edit action to update an existing one.

Page URLs relation with create and edit actions

A Site is bigger than one page. It represents the public web property that all its pages belong to.

Site-level details can apply across every page for that site:

Site detailWhere it is used
Company or business nameFooter, contact blocks, schema, and theme copy.
Logo and inverted logoHeader, footer, dark backgrounds, and theme components.
Favicon and iconBrowser tabs, saved shortcuts, and app-like surfaces.
Brand colorTheme accents, buttons, and package-aware UI choices.
Email, phone, contact pageFooter, contact cards, schema, and reusable widgets.
Domains and languagesURL generation, language tabs, canonical links, and routing.

Site records live in the System area of the admin sidebar. Open Sites when you need to update the company, logo, favicon, brand, domain, language, or related site details behind the pages.

The Site Domains relation connects the site’s domains to languages. Use New site domain or a row’s edit action to manage those addresses.

Site Domains relation with create and edit actions

Change Site details when the same value should affect the whole website. Change Page details when the value only belongs to one page.

For the full admin map, see the Admin interface guide.

Do not install every package on day one. Add the next package when the page you are building clearly needs it.

ExtensionAdd it when you need
ContentSectionsCustom rows, columns, widgets, reusable content blocks, and richer page layouts.
NavigationHeader, footer, sidebar, or utility menus that link your pages together.
RedirectsManual redirects or safer URL changes after pages have been published.
Built-in Default ThemeA practical frontend starting point provided by capell-app/frontend without installing a theme package.
Frontend AuthoringEdit page title, description, or content from the public page after the admin-only beacon confirms access.
Media LibraryThe Curator media backend and picker, instead of the default Spatie MediaLibrary backend.
SEO SuiteAudits, structured data, robots controls, and stronger social metadata.
Site DiscoveryHTML/XML sitemaps and discoverability files.

That order keeps the learning curve sane: create pages first, add structured blocks or Layout Builder when the content needs it, connect pages with Navigation, protect URLs with Redirects, then add SEO or richer operational tooling when the site is real enough to benefit.