SearchAtlas Brand Vault Population SOP
Overview
- What: Populate a client's SearchAtlas Brand Vault (5 tabs: Business Information, Locations, Content, Knowledge Graph, Style Guide) plus the WordPress plugin Schema Markup, from the client's existing profile and brand documentation. Produces a paste-ready per-client populated YAML and verifies cross-surface consistency.
- When: After
seo-one-time-setup.mdcompletes (SearchAtlas project must already exist). Required for Professional and Enterprise plan clients; optional for Starter/Growth. - Who: Onboarding specialist (or delegated AI agent per §3 step 4). Final review by Implementation Lead.
- Time Required: 30–45 minutes per client once
<slug>-client-profile.mdis populated. Plus 10–15 minutes of dashboard save work.
Prerequisites
- Client's SearchAtlas project exists (from
seo-one-time-setup.md). 09-clients/<slug>/<slug>-client-profile.mdis populated to v3.3+ structure, including the SearchAtlas / SEO Inputs section.- Client brand kit assets uploaded to client WordPress media library (logo + favicon URLs accessible).
- Google Business Profile listing exists OR a service-area-business decision has been made and documented in the client profile.
- Access to the SearchAtlas agency dashboard with the client's project visible.
- Access to the client's WordPress admin (for the WP plugin Schema Markup screen).
- Familiarity with the SearchAtlas intake spec at
reference-docs/docs/searchatlas/searchatlas-client-data-intake.mdv1.0.
Procedure
1. Open the per-client Brand Vault doc
Copy the template to the client folder:
cp 04-operations/templates/client-searchatlas-brand-vault-template.md \
09-clients/<slug>/<slug>-searchatlas-brand-vault.md
Replace {{CLIENT_SLUG}}, {{CLIENT_DISPLAY_NAME}}, {{CLIENT_DOMAIN}} placeholders at the top of the file. Update the inner frontmatter (title, author, last_updated).
2. Populate from the client profile per the field-mapping table
Open 09-clients/<slug>/<slug>-client-profile.md and walk every section of the per-client Brand Vault doc, filling each <TBD> from the named source row. Reference the field-mapping table below (§Field-mapping reference) — it shows which client-profile row feeds which SearchAtlas field.
Rules:
- Never invent. If a field has no source in the profile, leave it as
<TBD>and add it to the §7 Blocked list with a named owner and resolution path. - Cite the source. Each populated cell in §§1–6 of the per-client doc must name the client-profile section it came from (the template's "Source" column).
- Don't paraphrase. Lift tone-of-voice, brand description, content intent verbatim from the profile where possible. The SearchAtlas OTTO engine consumes these literally.
3. Resolve gaps using the canon fallbacks (only where the profile is silent)
For BV-CON fields that are commonly under-populated in client profiles, fall back to canon defaults — never invent client-specific values.
| BV-CON field | Fallback source if profile silent |
|---|---|
| Search intent mix | 02-marketing-brand/brand/sc-market-segmentation.md §2 — pull the per-vertical default for this client's vertical |
| Point of view | Default Second person for service businesses |
| Default content length | Default Medium |
| Writing toggles | Defaults: generate_meta_data: true, bold_focus_terms: true, generate_images: false, include_author_byline: true |
| Tone of voice (only if Brand Voice section is empty) | Vertical default from 02-marketing-brand/brand/sc-buyer-personas.md persona for the client's vertical/geography |
Document every fallback used in the per-client doc's §7 Blocked list so the client can confirm/override on review.
4. Hand off to the SearchAtlas onboarding agent for verification and dashboard save
The actual dashboard population (saving values into SearchAtlas Brand Vault tabs + the WP plugin Schema Markup screen) is delegated to the SearchAtlas Onboarding Agent prompt (reference-docs/docs/searchatlas/searchatlas-onboarding-agent-prompt.md) — paste that prompt to the agent along with:
- A link to the populated
09-clients/<slug>/<slug>-searchatlas-brand-vault.md - A link to the client profile
09-clients/<slug>/<slug>-client-profile.md - The client's SearchAtlas project ID and WordPress admin URL
- The current state of the §7 Blocked list (so the agent knows what to skip vs. flag)
The agent runs the dashboard-side work per its own prompt. This SOP's responsibility ends at producing the populated doc and the handoff package.
5. Run the verification checklist
The agent (or operator) confirms each item in §9 of the populated per-client doc, then re-stamps:
status: draft → activeonce verification passeslast_updatedto today's dateversionto1.0
If verification fails on any item, do not promote to active. Return to step 2 (re-populate the failing fields) or step 3 (resolve blocked items) before re-running verification.
6. Write back to the client's ClickUp task
Post a brief completion summary on the client's onboarding ClickUp task:
- Link to the populated per-client doc
- Count of resolved vs. blocked fields
- Date of dashboard save
- Date of Verification §9 pass
Verification
After this SOP completes successfully:
09-clients/<slug>/<slug>-searchatlas-brand-vault.mdexists withstatus: active,version: 1.0, every §§1–6 cell populated or explicitly blocked with named owner.- All 39 fields in the populated YAML (§8 of the per-client doc) either have a real value or
nullwith a blocked-field entry. - SearchAtlas dashboard shows 100% completion on Brand Vault tabs BI / LOC / CON / KG / SG (or every remaining blank is in the blocked list with a documented reason).
- WordPress plugin Schema Markup screen has Organization + WebSite blocks populated.
- Google Rich Results Test on the client homepage returns Organization + WebSite with no warnings.
- Cross-surface consistency check passes: business name, URL, phone, logo, social URLs all match across Brand Vault, WP Schema, GBP listing, and Facebook page.
- The client's ClickUp onboarding task carries an evidence link to the populated doc per validation-evidence-rule.
Field-mapping reference
Compact map showing where each SearchAtlas intake field reads from. Full intake spec at reference-docs/docs/searchatlas/searchatlas-client-data-intake.md §"Required Client Inputs."
| SearchAtlas field | Tab | Client-profile source |
|---|---|---|
| Business name | BV-BI | Location Information → Location Name |
| Website URL | BV-BI | Project Management → Primary Website Domain |
| Brand description | BV-BI | SearchAtlas/SEO Inputs → brand-description |
| Primary phone | BV-BI | Service Configuration → Auth Rep Phone |
| Primary email | BV-BI | Service Configuration → Website Contact Email |
| Business language | BV-BI | SearchAtlas/SEO Inputs → business-language |
| Number of employees | BV-BI | SearchAtlas/SEO Inputs → number-of-employees |
| Contact type | BV-BI | SearchAtlas/SEO Inputs → contact-type |
| SERPs / Competitors Location | BV-BI | SearchAtlas/SEO Inputs → serps-competitors-location |
| What makes the business unique? | BV-BI | SearchAtlas/SEO Inputs → business-unique-statement |
| How should the brand be perceived? | BV-BI | SearchAtlas/SEO Inputs → brand-perception-statement |
| How does the business make money? | BV-BI | SearchAtlas/SEO Inputs → revenue-model-statement |
| TAX ID | BV-BI | SearchAtlas/SEO Inputs → tax-id |
| VAT ID | BV-BI | SearchAtlas/SEO Inputs → vat-id (blank for US-only clients without VAT registration) |
| ISO 6523 Code | BV-BI | SearchAtlas/SEO Inputs → iso-6523-code |
| Main address | BV-LOC | General Business Details (address, city, state, postal-code, country) |
| Additional locations | BV-LOC | (multi-location only — capture in profile narrative if needed) |
| Operating hours | BV-LOC | SearchAtlas/SEO Inputs → operating-hours-per-location |
| Google Place ID | BV-LOC | Social & Directory Profiles → google-place-id |
| Coordinates | BV-LOC | Derive from Place ID; optional |
| Website purpose | BV-CON | SearchAtlas/SEO Inputs → website-purpose |
| Act as who? | BV-CON | SearchAtlas/SEO Inputs → act-as-who |
| Search intent mix | BV-CON | SearchAtlas/SEO Inputs → search-intent-mix (fallback: segmentation §2) |
| Tone of voice | BV-CON | Brand Voice & Positioning → Tone of Voice |
| Point of view | BV-CON | SearchAtlas/SEO Inputs → point-of-view (default Second person) |
| Content intent | BV-CON | SearchAtlas/SEO Inputs → content-intent |
| Default content length | BV-CON | SearchAtlas/SEO Inputs → default-content-length (default Medium) |
| Writing toggles | BV-CON | SearchAtlas/SEO Inputs → writing-toggles |
| Author first name | BV-KG | SearchAtlas/SEO Inputs → author-first-name (defaults to primary-contact-first) |
| Author last name | BV-KG | SearchAtlas/SEO Inputs → author-last-name |
| Top brand pages | BV-KG | SearchAtlas/SEO Inputs → top-brand-pages (pull from GSC; refine by hand) |
| Facebook URL | BV-KG (social) | Social & Directory Profiles → facebook-url |
| LinkedIn URL | BV-KG (social) | Social & Directory Profiles → linkedin-url |
| Instagram URL | BV-KG (social) | Social & Directory Profiles → instagram-url |
| X / Twitter URL | BV-KG (social) | Social & Directory Profiles → twitter-url |
| YouTube URL | BV-KG (social) | Social & Directory Profiles → youtube-url |
| TikTok URL | BV-KG (social) | Social & Directory Profiles → tiktok-url |
| Pinterest URL | BV-KG (social) | Social & Directory Profiles → pinterest-url |
| Threads URL | BV-KG (social) | Social & Directory Profiles → threads-url |
| Logo | BV-SG | Brand Design System → Logos (after WP media library upload) |
| Favicon | BV-SG | SearchAtlas/SEO Inputs → favicon-url |
| Photo library | BV-SG | (optional — populate if client provides) |
| Brand colors | BV-SG | Brand Design System → Colors |
| Brand typography | BV-SG | Brand Design System → Typography |
| Enable Sitelinks Searchbox | WP plugin | SearchAtlas/SEO Inputs → enable-sitelinks-searchbox |
| Override WooCommerce schema | WP plugin | SearchAtlas/SEO Inputs → override-woocommerce-schema |
Related Documents
- Per-client template — the template this SOP populates
- Client Profile Template v3.3+ — the primary source of values
- One-Time SEO Setup — upstream SOP; SearchAtlas project must exist first
- SC SearchAtlas Brand Vault (working example) — Symphony Core's own populated Brand Vault, used as the reference shape
- SC Market Segmentation §2 — per-vertical search intent mix defaults
- SearchAtlas Onboarding Agent Prompt —
reference-docs/docs/searchatlas/searchatlas-onboarding-agent-prompt.md(the AI-facing prompt invoked from step 4) - SearchAtlas Client Data Intake spec —
reference-docs/docs/searchatlas/searchatlas-client-data-intake.md(full field-level spec) - SC SOP Standard — frontmatter + structure conformance