# Editorial seed content

A brand-new Q&A site has a chicken-and-egg problem: nobody asks a question where no question has been answered. Editorial seeding solves it **honestly** — with house content published under transparent house identities, not with fake users and fabricated engagement.

## Editorial personas

**Content → Editorial → Create editorial persona** creates an account with `account_type = editorial` and `login_disabled = 1`.

An editorial persona:

- **cannot sign in**, even if a password hash exists — the check runs during authentication
- is **excluded from member-growth statistics**
- has a `noindex` profile by default
- records which administrator created it (`created_by_admin_id`)

You never have to share a password for a persona account, because there is no password to share.

## Publishing seed content

**Content → Editorial → Add seed content** publishes a question, an answer, or a topic under a chosen persona. The form validates the type, title, body, locale, category, tags and persona, and reports each problem with a translated message.

## Bulk import

Import accepts CSV or JSON in a two-phase flow:

1. **Preview / dry run** — the file is parsed and validated with nothing written. The summary reports new rows, duplicates, invalid rows, and unknown categories, tags or personas.
2. **Import** — only the rows that passed validation are written, transactionally per batch.

A bad row is reported and skipped. It never corrupts the rows around it.

Duplicate detection runs before import, so re-running the same file does not produce a second copy of the same content.

## What seeding will never do

These are hard rules in the code, not conventions:

- **No fabricated engagement.** No generated views, votes, likes, followers or reply counts.
- **No deceptive backdating.** Seed content is not aged to simulate a history the site does not have.
- **No pretending to be an independent user.** An editorial persona is a house identity and is technically distinguishable from a real member; its topics emit an ordinary page schema rather than `DiscussionForumPosting`.

Seeding makes a site *useful* on day one. It does not make it *look popular* on day one. Those are different things, and only the first one survives contact with an audience.

## Practical advice

- Seed answers to questions people genuinely ask. Read your own support inbox.
- Give personas plausible, honest descriptions — an editorial team name beats a fake human backstory.
- Once real members arrive, stop seeding. Seed content is scaffolding.
