DEV Community

Joseph Anady
Joseph Anady

Posted on • Originally published at thatdevpro.com

Client Onboarding

Originally published at thatdevpro.com. This framework reference is part of the 14-tier Engine Optimization stack from ThatDevPro, an SDVOSB-certified veteran-owned web + AI engineering studio. You are reading the dev.to mirror; the source-of-truth canonical version with embedded validation tools lives at the link above.

The Canonical 2026 Reference for the First 30 Days of an SEO, AEO, AIO, and GEO Engagement

A comprehensive operational reference for client onboarding across the four pillars of search visibility. The first 30 days of an engagement set the trajectory for everything that follows. Strong onboarding builds trust, captures every intake variable, provisions every credential, aligns expectations, baselines current state, and produces the initial deliverable bundle that defines the next 90 days of work. This document specifies the systematic intake, baseline establishment, access setup, expectation alignment, deliverable cadence, and Bubbles hosted onboarding stack that turns a signed contract into a productive engagement.

Cross stack implementation note: code samples in this framework are written in bash and markdown for clarity. For React, Vue, Svelte, Next.js, Nuxt, SvelteKit, Astro, Hugo, 11ty, Remix, WordPress, Shopify, and Webflow equivalents of any page patterns referenced, see framework-cross-stack-implementation.md.


1. Document Purpose

1.1 What This Document Is

The first 30 days of an SEO engagement disproportionately determine the engagement's success. A client who experiences a structured, calm, evidence based intake develops trust that survives the inevitable months three through six where ranking and citation gains lag behind effort. A client who experiences scattered access requests and ambiguous deliverable timelines develops doubt no amount of later work fully repairs.

This framework specifies the systematic onboarding process that produces, by the end of day 30, a complete intake bundle, every required access verified, an aligned 90 day roadmap, the initial audit deliverable, the reporting cadence, the communication protocol, and the brand voice baseline. Deliverables are documented in Section 13. Execution sequence in Sections 2 through 12. Self hosted infrastructure in Section 14.

1.2 Why Onboarding Is the Highest Leverage Phase

Three structural reasons. First, onboarding compounds; every variable captured and credential provisioned removes a future friction point. Second, onboarding is when trust is built; the client is most attentive in week one and demonstrating process discipline early earns room to do unglamorous foundational work in weeks four through twelve. Third, onboarding produces the artifacts every later deliverable references. The intake yaml is read by every framework. The 90 day roadmap is referenced in every monthly report. The brand voice baseline gates every content brief. Onboarding is the integration point.

1.3 The Onboarding Operating Model

Onboarding runs as a 30 day project with weekly checkpoints. The client is the project sponsor. The agency lead is the project manager. Default cadence: kickoff call within 5 business days of contract signature, intake form returned within 10 days, access provisioned within 14 days, initial audit delivered within 21 days, strategy presentation and roadmap within 28 days, communication and reporting cadence live by day 30.

1.4 Three Operating Modes

Mode A, Standard Onboarding, 28 to 35 days. Default for most paid client engagements at Tier 2 and Tier 3. Output: full deliverable bundle from Section 13.

Mode B, Express Onboarding, 14 to 21 days. For clients with simple sites, fast decision cycles, existing analytics. Output: streamlined bundle with the audit run as Mode A Light per framework-initialaudit.md Section 1.4.

Mode C, Enterprise Onboarding, 45 to 90 days. For complex engagements, multiple stakeholders, multi region or multi brand sites, or formal procurement processes. Output: full bundle plus stakeholder mapping, change management documentation, and SLA agreement.

This framework specifies Standard. Express is a subset; Enterprise extends with additional governance.

1.5 Required Inputs

A signed contract and received deposit are prerequisites. Onboarding does not begin before both are confirmed. Before kickoff, the agency confirms the primary contact has authority to grant access, the client has identified internal stakeholders, and a kickoff time is scheduled.


2. Client Variables Intake

The intake captures every variable across the 14 tiers of the engine optimization stack, plus the engagement specific commercial and operational variables. Stored at /var/www/sites/[domain]/onboarding/intake.yaml and at /home/user/clients/[clientname]/intake.yaml.

# CLIENT ONBOARDING FRAMEWORK INTAKE

# --- Business Identity (REQUIRED) ---
business_legal_name: ""
business_dbas: []
primary_brand_name: ""
year_established: 0
business_address: ""                 # full street, city, state, postal, country
phone_primary: ""
email_general: ""
email_sales: ""
email_billing: ""
website_primary_domain: ""
website_secondary_domains: []
industry_vertical: ""
ymyl_classification: ""              # full_ymyl, partial_ymyl, lite_ymyl, non_ymyl
business_model: ""                   # b2b, b2c, marketplace, publisher, saas, local_service
geographic_focus: ""                 # local, regional, national, multi_national
service_areas: []
single_or_multi_location: ""
employee_count: 0
annual_revenue_band: ""
average_deal_size: 0
sales_cycle_days_average: 0

# --- Decision Makers and Stakeholders (REQUIRED) ---
primary_point_of_contact_name: ""
primary_point_of_contact_email: ""
primary_point_of_contact_phone: ""
decision_maker_strategy: ""
decision_maker_content: ""
decision_maker_technical: ""
decision_maker_budget: ""
internal_marketing_lead: ""
internal_dev_lead: ""
billing_contact: ""
escalation_contact: ""

# --- Current State Baseline ---
current_seo_partner_if_any: ""
prior_seo_efforts_and_results: ""
current_monthly_organic_sessions: 0
current_monthly_organic_conversions: 0
current_monthly_branded_searches: 0
current_local_pack_position_primary_term: 0
current_referring_domains: 0
current_domain_rating: 0
known_manual_actions: false
known_security_issues: false

# --- Goals and Definition of Success ---
goal_6_month_specific: ""
goal_12_month_specific: ""
primary_kpi_1: ""
primary_kpi_2: ""
primary_kpi_3: ""
revenue_target_attached_to_seo: 0

# --- Constraints and Brand ---
budget_band: ""
hours_per_month_contracted: 0
topics_to_avoid: []
brand_sensitivities: []
compliance_requirements: []          # HIPAA, FINRA, GDPR, CCPA, etc

# --- Brand Voice Baseline ---
brand_voice_descriptor: ""           # see framework-brandvoice.md
brand_personality_words: []
brand_tone_words: []
do_not_say_list: []
audience_addressed_as: ""            # you, we, they, formal third person

# --- Competitive Set ---
direct_competitors: []               # list of 3 to 5 URLs
aspirational_competitors: []         # list of 1 to 2 URLs

# --- Technical Stack ---
hosting_provider: ""
hosting_type: ""                     # shared, vps, dedicated, cloud, self_hosted
dns_registrar: ""
ssl_certificate_provider: ""
cdn_or_proxy_in_use: ""              # nginx_direct, none; agency policy is no third party CDN or proxy
cms_platform: ""
cms_version: ""
custom_dev_stack: []                 # next, hugo, astro, react, etc
deployment_pipeline: ""
staging_environment_exists: false

# --- Production Teams ---
content_owned_by_client_or_agency: ""
internal_writer_count: 0
editorial_calendar_exists: false
average_publish_cadence_per_month: 0
design_owned_by_client_or_agency: ""
brand_asset_library_exists: false
brand_asset_storage_location: ""
dev_owned_by_client_or_agency: ""
internal_developer_count: 0
sprint_cadence: ""
ticket_system_in_use: ""             # jira, linear, github_issues, plane, vikunja

# --- Paid Media and Channels ---
paid_search_active: false
paid_search_monthly_spend: 0
paid_social_active: false
paid_social_monthly_spend: 0
attribution_model_in_use: ""

# --- Social Media ---
facebook_page_url: ""
facebook_page_id: ""
instagram_handle: ""
linkedin_company_url: ""
twitter_or_x_handle: ""
youtube_channel_url: ""

# --- Email and CRM ---
email_platform: ""
email_list_size: 0
crm_platform: ""
crm_lead_source_tagging: false
crm_revenue_attribution: false

# --- Analytics and Search Properties ---
ga4_property_id: ""
gsc_verified: false
bing_webmaster_verified: false
bigquery_export_enabled: false
consent_mode_v2_implemented: false
gtm_container_id: ""

# --- Google Business Profile ---
gbp_claimed: false
gbp_cid: ""
gbp_primary_category: ""
gbp_review_count_total: 0
gbp_review_average_rating: 0

# --- Reputation and Listening ---
review_platforms_monitored: []
social_listening_tool: ""

# --- Engagement Variables ---
contract_start_date: ""
contract_end_date: ""
engagement_tier: ""
monthly_retainer_dollars: 0
hours_per_month: 0
billing_cycle: ""
payment_method: ""
Enter fullscreen mode Exit fullscreen mode

The intake is collected over three sessions: a kickoff call where the agency walks the client through the form live, a follow up call within 7 business days for gaps, and a written addendum capturing anything raised after kickoff. The intake is locked on day 14; additions after are tracked as version stamped addenda.

A common failure mode is treating the intake as a one shot form. The form is the structure; the conversation is the substance. Walk through the form on a call, transcribe answers in real time. Most clients fill 60 to 70 percent of fields when self serving; the same clients fill 95 plus percent when guided through on a call.


3. Discovery Call Architecture

Discovery is a four call sequence, not a single call. Each call serves a specific purpose, has a specific agenda, and produces a specific output. The single call model compresses business overview, goal setting, technical assessment, and commercial terms into 60 minutes and produces shallow answers. The four call model gives each subject the time it deserves.

3.1 Call 1: Kickoff and Business Overview (60 minutes)

Purpose: build rapport, capture business identity, hear the client describe the business in their own words, surface goals at a high level, confirm scope. Attendees: agency lead and primary point of contact.

Agenda:

**0 to 5 min**: Introductions.
**5 to 20 min**: Business overview (client talks). Open ended prompt:
"Tell me about your business. Start wherever feels natural." Capture
quotes verbatim. The voice patterns become the brand voice baseline.
**20 to 35 min**: Goals and pain points. Success at 6 and 12 months?
Biggest pain point? What has not worked before?
**35 to 50 min**: Scope and approach overview. Restate scope from contract.
Walk through the 90 day roadmap phases (audit, quick wins, foundational).
**50 to 60 min**: Next steps. Schedule the three remaining discovery
calls. Send the intake form. Recap email within 24 hours.
Enter fullscreen mode Exit fullscreen mode

Recording protocol: with explicit client consent, record every discovery call. Transcripts stored at /home/user/clients/[clientname]/transcripts/[YYYY-MM-DD]-call-1-kickoff.txt. Recordings at /home/user/clients/[clientname]/recordings/. Transcripts feed the brand voice baseline and the engagement decision log.

3.2 Call 2: Technical and Site Tour (60 minutes)

Purpose: walk through the existing site together, surface technical state, identify quick wins, calibrate audit scope. Attendees: agency lead, primary point of contact, and the client's internal dev or technical lead if one exists.

Agenda:

**0 to 5 min**: Reconnect and set up screen share.
**5 to 15 min**: Hosting and CMS overview. What hosting? What CMS?
Where is DNS managed? Deployment pipeline? Staging environment?
**15 to 40 min**: Live site walkthrough. Visit homepage, top 5 traffic
pages per GSC, product/service pages, contact, about, blog index. Note
rendering patterns, JavaScript dependency, schema presence, author
bylines. Capture screenshots of anomalies.
**40 to 55 min**: Analytics and GSC tour. Walk through GA4 together.
Pull last 90 days of organic performance. Walk through GSC Performance,
Coverage, and Enhancements reports.
**55 to 60 min**: Next steps. Confirm access provisioning timeline.
Identify blockers. Schedule the content call.
Enter fullscreen mode Exit fullscreen mode

Output: technical impressions at /home/user/clients/[clientname]/notes/technical-impressions.md. Impressions inform the audit scope decision (Mode A vs B vs C per framework-initialaudit.md Section 1.4).

3.3 Call 3: Content and Brand Voice (30 minutes)

Purpose: understand who writes content today, the editorial process, the brand voice, and the audience. Attendees: agency lead, primary point of contact, and the client's content or marketing lead.

Agenda:

**0 to 5 min**: Reconnect.
**5 to 15 min**: Current content production. Who writes today? Editorial
calendar? Publish cadence? Review and approval workflow? Who has the
final yes or no on publishing?
**15 to 25 min**: Brand voice and audience. How do you describe the
brand voice in your own words? Who is the audience? What words should
we never use? What words capture the voice?
**25 to 30 min**: Handoff plan. Agency writes, client writes, or shared?
Confirm editorial process per Section 11.
Enter fullscreen mode Exit fullscreen mode

Output: brand voice baseline at /home/user/clients/[clientname]/brand/voice-baseline.md. Becomes the input to the formal brand voice guide per framework-brandvoice.md.

3.4 Call 4: Commercial and Operational (30 minutes)

Purpose: confirm billing, communication, reporting, and operational protocols. Attendees: agency lead, primary point of contact, and the client's billing or operations contact.

Agenda:

**0 to 5 min**: Reconnect.
**5 to 15 min**: Billing and invoicing. Billing cycle, payment method,
invoicing address, PO process if any. Recurring invoice start date.
Renewal mechanism.
**15 to 25 min**: Communication and reporting. Primary channel per
Section 10. Response time expectations. Reporting cadence per Section 9
and framework-reporting.md. Monthly check in and quarterly executive
review cadences.
**25 to 30 min**: 90 day roadmap preview. Audit delivery date. Strategy
presentation date.
Enter fullscreen mode Exit fullscreen mode

Output: operational charter at /home/user/clients/[clientname]/charter.md.

3.5 Transcript and Recording Protocol

Every discovery call is recorded with consent and transcribed. Transcript format:

# Call 1: Kickoff
**Date**: 2026-05-14
**Duration**: 58 minutes
**Attendees**: Joseph Anady (TDG), [Client Name]
**Recording**: /home/user/clients/[clientname]/recordings/2026-05-14-call-1.mp3

## Verbatim Brand Voice Quotes
## Goals as Stated
## Pain Points as Stated
## Decisions Made
## Action Items
- [ ] Owner: Action, due date
Enter fullscreen mode Exit fullscreen mode

Transcripts feed two downstream artifacts: the brand voice baseline (verbatim quotes are the highest fidelity input) and the engagement decision log (decisions made on calls are the primary engagement memory).


4. Access Provisioning Checklist

Access is the gate between contract signature and productive work. Until every item is verified, the initial audit cannot run. Provisioning takes 3 to 14 business days.

4.1 Google Search Console

Required role: Owner if the agency will manage verification, otherwise Full User. Verification: the agency receives the invitation, accepts it from the agency Google account, and pulls the Performance report for the past 30 days. If unverified, the agency completes verification using DNS.

GSC service account: ai-403@encoded-equator-335209.iam.gserviceaccount.com already holds siteFullUser on 9 of Joseph's properties and is the preferred API access method for ongoing data pulls. Add the service account as Full User during provisioning to enable programmatic GSC queries per framework-gscanalysis.md.

4.2 Google Analytics 4

Required role: Editor at minimum. Administrator if the agency will configure properties, custom events, or data retention. Verification: pull a 30 day report and confirm event volume matches GSC click volume within tolerance.

Data integrations to verify: GA4 to BigQuery export, GA4 to Google Ads linking, GA4 to GSC linking. If absent, recommend enablement per framework-ga4.md and framework-attribution.md.

4.3 Google Business Profile

Required role: Manager. Owner remains with the client. Verification: log in, confirm all locations appear, pull the past 90 days of profile views and customer actions. For multi location clients, verify access spans every location with unique Google CID per framework-localseo.md.

4.4 Bing Webmaster Tools

Required role: Site administrator. Verification: pull the past 6 months of Bing Search Performance. If unverified, complete verification using the GSC import option or DNS.

4.5 Google Tag Manager

Required role: Edit and Approve on the GTM container. Verification: log in, confirm container ID matches intake, review existing tag inventory, run preview mode.

4.6 Ahrefs, Semrush, and Backlink Tools

Required: shared sub account access on the agency Ahrefs or Semrush account, or read access to the client's own account if they hold a subscription. Ahrefs is the default for backlink analysis, Semrush for keyword research and SERP tracking.

4.7 CMS Administrator Access

Required role: Administrator. Verification: log in to admin panel, confirm access to site settings, content editor, theme files, plugin manager. For WordPress, file manager and database via cPanel or equivalent. For Shopify, Staff Account access with Apps, Themes, Orders permissions. For Webflow, workspace member access with Editor or higher.

Where the client dev team handles all changes, Editor access is sufficient and Administrator is not required.

4.8 Hosting and DNS Access

Required: direct hosting account access for self hosted sites, or a documented technical contact who can deploy changes within a defined response window. For shared hosting, cPanel access. For managed WordPress hosts (Kinsta, WP Engine, Flywheel), collaborator access at the highest available tier.

DNS access: registrar account access where possible, otherwise a documented contact who can make DNS changes within 48 hours.

Note: the agency does not use any third party CDN or proxy. Where client sites currently use such infrastructure, the agency audits the configuration in the initial audit but does not require deeper integration. Where the agency hosts client sites on Bubbles, nginx serves directly without any third party CDN or proxy in the path.

4.9 SSL Certificate Management

Verification: confirm the SSL certificate provider (Let's Encrypt is the default on Joseph's self hosted sites), auto renewal enabled, certificate covers apex and www.

4.10 Email Marketing Platform

Required role: read access to campaign performance reports. Full editor where the agency will produce email campaigns. Verification: pull past 90 days of campaigns and confirm list size matches intake.

4.11 Social Media Accounts

Required: Facebook Business Manager admin (which carries Instagram via linkage), LinkedIn Company Page admin, Twitter or X access where active, YouTube channel manager where active. Social access is required for entity reconciliation per framework-eeat.md.

4.12 CRM Read Access

Required: read access for lead source attribution analysis. The agency does not modify CRM data; read access traces organic conversions through to closed revenue per framework-attribution.md. For HubSpot, request an Inactive User account with read access to Contacts and Deals.

4.13 Brand Asset Storage

Required: access to the client's brand asset library. Format varies: Google Drive shared folder, Dropbox shared folder, Adobe Creative Cloud library, internal DAM. Document the location in the intake yaml.

4.14 Password Vault Setup

The agency uses Bitwarden Business, 1Password Business, or self hosted Vaultwarden (Section 14.5) for credential storage. The client is invited to a shared vault scoped to their engagement. Every credential captured during access provisioning is stored in the vault. Credentials are never stored in email, plain text, spreadsheets, or any document outside the password vault.

Vault entries cover: GSC, GA4, GBP, Bing Webmaster, GTM, Ahrefs sub account, CMS admin, hosting, DNS registrar, social media logins, email platform, CRM, brand asset storage. Each entry includes account login, account type, assigned role, recovery email, two factor details, and notes documenting when and by whom the credential was provisioned.

4.15 Access Verification Checklist

Before declaring access provisioning complete, verify every entry by performing a real task against it:

- [ ] GSC: pulled 30 day Performance report
- [ ] GA4: pulled 30 day acquisition report
- [ ] GBP: logged in, confirmed all locations visible
- [ ] Bing Webmaster: pulled 90 day Search Performance
- [ ] GTM: logged in, viewed tag inventory, ran preview
- [ ] Ahrefs or Semrush: pulled domain overview report
- [ ] CMS Admin: logged in, viewed dashboard
- [ ] Hosting: logged in, viewed dashboard
- [ ] DNS: logged in to registrar, viewed records
- [ ] Email Platform: logged in, viewed campaigns
- [ ] CRM: logged in, ran a contact search
- [ ] Brand Assets: opened the library, downloaded a sample asset
- [ ] Password Vault: every credential entered, every entry verified
Enter fullscreen mode Exit fullscreen mode

The verification step catches credential errors that would otherwise surface only when the agency tries to do real work. A 30 minute pass at the end of provisioning prevents days of stop and start later.


5. Document Custody Setup

The agency operates a structured document custody model. Every artifact lives in a known location with a known naming convention and a known retention policy.

5.1 Storage Layer Decision

Two storage layer options selected per engagement at kickoff.

Option A, Google Workspace shared drive. The agency creates a shared drive named [Client Name] Engagement. Primary contact granted Manager role. Internal stakeholders granted Contributor. Standardized structure across all engagements.

Option B, self hosted Nextcloud on Bubbles. For clients with elevated data sensitivity (legal, financial, healthcare, government) or clients who prefer non Google infrastructure. Provisioned at https://nextcloud.thatdeveloperguy.com/clients/[clientname]/. nginx serves Nextcloud directly. No third party CDN or proxy. Two factor authentication enforced.

Both options share the same folder taxonomy and naming conventions.

5.2 Folder Taxonomy

The standard folder structure replicated across both storage options:

[Client Name] Engagement
  01-Onboarding/   intake.yaml, transcripts, recordings,
                   access-matrix.md, kickoff-recap-emails
  02-Audit/        initial-audit-deliverable.pdf, supporting data,
                   audit-manifest.md
  03-Strategy/     90-day-roadmap.pdf, annual-strategy.pdf,
                   quarterly-strategy-reviews
  04-Brand-Voice/  brand-voice-guide.pdf, style-references,
                   do-not-say-list.md
  05-Editorial/    editorial-calendar.xlsx, content-briefs,
                   drafts-in-review, published-archive
  06-Technical/    technical-tickets, deployment-log.md,
                   rollback-procedures.md
  07-Schema/       schema-deployments-log.md, validation archive
  08-Reporting/    monthly-reports, quarterly-reviews, annual-review
  09-Communication/ communication-charter.md, decision-log.md,
                   meeting-recap-emails
  10-Commercial/   signed-contract.pdf, invoices, change-orders
Enter fullscreen mode Exit fullscreen mode

The two digit numbering enforces sort order and lowers cognitive load when the client navigates the structure six months in.

5.3 Naming Conventions

Every deliverable follows [client-shortname]-[deliverable-type]-[YYYY-MM-DD].[ext]. Example: acmewidgets-monthly-report-2026-05-14.pdf. Enables sorting by date within any folder. Recurring deliverables append a version suffix only when republished mid month: acmewidgets-monthly-report-2026-05-14-v2.pdf. Otherwise the date is the version identifier.

5.4 Version Control via Filename Appended Dates

The agency uses filename appended dates as the primary version control mechanism for client facing deliverables. Clients understand filenames; they do not all understand git. The date in the filename is the canonical version identifier.

For internal working files (yaml configs, scripts, source markdown), the agency uses git at /home/user/clients/[clientname]/repo/. The git repository is private to the agency. Rendered deliverables produced from the repository land in the client facing shared drive.

5.5 Retention Policy

Engagement files retained for the duration plus 24 months. After 24 months from engagement end, files archived to Bubbles external 4.5 TB storage at /mnt/storage/clients/[clientname]/archive/ and removed from live storage. Reference per project memory project_bubbles_external_storage.md. The 24 month window covers two annual reporting cycles and supports any future re engagement. Clients are notified before archival and may request file return.


6. Baseline Establishment

The initial audit is the load bearing baseline deliverable. Full methodology in framework-initialaudit.md. This section specifies the audit's role within onboarding: timing, scope decision, deliverable expectation, and dependencies.

6.1 Audit Timing in the Onboarding Sequence

The audit begins on the day access provisioning completes and ends with deliverable submission. Due within 14 business days of access completion, typically landing on day 21 to day 28 of the 30 day onboarding window.

Audits exceeding 14 business days indicate one of three conditions: the site is complex enough to warrant Mode C, access was incomplete and the audit team is stalled, or scope was not properly calibrated at kickoff.

6.2 Audit Scope Decision

At the technical call in Section 3.2, the agency selects Mode A Light, Mode B Standard, or Mode C Deep per framework-initialaudit.md Section 1.4 based on site size, complexity, and engagement tier.

Mode A Light, 4 to 8 hours. Tier 1 pricing or initial phase of a multi audit engagement. Deliverable: 1 to 3 page summary with go/no go recommendations.

Mode B Standard, 16 to 30 hours. Default for Tier 2 and Tier 3 paid engagements. Deliverable: 12 page audit per framework-initialaudit.md Section 13.

Mode C Deep, 40 to 80 hours and beyond. Enterprise, complex sites, or audit only engagements. Deliverable: 25 to 50 page extended report.

The scope is documented in the intake yaml at audit_scope. Changing scope mid audit requires client approval and may extend timeline.

6.3 Audit Deliverable Cross Reference

The 12 page Mode B structure per framework-initialaudit.md Section 13.1: Page 1 Executive Summary, Page 2 Scoring Rubric, Pages 3 to 6 Prioritized Findings, Pages 7 to 10 Technical Appendix, Page 11 90 Day Roadmap, Page 12 KPIs and Success Metrics. The roadmap on page 11 is the input to Section 8. The KPIs on page 12 feed Section 7.

6.4 Audit Presentation Meeting

The audit is presented in a 60 minute meeting, recorded and transcribed. The agency lead walks through the executive summary, scoring rubric, top 3 findings, and 90 day roadmap. The client asks questions, raises concerns, adjusts priorities. The meeting produces a confirmed and approved roadmap.

Common patterns. The client is overwhelmed by finding volume; emphasize prioritization and that the roadmap addresses only the top tier. The client wants to add scope; document the request and schedule a follow up rather than expanding on the call. The client agrees with everything; force priority by asking which two of the top 5 findings matter most.


7. Goal and KPI Alignment

KPI alignment is the conversation about what success looks like. Done well, it surfaces hidden assumptions, calibrates expectations, and produces a shared scorecard the engagement is measured against.

7.1 The Standard KPI Set

Every engagement adopts a standard KPI set unless the client explicitly opts out:

standard_kpi_set:
  organic_sessions: { source: ga4, cadence: monthly_trailing_12_month }
  organic_non_brand_sessions: { source: ga4_with_gsc_overlay }
  branded_query_share: { source: gsc_queries_filtered_by_brand }
  organic_conversions: { source: ga4_key_events }
  organic_conversion_rate: { source: ga4_derived }
  ai_overview_citation_count: { source: manual_sampling, cadence: weekly_priority_monthly_full_set }
  perplexity_citation_count: { source: manual_sampling }
  chatgpt_citation_count: { source: manual_sampling }
  gsc_clicks_impressions_ctr_position: { source: gsc_performance }
  gbp_calls: { applies_to: local_clients_only }
  gbp_direction_requests: { applies_to: local_clients_only }
  gbp_website_clicks: { applies_to: local_clients_only }
  qualified_leads: { source: crm_with_lead_source_organic }
  revenue_attributed_to_organic: { source: crm_or_ga4_with_revenue_event, note: lagging_indicator }
Enter fullscreen mode Exit fullscreen mode

7.2 The Three Tier KPI Hierarchy

Tier 1, Outcome KPIs. Metrics that map directly to business value: qualified leads and revenue attributed to organic. The metrics the client cares about at the board level. They lag the engagement by 60 to 180 days due to attribution lag and sales cycle length.

Tier 2, Performance KPIs. Metrics that drive Tier 1: organic sessions, organic conversions, conversion rate, branded query share. Move within 30 to 120 days of effective work.

Tier 3, Activity KPIs. Metrics that drive Tier 2: AI Overview citation count, GSC clicks and impressions, GBP customer actions, indexed page count. Move within 14 to 60 days of effective work.

The reporting cadence in Section 9 displays all three tiers. The narrative emphasizes Tier 3 for monthly reports, Tier 2 for quarterly reviews, Tier 1 for annual reviews.

7.3 Baseline Establishment Method

Every KPI gets a baseline value as of audit completion. The baseline is computed using the past 90 days of data (for monthly cadence KPIs) or the past 30 days (for high cadence KPIs). Documented in the audit deliverable on page 12 and in the engagement KPI scorecard.

Baseline pitfalls. Do not use 30 days alone for KPIs subject to seasonality; use 12 months segmented by month to surface seasonal patterns. Do not baseline against a high traffic anomaly (press hit, viral moment); identify and document the anomaly separately. Do not baseline against the launch month of a major site change; push the baseline window to a stable period.

7.4 Target Setting

Targets are set at 90, 180, and 365 days. Deliberately optimistic but defensible.

For organic sessions and conversions, the 90 day target is 10 to 20 percent above baseline for sites with strong baselines, 30 to 50 percent above baseline for sites with weak baselines and substantial fixable issues. The 180 day target adds 15 to 30 percent. The 365 day target compounds.

For AI Overview citation count, the baseline is often zero on priority queries; 90 day target is 3 to 8 priority queries cited and 365 day target is 60 percent.

For local KPIs (GBP calls, direction requests, website clicks), baseline is the trailing 90 day average; targets are 20 to 40 percent above baseline at 90 days based on local pack ranking gap and review velocity opportunity.

Targets are stretch goals, not contractual guarantees. The contract specifies engagement deliverables; the targets specify the agency's confidence in what the deliverables will produce.

7.5 KPI Scorecard Document

The KPI scorecard is a single page document, refreshed monthly, displaying every Tier 1, Tier 2, and Tier 3 KPI with baseline, current value, percent change, target at 90/180/365 days, and a Green/Yellow/Red status. First page of every monthly report per framework-reporting.md.

Format:

| KPI | Tier | Baseline | Current | Change | 90d | 180d | 365d | Status |
|---|---|---|---|---|---|---|---|---|
| Organic Sessions | 2 | 4,200 | 5,100 | +21% | 5,000 | 6,000 | 7,500 | Green |
| Organic Conversions | 2 | 32 | 41 | +28% | 38 | 50 | 75 | Green |
| AIO Citations | 3 | 0 | 4 | +400% | 6 | 12 | 18 | Green |
| Qualified Leads | 1 | 18 | 22 | +22% | 22 | 32 | 50 | Green |
Enter fullscreen mode Exit fullscreen mode

8. 90-Day Roadmap Construction

The 90 day roadmap is the operational plan defining what the agency does in the first 90 days. Produced as page 11 of the audit deliverable per framework-initialaudit.md Section 13.6, and the input to the monthly execution per framework-reporting.md.

8.1 The Four Phase Structure

The 90 day roadmap is organized in four phases. The four phase structure separates audit from quick wins and surfaces the critical first two weeks where the audit itself is the work.

Days 1 to 14, Phase 0, Initial Audit. The audit is the work. 16 to 80 hours per framework-initialaudit.md. Deliverable: the 12 page audit. End state: prioritized findings approved, roadmap approved, baseline KPIs documented.

Days 15 to 30, Phase 1, Quick Wins. Visible momentum builders. 30 to 60 hours. Deliverables: meta tag and title tag deployment across high traffic pages, core graph schema (Organization, WebSite, WebPage), GBP completeness if local, GSC and GA4 setup verification, sitemap and robots.txt cleanup, internal linking audit on top 20 pages.

Days 31 to 60, Phase 2, Foundational Fixes. Infrastructure work. 40 to 80 hours. Deliverables: content audit and stale page remediation per framework-contentaudit.md, content type schema (Article, Product, Service, LocalBusiness, FAQ, HowTo), author byline and credentialed reviewer deployment per framework-eeat.md, substrate cleanup on JavaScript dependent pages, hreflang if multi region, canonical tag audit.

Days 61 to 90, Phase 3, Content and Citation Velocity. 30 to 60 hours. Deliverables: first batch of content briefs per framework-contentbriefs.md, first batch of new content publication, citation defense cadence established, digital PR outreach initiated, link recovery outreach, Wikidata claim creation or update where applicable.

8.2 Effort Allocation Across Phases

Tier 2 engagement at 20 hours per month (60 hours total): audit 16 to 30 hours, quick wins 14 to 20, foundational 14 to 20, content velocity 10 to 14.

Tier 3 engagement at 40 hours per month (120 hours total): audit 24 to 40 hours, quick wins 24 to 32, foundational 32 to 40, content velocity 24 to 32.

Allocations are guidelines; actual hours vary based on what the audit surfaces. The roadmap is rebalanced at the audit presentation meeting.

8.3 The Milestone Gantt Template

The 90 day roadmap includes a one page Gantt chart visualizing milestones across the 90 day window:

## 90 Day Milestone Gantt

| Milestone | D1 | D7 | D14 | D21 | D28 | D35 | D42 | D49 | D56 | D63 | D70 | D77 | D84 | D90 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Audit Execution | X | X | X | | | | | | | | | | | |
| Audit Delivery | | | | X | | | | | | | | | | |
| Strategy Presentation | | | | | X | | | | | | | | | |
| Quick Wins Phase | | | | X | X | X | | | | | | | | |
| Schema Core Graph | | | | | X | X | | | | | | | | |
| GBP Completion | | | | | X | X | | | | | | | | |
| Foundational Fixes | | | | | | X | X | X | X | | | | | |
| Content Audit | | | | | | | X | X | | | | | | |
| Schema Templates | | | | | | | X | X | X | | | | | |
| Byline Deployment | | | | | | | | X | X | X | | | | |
| Content Velocity | | | | | | | | | | X | X | X | X | X |
| First New Articles | | | | | | | | | | | X | X | X | X |
| Citation Defense | | | | | | | | | | | X | X | X | X |
| Day 90 Review | | | | | | | | | | | | | | X |
Enter fullscreen mode Exit fullscreen mode

The Gantt is reviewed at every monthly check in. Slippage on a milestone is the early warning signal that effort allocation is off and the roadmap needs rebalancing.

8.4 Roadmap Adjustment Mechanism

The roadmap is not contractual. It is the agency's plan based on what the audit surfaces. Two triggers warrant revision. First, an audit finding the client elevates above what the agency proposed; revised at the audit presentation and documented in the decision log. Second, a mid roadmap discovery that changes priority of a planned task (example: a Phase 2 schema deployment uncovers a CMS limitation requiring a Phase 1 fix); revised, client notified in the next weekly update, documented.


9. Reporting Cadence Setup

The reporting cadence is the rhythm at which the agency reports progress. Full methodology in framework-reporting.md. This section specifies the cadence setup during onboarding.

9.1 The Three Cadence Tiers

Weekly Progress Update, every Friday via email. One page. Contents: completed this week, queued next week, blockers requiring client input, decisions requiring approval.

Monthly Deliverable Report, first Monday after month end, PDF posted to 08-Reporting/monthly-reports/. 8 to 12 pages. Contents: KPI scorecard (1), Tier 3 summary (2 to 3), Tier 2 analysis (4 to 5), Tier 1 trend (6), wins (7 to 8), next month priorities (9 to 10), open decisions (11 to 12).

Quarterly Executive Review, 90 minute meeting plus a 4 to 6 page PDF, within 15 days of quarter end. Audience: primary contact, executive sponsor, board level stakeholders. Contents: 90 day trend, Tier 1 outcomes, strategic recommendations, scope review, contract adjustments.

9.2 Reporting Setup During Onboarding

At the operational call in Section 3.4, the agency confirms the cadence. Documented in the operational charter at /home/user/clients/[clientname]/charter.md. First weekly update sent end of first week post kickoff. First monthly covers the first calendar month. First quarterly executive review at the 90 day mark.

9.3 Reporting Template Deployment

Three templates deployed to client shared drive at engagement start at 08-Reporting/templates/: weekly-progress-update-template.md, monthly-deliverable-report-template.md, quarterly-executive-review-template.md. Templates per framework-reporting.md customized to client brand colors and logo. Customization happens during onboarding to avoid template churn in month one.

9.4 Reporting Tool Stack

Reporting produced from GSC, GA4, Ahrefs or Semrush, GBP, and manual citation sampling. Aggregated via Python scripts at /home/user/clients/[clientname]/reporting/scripts/. Scripts pull data via API, render charts via matplotlib or plotly, produce markdown source rendered to PDF via Pandoc. Full tool stack in framework-reporting.md.


10. Communication Protocol

The communication protocol defines how the agency and client communicate. Documented in the operational charter and referenced when friction surfaces.

10.1 Primary Channel Selection

The primary channel is one of email, Slack, Microsoft Teams, or Basecamp. The agency does not impose a channel; the client selects and the agency adapts. Email is default without an existing collaboration tool. Slack is default for clients with internal workspaces (agency added as Single Channel Guest). Teams is default for Microsoft 365 ecosystems. Basecamp only when the client already runs on Basecamp.

The agency does not require the client to learn a new tool. The exception is the password vault (Section 4.14), non negotiable for security.

10.2 Response SLA

The response SLA is documented and committed to in the operational charter.

response_sla:
  business_hours_response_time: 4_hours
  business_hours_definition: 9am_to_6pm_central_time_monday_through_friday
  same_day_response_for_messages_before: 2pm
  next_business_day_response_for_messages_after: 2pm
  weekend_response_policy: limited_to_genuine_emergencies
  emergency_definition: site_down_or_security_incident
  emergency_channel: phone_to_5055123662
Enter fullscreen mode Exit fullscreen mode

The SLA is not a guarantee of resolution; it is a guarantee of acknowledgment. Acknowledgment includes a substantive next step or a target time for substantive response.

10.3 Escalation Path

The escalation path is documented:

escalation_path:
  level_1_routine: primary_point_of_contact_to_agency_lead
  level_2_unresolved_routine: agency_lead_to_agency_principal
  level_3_dispute: agency_principal_to_client_executive_sponsor
  level_4_contract: client_executive_sponsor_and_agency_principal_to_legal
Enter fullscreen mode Exit fullscreen mode

The agency principal is Joseph Anady. The client executive sponsor is identified during the commercial call in Section 3.4. The escalation path is a tool for resolving issues the routine channel cannot resolve. It is not the primary channel for ordinary communication.

10.4 Monthly Check In Cadence

A 30 to 60 minute live meeting between the agency lead and primary contact, within 5 business days of the monthly report. Walks through the report, answers questions, confirms next month priorities. Recorded with a recap email within 24 hours.

The check in is not optional. Engagements without one drift. The cadence is the second most important predictor of renewal after KPI delivery.

10.5 Quarterly Strategy Review

A 90 minute meeting between the agency principal, agency lead, client primary contact, and client executive sponsor. Formal review of the past 90 days and planning for the next 90 days. Produces a revised 90 day roadmap, updated KPI scorecard, and any strategic recommendation papers.

10.6 Decision Log

Every decision made during the engagement is logged at /home/user/clients/[clientname]/decisions.md and 09-Communication/decision-log.md.

## 2026-05-14: Audit Scope Confirmed Mode B Standard
**Context**: Site size 1,800 indexable pages, Tier 2 engagement.
**Decision**: Run Mode B Standard per framework-initialaudit.md Section 1.4.
**Rationale**: Site complexity and tier align with Mode B parameters.
**Owner**: Joseph Anady
**Approvers**: Client primary contact

## 2026-05-21: GBP Categories Expanded
**Context**: Audit surfaced 4 secondary categories competitors use.
**Decision**: Add 4 secondary categories during Quick Wins.
**Rationale**: Lifting category coverage closes a local pack gap.
**Owner**: Joseph Anady
**Approvers**: Client primary contact
Enter fullscreen mode Exit fullscreen mode

The decision log is the engagement's memory. Six months in, when a question arises about why a choice was made, the decision log is the first reference.


11. Content Production Handoff

Content production is one of the two largest engagement work streams. The handoff determines whether content runs smoothly or stops and starts. Two operating models exist; selected during the content call in Section 3.3.

11.1 Model A: Client Owns Writing

Under Model A, the client's internal team writes content. The agency provides briefs, reviews drafts for SEO alignment, and supports publication. Fits clients with established content teams, strong brand voice, and writing capacity.

Workflow:

1. Agency produces brief per framework-contentbriefs.md
2. Brief delivered to client content lead via primary channel
3. Writer produces draft within 7 business days
4. Agency SEO review against brief; structural and Information Gain feedback
5. Writer revises; second draft delivered
6. Agency approves; client publishing workflow runs (legal, marketing,
   internal stakeholder approval)
7. Post publish review by agency within 48 hours: schema deployment,
   internal linking, sitemap inclusion
Enter fullscreen mode Exit fullscreen mode

Brief format: standard from framework-contentbriefs.md, customized with the client's brand voice guide reference. Editorial calendar at 05-Editorial/editorial-calendar.xlsx with columns: target publish date, target query, target persona, brief delivered, draft due, draft delivered, review status, publish status, post publish review, published URL.

11.2 Model B: Agency Writes

Under Model B, the agency produces content. The client provides subject matter expertise, brand voice guidance, and final approval. Fits clients without internal content teams, with limited capacity, or who prefer to retain editorial control without managing production.

Workflow:

1. Agency proposes content from editorial calendar
2. Client approves target query and angle
3. Agency assigns to writer in the agency pool
4. Writer requests subject matter input from client where required;
   produces draft within 10 business days
5. Agency editorial review; revisions if needed
6. Draft delivered to client; client reviews for accuracy, brand voice,
   factual claims
7. Revisions; final approval
8. Agency publishes (where agency holds CMS access) or hands off to client
9. Post publish review within 48 hours: schema, internal linking,
   sitemap, GSC URL inspection
Enter fullscreen mode Exit fullscreen mode

Writer pool at /home/user/agency/writer-pool.yaml with subject matter areas, capacity, rates, turnaround. Writers paid per framework-pricing.md. Brief acceptance is the writer's commitment to scope, word count, turnaround.

Draft delivery: markdown at 05-Editorial/drafts-in-review/ with filename [client-shortname]-[target-query-slug]-draft-v[n].md. Markdown source preserves structural fidelity through review and supports clean schema injection at publish.

Standard contract includes two revision rounds. Additional rounds billed at hourly rate. Final approval documented in the engagement decision log. Where the agency holds CMS access, the agency publishes; otherwise the agency delivers the final draft plus schema, internal linking suggestions, and meta tags as a packaged handoff.

11.3 Hybrid Model

A hybrid is common: client writes high stakes content (founder posts, case studies, thought leadership); agency writes supporting articles and FAQ. Documented in the operational charter; the editorial calendar tags every piece with its production owner.


12. Technical Implementation Handoff

Technical implementation is the second large work stream. The handoff determines whether changes deploy cleanly or stall. Two operating models exist; selected during the technical call in Section 3.2.

12.1 Model A: Client Dev Team Handles Implementation

Under Model A, the client's internal developers implement changes. The agency produces tickets with detailed implementation guidance and reviews changes post deployment.

Ticket format:

## Ticket: [Concise change description]

**Type**: schema | meta_tag | template | content | sitemap | robots | redirect
**Priority**: critical | high | medium | low
**Phase**: phase_1 | phase_2 | phase_3
**Effort**: 1-2 hours

### Background
### Requirements
### Implementation Notes
### Acceptance Criteria
### Pre-Deployment QA
### Rollback Procedure
### Post-Deployment Verification
### Framework Reference
Enter fullscreen mode Exit fullscreen mode

Sprint integration: tickets added to the client's existing system (Jira, Linear, GitHub Issues, Plane, Vikunja). The agency adapts to the client's workflow. Where no system exists, the agency provisions a Plane or Vikunja instance per Section 14.

QA: client dev team runs QA per internal standards. The agency requests staging for changes affecting more than 10 pages, reviews within 48 hours. Rollback: every ticket includes a rollback procedure. The dev team executes rollback; the agency does not have production rollback authority under Model A.

12.2 Model B: Agency Dev Handles Implementation

Under Model B, the agency implements changes. The client approves; the agency deploys. Fits clients without internal dev teams, clients at capacity, or clients with self hosted sites where the agency holds CMS and hosting access.

Change approval: every change approved in advance by the client primary contact via email, primary channel, or ticket sign off. Bulk approval allowed for groups sharing a single scope (example: schema across all blog posts).

Staging: changes affecting more than 10 pages deployed to staging first. Staging URL shared for client review; client approves before production.

Production deployment: during agreed windows. Default Tuesday or Wednesday between 10am and 2pm Central, avoiding Monday and Friday. Critical fixes deploy outside the window with client notification.

Monitoring: after every production deployment, the agency monitors for 48 hours. Coverage: GSC Coverage, GSC URL inspection on representative pages, GA4 traffic to affected templates, schema validation on Rich Results Test, broken link reports. Issues remediated immediately.

12.3 Hybrid Implementation Model

A hybrid is common: client dev handles complex template changes; agency handles schema deployment, meta tags, and CMS content publishing. Every ticket specifies the implementation owner.


13. The Onboarding Deliverables Bundle

The onboarding deliverables bundle is the set of artifacts produced during the first 30 days. The canonical engagement reference for everyone who works on the engagement. Lives in the client shared drive folder structure from Section 5.2.

13.1 The Eight Bundle Components

  1. Master Brief. A 4 to 6 page document summarizing the engagement: client business overview, goals, scope, timeline, stakeholder map, communication preferences, tool stack, access provisioned, initial priorities, open questions. The Master Brief is read by anyone joining the engagement. Stored at 01-Onboarding/master-brief.pdf.

  2. Brand Voice Guide. The full brand voice guide produced per framework-brandvoice.md. Stored at 04-Brand-Voice/brand-voice-guide.pdf.

  3. Editorial Calendar Q1. The first quarter of the editorial calendar, populated with target dates, target queries, target personas, production owner, and status. Stored at 05-Editorial/editorial-calendar.xlsx.

  4. Initial Audit. The 12 page audit deliverable per framework-initialaudit.md Section 13. Stored at 02-Audit/initial-audit-deliverable.pdf.

  5. 90 Day Roadmap. The four phase roadmap per Section 8 of this framework. Stored at 03-Strategy/90-day-roadmap.pdf.

  6. Access Matrix. A single page matrix documenting every account, the agency's assigned role, the date provisioned, the verification status, and the credential storage location. Stored at 01-Onboarding/access-matrix.md.

  7. Reporting Template. The customized weekly, monthly, and quarterly reporting templates per framework-reporting.md. Stored at 08-Reporting/templates/.

  8. Communication Charter. The operational charter documenting communication channels, response SLAs, escalation paths, meeting cadence, and decision making process. Stored at 09-Communication/communication-charter.md.

13.2 Bundle Production Sequence

Week 1: Master Brief draft, Access Matrix initial, Communication Charter
Week 2: Access Matrix complete, Initial Audit begins, Reporting Template
        customization, Brand Voice Guide draft
Week 3: Initial Audit deliverable, Brand Voice complete, Editorial Calendar
        Q1 draft, 90 Day Roadmap draft
Week 4: 90 Day Roadmap final, Master Brief final, Editorial Calendar Q1
        final, full bundle handoff
Enter fullscreen mode Exit fullscreen mode

13.3 Bundle Handoff Meeting

The bundle is handed off in a 90 minute meeting on day 28 to 30:

**0 to 10 min**: Welcome and context. Reframe as the close of onboarding
and the start of active engagement.
**10 to 25 min**: Audit and roadmap walkthrough. Executive summary,
scoring rubric, top 5 findings, 90 day roadmap. Confirm prioritization.
**25 to 40 min**: Brand voice and editorial walkthrough. Confirm voice
fit and editorial priorities.
**40 to 55 min**: Operations walkthrough. Master brief, access matrix,
reporting templates, communication charter. Confirm operational alignment.
**55 to 80 min**: Questions and adjustments. Capture adjustment requests.
**80 to 90 min**: Next 30 days preview. Phase 1 Quick Wins work that
begins day 31. Confirm next weekly update day and first monthly check in.
Enter fullscreen mode Exit fullscreen mode

The handoff is the close of onboarding and the start of the active engagement. After the meeting, onboarding is complete and the agency moves into the recurring monthly cadence per framework-ongoingaudit.md and framework-reporting.md.


14. Bubbles-Hosted Onboarding Stack

The onboarding workflow runs on the Bubbles self hosted server at IP 169.155.162.118. The stack is intentionally self hosted with no third party CDN or proxy. Client onboarding data is sensitive; the infrastructure mirrors the principle of client trust the engagement is built on.

14.1 Bubbles Server Profile

Bubbles is Debian amd64 with 16 GB RAM. LAN at 192.168.1.132 and 192.168.1.173. Tailscale at 100.90.97.104. Public IP at 169.155.162.118. SSH from M2 via Tailscale at ssh user@bubbles. Go at /usr/local/go/bin/go. Python 3.13 system installation.

Web hosting via nginx with vhosts under /var/www/ and /var/www/sites/. Client onboarding workspaces under /home/user/clients/[clientname]/. Client deliverables under /var/www/sites/[domain]/onboarding/. No third party CDN or proxy.

14.2 Self-Hosted Document Collaboration

For Storage Option B in Section 5.1, the agency runs Nextcloud at https://nextcloud.thatdeveloperguy.com/ serving the Section 5.2 folder structure. nginx direct. Two factor authentication enforced. Per user disk quota 50 GB default.

For real time collaboration during kickoff calls, CryptPad at https://cryptpad.thatdeveloperguy.com/ supports collaborative editing of documents, sheets, and presentations with end to end encryption.

For client side intake submission, a FastAPI form handler at https://intake.thatdeveloperguy.com/ accepts intake submissions, validates yaml, and writes to /home/user/clients/[clientname]/intake.yaml.

14.3 Self-Hosted Project Management

Plane at https://plane.thatdeveloperguy.com/ as the default (open source alternative to Jira and Linear). nginx direct. Agency invites the client primary contact as a workspace member.

For lighter alternative, Vikunja at https://vikunja.thatdeveloperguy.com/ with kanban, list, and gantt views. Clients with existing Jira, Linear, GitHub Issues, or Basecamp continue using their tools.

14.4 Self-Hosted Communication Fallback

Default channel is whatever the client uses. For clients requiring a self hosted communication tool, Mattermost at https://mattermost.thatdeveloperguy.com/ provides Slack equivalent functionality.

14.5 Self-Hosted Password Vault

Vaultwarden at https://vault.thatdeveloperguy.com/ is the self hosted alternative to Bitwarden Business. Compatible with the Bitwarden clients (web, desktop, mobile, browser extensions). Stores every credential gathered during access provisioning. Per Section 4.14, the password vault is the only acceptable credential storage.

14.6 Onboarding Data Flow

Client submits intake form
  -> intake.thatdeveloperguy.com (FastAPI)
  -> writes to /home/user/clients/[clientname]/intake.yaml
  -> agency reviews and locks intake at day 14

Discovery call recordings
  -> /home/user/clients/[clientname]/recordings/
  -> transcribed via local whisper.cpp
  -> /home/user/clients/[clientname]/transcripts/

Access credentials
  -> Vaultwarden vault scoped to client
  -> Access Matrix references vault entries by name

Audit data pulls
  -> GSC, GA4, Bing, GBP, Ahrefs to /home/user/clients/[clientname]/data/
  -> audit scripts at /home/user/clients/[clientname]/audit/scripts/

Deliverable production
  -> markdown at /home/user/clients/[clientname]/deliverables/
  -> rendered to PDF via Pandoc
  -> published to /var/www/sites/[domain]/onboarding/
  -> copied to client shared drive
Enter fullscreen mode Exit fullscreen mode

14.7 No Third-Party CDN or Proxy

Every component of the Bubbles onboarding stack operates without any third party CDN or proxy in the path. Client onboarding data does not transit external infrastructure beyond the public internet between Bubbles and the client. Intake data, credentials, audit findings, and engagement decisions are sensitive; routing through external infrastructure exposes data to additional parties. The Bubbles direct connection model is the architectural choice. The agency does not use any third party CDN or proxy for onboarding infrastructure, agency properties, or as a default recommendation.

Where client sites currently use a CDN or proxy, the agency notes the configuration in the initial audit and audits the implementation for SEO impact (origin caching, header preservation, bot access rules). Removal is not recommended unless the configuration actively harms SEO outcomes.

14.8 Onboarding Tool Maintenance Cadence

Weekly: nginx access log rotation, Nextcloud and Plane health checks, Vaultwarden backup verification.

Monthly: software updates for Nextcloud, Plane, Vikunja, Mattermost, Vaultwarden, CryptPad. Update windows are Wednesday between 10pm and midnight Central. Active clients notified in advance if availability may be affected.

Quarterly: full toolchain test, deliverable template render verification, archive review on /mnt/storage/clients/.

Annually: framework library review, intake schema review, deliverable template review, access checklist review.


End of Framework Document

Document version: 2.0
Last updated: 2026-05-14
Maintained by: ThatDeveloperGuy

Client onboarding is the highest leverage phase of an SEO engagement. The first 30 days set the trajectory. This framework specifies the systematic intake, the four call discovery architecture, the comprehensive access provisioning checklist, the document custody model, the audit timing and scope decision, the goal and KPI alignment, the four phase 90 day roadmap, the three tier reporting cadence, the communication protocol, the content and technical implementation handoffs in both client owned and agency owned models, the eight component deliverables bundle, and the Bubbles self hosted onboarding stack with no third party CDN or proxy.

Apply at every new client engagement onset. The output is a complete intake bundle, every required access verified, an aligned 90 day roadmap, the initial audit deliverable, the reporting cadence, the communication protocol, and the brand voice baseline. The bundle becomes the canonical engagement reference for the next 12 months of work.

Companions


From the ThatDevPro Engine Optimization framework library. Studio: ThatDevPro (SDVOSB veteran-owned web + AI engineering). Sister property: ThatDeveloperGuy. Source: https://www.thatdevpro.com/insights/framework-clientonboarding/.

Top comments (0)