Appearance
Sites
Module: Sites Where to find it: Top navigation → Sites (
/en/system/config/sites/list) Who should read this: Portal administrators who create and manage the websites hosted on the platform.
1. Overview
Sites is the largest core module — it's where you create and run the actual websites. A single account can host multiple sites, limited only by your plan's data storage (e.g. the free plan includes 15 MB).
Two concepts are central to this module:
- Languages — each site can serve one or more languages, each reachable under a URL prefix (e.g.
/en,/ar). One language is marked the default. - Environments — each site can have up to five environments: Development, Staging, UAT, Authoring, Production. Each environment has its own hostname (domain/sub‑domain), its own publish status, and its own settings. This lets you work on a site in Development while Production stays live.
Creating a fully working public site involves three stages:
- Build it — name, languages, environments, scripts, metadata (the Add/Edit Site screen).
- Activate it — publish the site and its environment(s).
- Connect & verify the domain — point your DNS at the platform and verify ownership (the Site Configuration screen).
2. Prerequisites
Your role must include the relevant sites privileges:
| You want to… | Required privilege |
|---|---|
| See the Sites list | Can View Sites (CVS) |
| Add a site | Can Add Sites (CAS) |
| Edit, Configure, publish/unpublish | Can Edit Sites (CES) |
| Delete / terminate a site | Can Delete Sites (CDS) |
Buttons described here only appear if your role includes the matching privilege.
3. The Sites list
Open Sites from the top navigation. Opening a site lands you on its dashboard, which summarises what that site contains and what has recently changed in it.

| Column | Meaning |
|---|---|
| Site | The site name (click it to open the site's workspace). |
| Site Languages | How many languages the site serves. |
| Status | Active, Inactive, or Deleted. |
| Creation date | When the site was created. |
| Site environments | Holds the Configure button → opens Site Configuration. |
| Actions | Edit (pencil) and the publish toggle (chain icon). |
The publish toggle (important)
The chain icon at the end of each row is the site‑level publish switch:
- Green (linked) = the site is active.
- Red (unlinked) = the site is deactivated.
Toggling it off deactivates the whole site and all its environments; toggling it on reactivates the site. A brand‑new site starts inactive, so you'll use this to bring it online.
4. Creating a site
Click + Add Site. A site is built across tabs. Initially only the first tab — Basic Info — is available; the other three appear after you save the basic info (because they need a site to attach to).

4.1 Basic Info
| Field | Notes |
|---|---|
| Site name | Required. |
| Favicon | Optional. A path/URL to the site's icon (a .ico file). |
| Site Languages | Tick each language the site should support. |
For each selected language:
- Url prefix — required, the path segment for that language (e.g.
en,ar). It appears after the hostname, e.g.waelprofile.com/en. - Default language — pick exactly one language as the default with its radio button. You must choose a default; until you do, a warning shows: "You must select a default language."
- The default language is what the site opens in when no language prefix is present in the URL. For example, with English as default, visiting
waelprofile.comserves the English version, whilewaelprofile.com/arserves Arabic.
- The default language is what the site opens in when no language prefix is present in the URL. For example, with English as default, visiting
Colour cues: the default language row is highlighted green; other selected languages are cyan; unselected languages stay grey.
Click Submit. The three remaining tabs now appear.
4.2 Site Environments

Tick the environments this site should have (e.g. just Development and Production). For each selected environment:
- Hostname — required. The domain or sub‑domain for that environment, e.g.
dev.waelprofile.comfor Development andwaelprofile.comfor Production. It's validated as a URL. - Protected Access — optional checkbox. When enabled, only users granted access to that environment can view it; anyone else is shown a login screen before the site loads. (Useful for keeping a staging/dev environment private.)
Click Submit.
4.3 Site Scripts
Add third‑party scripts (Google Analytics, Facebook Pixel, etc.) per environment.
- Click Add Script. In the dialog:
- Script Title — a label for your own reference (e.g. "Google Analytics"). Required.
- Environment — which environment the script is injected into (e.g. Production only). Required.
- Script — paste the code into the editor. Required.
- Save the dialog, then Submit the tab.
Each script appears as a card. You can reorder scripts by dragging the move handle (the injection order on the page follows this sequence) or delete one with the trash icon.
4.4 Site Metadata
Add <meta> tags to inject into the site's pages (e.g. the responsive viewport tag).
- Click Add Metadata. Build the tag from attribute key/value pairs (e.g.
name = viewport, then addcontent = width=device-width, initial-scale=1.0) and choose the target environment(s). - Each metadata entry shows a live preview of the final tag, e.g.
<meta name="viewport" content="width=device-width, initial-scale=1.0" />. - Reorder by dragging, or delete with the trash icon. Submit the tab.
Unsaved‑changes protection
If you switch tabs (or leave the screen) with unsaved edits, the portal warns you with a "Discard changes" prompt. Choose Discard to leave without saving, or Cancel to stay and keep editing. Always Submit a tab before moving on.
5. Activating a site
A newly created site is inactive. To bring it online:
- Activate the site — on the Sites list, toggle the site's publish switch to green (Section 3).
- Publish the environment(s) and verify the domain — done on the Site Configuration screen (next section).
6. Site Configuration
Open it via the Configure button on the Sites list, or from inside a site's workspace using the site menu (the grid icon in the top bar) → Site Configuration.

On the left is the list of environments (inactive ones are greyed out). Select an environment to manage it on the right:
| Item | What it shows / does |
|---|---|
| Hostname | The domain configured for this environment. |
| Hostname Status | Verified (green) or Not verified (red). If not verified, a Verify button appears. |
| Protocol | Appears only after the hostname is verified. Shows the protocol (http/https) and the public IP address you must point your domain to — click it to copy. Create a DNS A record for your hostname pointing at this IP. |
| Protected Access | Whether the environment is access‑restricted (Yes/No). |
| (Not‑found) Page | The page shown to visitors for unknown URLs. Click Edit to choose a page. |
| (Site‑down) Page | The page shown when the environment is unpublished/down. Click Edit to choose a page. |
| Status | Published / Unpublished, with a Publish / Unpublish button for this environment. |
Verifying the domain (DNS)
Because you bring your own domain, you must prove you own it:
- Click Verify next to Hostname Status. A dialog opens with instructions.
- Log in to your domain provider's DNS settings and add the record shown:
- Name: (your hostname)
- Type:
TXT - Value: (the verification code shown)
- Back in the dialog, click Verify. DNS changes can take a few minutes to propagate, so you may need to retry.
Once the DNS lookup returns the expected value, the status flips to a green Verified badge.
Pointing your domain at the platform
After the hostname is verified, a new Protocol row appears in the table showing the public IP address of the platform. To make the site reachable on your domain:
- Copy the public IP from the Protocol row (click it to copy).
- In your domain provider's DNS settings, create an A record for the hostname that points to that IP.
Your domain now resolves to the platform, and (once the environment is published) the site is live.
On a local development setup verification can't complete (there's no public DNS), so the hostname stays Not verified and the Protocol row with the public IP won't appear there. You'll see it on a real, verified production environment.
7. Deleting a site
Deleting a site is deliberately a multi‑step, reversible process protected by an email one‑time code.
- On Site Configuration, click Delete Site (requires
CDS). A caution appears: "CAUTION! DELETE WEBSITE — By confirming this action, this website and all related data will be deleted. This action cannot be undone." - Confirm. The platform emails a one‑time verification code (OTP) to your account email.
- Enter the code in the Confirm Action dialog and submit.
- The site is now scheduled for deletion. A banner shows the date it will be finalised — 3 days from today — e.g. "Site Deletion Scheduled! Deletion can be finalized on 30/06/2026, but admin may cancel this action until it is permanently processed." The site's status also changes on the dashboard.
Changing your mind
- Cancel Deletion — during the 3‑day window, click Cancel Deletion (on Site Configuration) to call off the scheduled deletion and restore the site.
- Delete Site Permanently — only after the planned date passes does a Delete Site Permanently button appear, which terminates the website and frees its storage for good.
8. Reference
Environments
| Environment | Typical use |
|---|---|
| Development | Active building / experimentation |
| Staging | Pre‑release testing |
| UAT | User‑acceptance testing |
| Authoring | Content authoring |
| Production | The live, public site |
Key fields & validation
| Field | Required | Notes |
|---|---|---|
| Site name | ✅ | — |
| Favicon | — | Path/URL to a .ico |
| Url prefix (per language) | ✅ | Validated pattern; e.g. en, ar |
| Default language | ✅ | Exactly one |
| Hostname (per environment) | ✅ | Valid URL/domain |
| Protected access | — | Per environment |
| Script Title / Environment / Script | ✅ | All three required per script |
9. Tips & common pitfalls
- A new site is inactive — remember to flip the publish toggle on the Sites list, and publish the environment in Site Configuration, before it's reachable.
- You can't save Basic Info without a default language — pick the default radio for one of your selected languages.
- The extra tabs (Environments / Scripts / Metadata) only show after the first save — save Basic Info first.
- Submit each tab separately — switching tabs doesn't save; watch for the "Discard changes" prompt.
- Domain verification needs a public domain + DNS access — it can't be completed on a local environment.
- Protected Access turns an environment into a login‑gated preview — handy for Development/Staging you don't want public.
- Deletion is reversible for 3 days — and requires an emailed OTP to start. If you change your mind, use Cancel Deletion before the planned date.
- Storage limits adding sites — if you're out of storage, free some (e.g. permanently delete an old site) before adding a new one.
Note: Deeper day‑to‑day site configuration (building pages, menus, etc.) lives in other modules and is covered in their own guides.