Skip to main content

SearchAtlas Brand Vault and Local Listing — Setup, Maintenance, and Validation

Overview

  • What: End-to-end procedure for populating, publishing, validating, and maintaining a client's two SearchAtlas data surfaces — the Brand Vault in the SearchAtlas dashboard (drives OTTO automation) and the Local Business / Schema Markup screen in the WordPress MetaSync plugin (injects JSON-LD into the client's site).
  • When:
    • Setup — once per client, during onboarding, after the per-client Brand Vault map is populated.
    • Refresh — whenever client identity / location / brand / authorship data changes (canon update, design-kit update, GBP verification, site cutover, etc.).
    • Drift check — quarterly, per review_schedule.
  • Who: SEO Operator. First-time setup may benefit from a CEO walkthrough.
  • Time Required: Initial setup ~2-3 hours per client. Refresh ~30 min. Drift check ~30 min.

Prerequisites

Before starting, confirm all of these are true:

  1. Per-client Brand Vault map exists at Client_Delivery/<slug>/brand-assets-master/<slug>-searchatlas-brand-vault.md. If absent, create it per the searchatlas-brand-vault-population working rule first.
  2. SearchAtlas dashboard access — log in at the SearchAtlas portal with an account that has Brand Vault edit permissions.
  3. WordPress admin access — admin role on both the client's WP staging and live sites. Confirm by visiting wp-admin and locating the Search Atlas menu in the left sidebar.
  4. MetaSync plugin installed and active on the client's WP site. The plugin name on WordPress.org is "MetaSync"; the WP admin menu label is "Search Atlas".
  5. OTTO One-Click Activation completed — SearchAtlas account connected to the WP site. Verify in WP admin under Search Atlas → Settings.
  6. GBP listing verified (recommended, not required) — Google Business Profile is verified and has a Place ID. Without GBP, Heat Map and Local SEO automation work is blocked, but BV + Schema Markup can still be populated.

If any prerequisite is missing, resolve it first or escalate to CEO before proceeding.

Scope

In scope:

  • Brand Vault tabs: Business Information (BV-BI), Locations (BV-LOC), Content (BV-CON), Knowledge Graph (BV-KG), Style Guide (BV-SG).
  • WordPress MetaSync plugin → Schema Markup screen: Organization schema and WebSite schema fields.
  • Refresh / re-validation cadence and drift detection.

Out of scope (separate SOPs):

  • OTTO content publishing (briefs, keyword targets, A/B tests).
  • Local SEO Heat Maps configuration.
  • Citation building across aggregators.
  • WordPress page-level schema (LocalBusiness, BreadcrumbList, Person, Product, Event, etc.) — those are configured in other plugin screens.
  • GBP optimization (categories, attributes, posts, Q&A) — covered by the Local SEO training material until a dedicated SOP exists.

Procedure

The procedure has six phases. For first-time setup, run Phases 1–5 in order. For refresh, run Phases 2–4 only for the changed fields. For quarterly drift check, run Phase 5 only.

Phase 1 — Initial connection and access verification (one-time per client)

1.1. Confirm WP admin access. Log into the client's WP admin. Confirm the Search Atlas menu appears in the left sidebar. If absent, install/activate MetaSync from WordPress.org and re-check.

1.2. Confirm SearchAtlas-WP connection. In WP admin go to Search Atlas → Settings. Confirm the connection shows the correct SearchAtlas account and project. If the connection is broken, reconnect via OTTO One-Click Activation.

1.3. Verify Brand Vault edit access. In the SearchAtlas dashboard, navigate to the client's project → Brand Vault. Confirm you can open each tab (Business Information, Locations, Content, Knowledge Graph, Style Guide) without permission errors.

1.4. Open the per-client Brand Vault map. Pull up Client_Delivery/<slug>/brand-assets-master/<slug>-searchatlas-brand-vault.md in a side window — this is the source of truth that drives both surfaces. Treat the map as authoritative; never paste values directly from the client profile, design kit, or website into the dashboards. If a value is missing from the map, fix the map first, then proceed.

1.5. Note blocked fields. Read §7 of the map. Any field marked <BLOCKED — …> should be left blank in both surfaces. Do not attempt to fill blocks via SearchAtlas "Autofill with AI" — block + owner is the correct state until the named owner resolves it.

Phase 2 — Populate Brand Vault (SearchAtlas dashboard)

Walk each tab in order. The map's §1–§5 mirror the tabs.

2.1. BV-BI (Business Information) — paste-ready values are in map §1.

  • Business name, Trading/DBA name, Canonical website URL, Primary phone (E.164), Primary email, Business language, Number of employees, Contact type for primary phone.
  • SERPs / Competitors Location, What makes the business unique (paste §1.2), How should the brand be perceived (paste §1.3), How does the business make money (paste §1.4).
  • TAX ID, VAT ID (blank for US-only clients with no VAT registration), ISO 6523 Code.
  • Brand description — paste §1.1 verbatim into the Description field (multi-paragraph, up to 20,000 chars).
  • Click Save before moving to next tab.

2.2. BV-LOC (Locations) — values in map §2.

  • Add the main address as a structured address (street, suite, city, state, postal, country); flag as "Main address".
  • Add additional locations only if listed in the map.
  • Set per-location operating hours and Google Place ID if available; leave blank if blocked.
  • Critical: Per the Local SEO ranking research, never change the business name once a GBP listing is verified — it triggers Google re-verification. The same logic applies to address and phone changes. Coordinate any change with the client and document the change rationale.

2.3. BV-CON (Content) — values in map §3.

  • Website purpose, Act as persona, Search intent mix (multi-select), Tone of voice (comma-separated adjectives), Point of view, Content intent (paste §3.1), Default content length (Short/Medium/Long), Writing toggles (4 booleans).
  • This tab is the most subjective; tone-of-voice and content-intent values directly steer OTTO-generated content. Verify each value matches the map character-for-character (autofill drift is a known risk here).

2.4. BV-KG (Knowledge Graph / Authorship) — values in map §4.

  • Author first name + last name (per byline; if multi-author, pick the default author).
  • Top brand-representative pages (3–10 entity URLs from §4.1). Do not list blog posts, contact pages, /thank-you, /robots.txt, /sitemap.xml.
  • Social profile URLs (§4.2): Facebook, X/Twitter, LinkedIn, Instagram, YouTube, etc. One per line in the textarea — commas break the field.

2.5. BV-SG (Style Guide / Visual Identity) — values in map §5.

  • Upload logo (transparent PNG or SVG, high-resolution).
  • Upload favicon (generate from primary logo at 32×32 + 192×192 if not in the brand-assets-master folder).
  • Set brand primary / secondary / accent colors (hex from map §5).
  • Set brand typography (headlines, body, accent fonts).
  • Add brand photo library if the brand-assets-master folder has curated photos.

2.6. Save each tab and verify completion. Each tab should show 100% completion (or any remaining blanks should be intentionally blocked per map §7).

Phase 3 — Populate WP plugin Schema Markup (Local Listing surface)

The MetaSync plugin's Schema Markup screen is a separate configuration from Brand Vault. Both surfaces must be populated independently — Brand Vault drives OTTO; Schema Markup writes JSON-LD into the site HTML for crawlers that don't wait on OTTO's render buffer. See SearchAtlas WP Plugin: Schema Markup Reference.

Location in WP admin: Search Atlas → Schema Markup.

3.1. Organization schema (injected on every page). Map §6 has paste-ready values.

  • Organization Name → must match BV-BI Business name.
  • Organization URL → must match BV-BI Canonical website URL.
  • Organization Logo URL → upload the logo to the WP Media Library first; paste the resulting HTTPS URL here. Logo URL must resolve with HTTP 200.
  • Contact Telephone → must match BV-BI Primary phone (E.164 recommended).
  • Contact Type → schema.org enum (customer support, sales, billing support, technical support, bill payment, reservations). Default customer support.
  • Social Profile URLs → one URL per line; lift from BV-KG §4.2. Commas break the textarea.

3.2. WebSite schema (injected on the homepage only). Map §6 has values.

  • WebSite Name → typically matches Organization Name unless intentionally distinct.
  • WebSite URL → match Organization URL.
  • Enable Sitelinks Searchbox → only check if the site has a real ?s= search endpoint. Verify with curl https://<client-domain>/?s=test — should return HTTP 200 and <body class="search search-results …">. If the site doesn't have search, leave unchecked.

3.3. MetaSync interaction settings.

  • Override WooCommerce Product Schema → leave unchecked unless WooCommerce's native schema is broken or incomplete. For non-WooCommerce sites this setting is moot.

3.4. Save and verify. Click Save on each section. The screen should show all required fields populated.

Phase 4 — Cross-surface consistency check

After both Phase 2 and Phase 3, run these checks:

CheckWhat it confirms
view-source:https://<client-domain>/ shows both Organization and WebSite JSON-LD blocksSchema Markup is actually being injected
Google Rich Results Test on the homepage passes for both Organization and WebSite (no warnings)Schema is valid and Google can parse it
Rich Results Test on a deep page still shows OrganizationOrganization injection is site-wide
Logo URL resolves with HTTPS + HTTP 200 (curl -I <logo-url>)Logo asset is reachable
Each sameAs URL in rendered JSON-LD resolves with HTTP 200Social profile links aren't broken
Business name: BV-BI == WP-ORG Organization Name == WP-SITE WebSite NameIdentity parity across surfaces
URL: BV-BI == WP-ORG Organization URL == WP-SITE WebSite URLURL parity
Phone: BV-BI == WP-ORG Contact TelephonePhone parity
Social URLs: BV-KG list == WP-ORG sameAs array (line-for-line)Social parity

If any check fails, fix at the source (the BV map first, then both surfaces). Never fix in a single surface without back-propagating to the map.

Phase 5 — Validate against the per-client BV map

This phase formalizes the validation pass — it's how a per-client map moves from status: draft to status: validated.

5.1. Walk Brand Vault tab-by-tab against map §1–§5. For each populated field in the map:

  • If dashboard value matches map → mentally mark "OK"
  • If dashboard value differs → either (a) update dashboard to match map (if dashboard is wrong), or (b) update map to match dashboard (if dashboard reflects a deliberate change made elsewhere). Note the rationale.

5.2. Walk Schema Markup screen against map §6. Same logic.

5.3. Run the Phase 4 cross-surface checks if not already done.

5.4. Append a row to §12 Validation log of the per-client map. Format:

| date       | operator | surfaces       | outcome                       | notes                                        |
|------------|----------|----------------|-------------------------------|----------------------------------------------|
| 2026-05-28 | Tanu | BV + WP | OK | All fields match; no discrepancies |
| 2026-05-28 | Tanu | BV-CON | discrepancies fixed in BV | Tone-of-voice had drift to autofill default |
| 2026-05-28 | Tanu | BV-KG | discrepancies flagged | Top pages list shows /blog URLs (need fix) |

5.5. Promote map status: draftstatus: validated only if outcome is OK or discrepancies-fixed. If discrepancies were flagged for someone else to resolve, leave status as draft and capture the open items in §7 (Blocked fields).

5.6. Bump map version. Patch bump for validation-only (e.g., 0.1 → 0.2); minor bump if validation surfaced new content or restructuring.

Phase 6 — Ongoing refresh

Triggers that warrant re-running Phases 2–4 for affected fields:

TriggerRe-run for
Client profile change (new phone, address, social URL)BV-BI, BV-LOC, BV-KG, Schema Markup as applicable
Design kit change (colors, fonts, logo)BV-SG, Schema Markup Organization Logo
New social profile activated or retiredBV-KG §4.2, Schema Markup sameAs
GBP verification completes (Place ID becomes available)BV-LOC Place ID + coords
Brand canon document update (positioning, voice, audience)BV-BI §§1.1–1.4, BV-CON
Site cutover / domain changeAll URL fields, especially BV-KG top pages
Quarterly drift check (no specific trigger)Phase 5 only

After any refresh, append a §12 Validation log row capturing what was refreshed.

Verification

The SOP is complete for a given client when:

  • The per-client BV map has status: validated (or status: draft with explicitly tracked blocks)
  • Both Brand Vault tabs and the WP Schema Markup screen show all required fields populated
  • Phase 4 cross-surface checks all pass
  • Map §12 Validation log has at least one row with outcome: OK (or discrepancies fixed) from the current operator
  • ClickUp ticket (if one was opened for the work) has a comment per BV tab + per WP surface

For ongoing operation, a SearchAtlas project is healthy when:

  • The map's last_updated and last §12 Validation log entry are within the past 90 days (or the most recent client/canon change, whichever is more recent)
  • No Google Rich Results Test warnings on the homepage or a representative deep page
  • Logo URL responds with HTTP 200

Troubleshooting

SymptomLikely causeFix
Brand Vault tab shows < 100% completion despite all map fields populatedHidden "Show more" fields in BV-BI (SERPs location, TAX ID, etc.) not populatedClick "Show more" on BV-BI; populate per map §1; tabs other than BI may have analogous hidden sections (audit ticket open)
Autofill with AI overwrites operator-entered valuesSearchAtlas autofill ran after manual saveRe-populate manually from the map; never click Autofill on a tab you've already populated
Schema Markup screen shows fields blank despite OTTO One-Click Activation completedOne-Click only imports plugin/branding settings, not Schema Markup fieldsPopulate Schema Markup manually per Phase 3 — this is expected behavior
Rich Results Test shows duplicate Organization schemaAnother SEO plugin (Yoast, Rank Math, AIOSEO) is also emitting OrganizationConfigure conflict handler at Search Atlas → Settings → Compatibility to decide which plugin wins; or disable the other plugin's Organization schema
Logo URL returns 404Logo file deleted or media library URL changedRe-upload logo to WP Media Library; update WP-ORG and BV-SG with new URL
sameAs URL returns 404Social profile was deactivated / username changedUpdate map §4.2 first, then re-paste into both surfaces; remove dead URLs entirely rather than leaving a broken sameAs
Sitelinks Searchbox not appearing in Google despite checkbox enabled?s= endpoint doesn't actually resolveVerify curl https://<domain>/?s=test returns HTTP 200 with search-results body; if not, fix the site search before re-enabling
Map shows status: validated but Phase 4 checks failMap was promoted prematurely or surface drifted post-validationDemote to status: draft, fix the drift, re-validate, log a new §12 row

Inputs / sources

Rules / standards

Adjacent SOPs (out of scope here)

  • Local SEO Training material at 06-team-training/platform-training/searchatlas/local-seo.md — Heat Maps, GBP optimization, citations (training, not yet SOP-ified)

Appendix: Per-tab Brand Vault field map

Quick reference — which map section feeds which Brand Vault tab.

Brand Vault tabMap sectionPasted-text sub-sections
Business Information (BV-BI)§1§1.1 Brand description · §1.2 What makes unique · §1.3 How perceived · §1.4 How makes money
Locations (BV-LOC)§2(no paste-text sub-sections)
Content (BV-CON)§3§3.1 Content intent
Knowledge Graph (BV-KG)§4§4.1 Top brand pages · §4.2 Social profile URLs
Style Guide (BV-SG)§5(no paste-text sub-sections)
WP Schema Markup (Local Listing)§6(mirrors §1 + §5 + §4.2; not a separate paste)

Revision History

DateVersionChangeAuthor
2026-06-090.2De-named roles per the SOP Standard "Reference roles, not individuals" rule (issue #60): the operator is now "SEO Operator" (dropped the inline current-holder name). Validation-log rows left as historical record.Symphony Core Systems Team
2026-05-260.1Initial draft. Six-phase procedure covering Brand Vault + WP Local Business / Schema Markup setup, refresh, and validation. Promotes per-client map from draft to validated via §12 Validation log convention. Out-of-scope: OTTO content publishing, Heat Maps, citation building, GBP optimization.Symphony Core Systems Team