# How the website works

What a website is in the database, which website answers an address, how pages, menus and languages belong to it, what published and indexed mean, how visits are counted, who may change what, and what the app does not do.

The **Website** app keeps the public site in the same database as your records. When a browser asks for a page, the server finds the website the address belongs to, the page at that path and the language, and builds the page from what is stored. Nothing is published as separate files: a change saved in the editor is live at the next visit.

## What a website holds {#what-a-website-holds}

Each website is one record with:

- a name, a domain, a company, its languages and the default one;
- its own home page and its own menu;
- the options of [Website settings](website-settings), such as visit tracking and the cookies bar;
- a public user of its company, which stands for every visitor who is not signed in.

The database comes with one website. [Create a website](create-a-website) adds others, which share the database, its contacts and its apps.

## Which website answers {#which-website}

The server compares the address typed by the visitor with the **Domain** of each website and serves the one that matches. When none matches, or when no website has a domain, the first website answers. In the app, the website switcher sets the website you work on; a website without a domain carries a warning triangle there.

## Pages and menus {#pages-and-menus}

A page is an address of the site, such as `/contactus`, with its content. Most pages belong to one website. Some, added by apps for every website, such as the thank-you page of the contact form, are shared: when you change a shared page while working on one website, that website gets its own copy and the others keep the original. A new website starts with an empty home page and a copy of the main menu; from then on its menu is its own ([Edit the menu](edit-the-menu)).

Apps add their own pages: the blog under `/blog` ([Create a blog](create-a-blog)), the help desk form under `/desk` ([Submit a request from the website](/docs/helpdesk/submit-a-request-from-the-website)), the job offers under `/jobs`, the documentation under `/docs`, and the client portal under `/my` ([How the client portal works](/docs/client-portal/how-the-client-portal-works)).

## Published and indexed {#published-and-indexed}

Two switches decide who reaches a page:

- Published: visitors see it. Unpublished, only the website's editors open it, and others get the page-not-found answer.
- Indexed: search engines may list it. Not indexed, the page asks them not to. A page reached under an address other than its website's **Domain** asks the same.

[Manage pages](manage-pages) sets both.

## Languages and addresses {#languages}

The default language of a website uses the plain addresses; each other language puts its code in front of the path, as in `/ar/contactus`. The language switcher at the foot of the page moves between them and the browser remembers the choice. Text added in one language shows unchanged in the others until someone translates it: [Translate a page](translate-a-page).

## Visitors and page views {#visitors}

When a person opens a tracked page, the website records a visitor for that browser and a page view; new pages are tracked, and robots are not counted. A visitor who signs in is linked to their contact. **Website/Reporting/Visitors** and **Website/Reporting/Page Views** list them. Visitors not linked to a contact are deleted after 60 days without a visit, with their page views ([Website automations](website-automations)). Figures from an outside analytics service show under **Website/Reporting/Analytics** once it is connected in the settings.

## Who can do what {#access-rights}

| Access right on **Website** | Can |
|---|---|
| none, as an internal user | open the app and look at the site |
| **Restricted Editor** | open the editor on content they may already change in its own app |
| **Editor and Designer** | pages, menus, the theme, visitors and page views, and the **Website** section of the settings |

The settings also need the **Administrator** role. Rights are set on the user's form: [Create a user and set access rights](/docs/general-settings/create-a-user-and-set-access-rights).

## The setup wizard and outside services {#outside-services}

The setup wizard of a new website reads its list of lines of business and its theme suggestions from an outside service of the software's publisher. On the platform these reads are the only calls to that service let through, and they carry no data of your firm. The service that would write texts for the pages stays closed, so the pages the wizard creates keep the sample text of their blocks: [Create a website](create-a-website#wizard).

## What the website does not do {#limits}

- It does not register a domain name or point it to the server: **Domain** only tells the server which website answers.
- Its editor works on a computer; on a phone the app shows the site, the website switcher and the **Published** switch.
- It keeps anonymous visits for 60 days and only for tracked pages; longer figures need an analytics service.
- Selling online, events, courses, forums and live chat are separate apps. **New** lists them in grey until they are installed, and asks before installing one.

---

- Source: https://jaah.app/docs/website/how-the-website-works
- Updated: 2026-10-29
- Version: Website 19.0.1.0
