# First run

The installer creates the database schema and the first administrator. Everything below is what you should do **before** inviting anyone in. Each step names the admin page that owns it.

Throughout this page `/admin` stands for whatever administrator path you configured. If you changed it to `/w-admin`, use that.

## 1. Sign in and confirm the version

Open `/admin`. The **Overview** page shows the running version, pending migrations, and a System Health panel. If it reports a pending database upgrade, run it now — see [Upgrade](UPGRADE.md).

## 2. Set the site identity

**Settings → General.**

| Setting | Why it matters immediately |
|---|---|
| Site name | Appears in page titles, email From names, and structured data |
| Site description | Default meta description for pages without their own |
| Default locale | The language a first-time visitor sees |
| Language mode | `single` hides the switcher and per-question language entirely; `multilingual` exposes both |
| Timezone | All displayed timestamps |

See [Site settings](../03-configuration/SITE-SETTINGS.md) for the full list.

## 3. Configure email before anything else

**Settings → Mail.** On shared hosting, PHP `mail()` frequently fails silently. A password reset that never arrives locks you out of your own site.

Set the transport to SMTP, fill in host, port, encryption, username and password, then use **Send test email** and read the staged result (configuration → host → TCP → TLS → AUTH → send). Do not skip the test.

Details: [SMTP and email](../03-configuration/SMTP-EMAIL.md). Host-specific walkthroughs: [cPanel](../09-recipes/SMTP-CPANEL.md), [STARTTLS 587](../09-recipes/SMTP-STARTTLS-587.md), [SSL 465](../09-recipes/SMTP-SSL-465.md).

## 4. Decide your content policy

**Settings → Community.**

- **Question moderation** — whether new questions are published immediately or held pending review. Holding them is the safer default for a public site.
- **Comments enabled** — turns comments on questions, answers and topics on or off globally.
- **Follows enabled** — turns question/topic/category/tag following on or off.
- **Duplicate suggestions** — shows similar existing questions while someone writes a new one.
- **Spam thresholds** — the score at which content is held for moderation, and the score at which it is rejected.

See [Anti-spam](../03-configuration/ANTI-SPAM.md) before lowering the reject threshold. Rejecting on a single signal produces false positives on legitimate Arabic and English posts.

## 5. Create the taxonomy

**Content → Categories** and **Content → Tags.** A question needs somewhere to live. Create the handful of categories your community actually needs; do not pre-build a tree you cannot fill.

Each category and tag carries its own SEO title, description and index policy. See [Categories and tags](../02-administration/CATEGORIES-TAGS.md).

## 6. Check appearance and navigation

**Appearance → Branding / Palette / Typography** for colours, fonts, logo and favicon. **Appearance → Layout** for the home, question, topic and header presets. **Appearance → Profiles** to save the result as a named theme profile you can roll back to.

**Appearance → Menus** manages navigation. **Appearance → Widgets** fills the nine page regions.

See [Themes overview](../04-themes/THEMES-OVERVIEW.md) and [Menus and widgets](../02-administration/MENUS-WIDGETS.md).

## 7. Seed enough content to be useful

An empty Q&A site gives a first visitor nothing to read and nothing to model their own question on.

**Content → Editorial** creates non-login editorial personas and publishes opening questions, answers and topics under them. Editorial personas cannot sign in, are technically distinguishable from real members, and never generate fake views, votes or followers.

See [Editorial seed content](../02-administration/EDITORIAL-SEED.md).

## 8. Verify SEO and indexing

**Settings → SEO.**

- Confirm the canonical origin matches the domain you will actually serve.
- Choose the robots mode. Keep the site `noindex` while you seed content, then switch it.
- Confirm `/sitemap.xml` loads and lists only public content.

See [SEO](../03-configuration/SEO.md) and [Sitemap pipeline](../07-internals/SITEMAP-PIPELINE.md).

## 9. Run the diagnostics

**System → Diagnostics**, or `php bin/doctor.php` if you have shell access. Fix anything reported as failing before opening registration.

See [Diagnostics](../08-operations/DIAGNOSTICS.md).

## 10. Take the first backup

Before any real content exists, rehearse the backup and restore procedure once. A backup you have never restored is a hypothesis.

See [Backup and restore](BACKUP-RESTORE.md).

## Checklist

- [ ] Admin sign-in works and the version is correct
- [ ] Site name, description, locale, language mode and timezone set
- [ ] SMTP configured **and the test email received**
- [ ] Moderation and spam policy decided
- [ ] Categories created
- [ ] Appearance and menus configured
- [ ] Some real content published
- [ ] SEO settings and sitemap verified
- [ ] Diagnostics clean
- [ ] Backup taken and restore rehearsed
