---
title: ABM Strategy Alignment & Live SEO Audit — 2026-04-05
type: article
created: '2026-04-05'
updated: '2026-04-05'
source_docs:
- raw/2026-04-05-aviary-abm-strategy-alignment-live-seo-audit.md
tags:
- aviary
- abm
- seo
- ppc
- webflow
- hubspot
- technical-seo
- python
- ahrefs
- google-search-console
- meeting
layer: 2
client_source: AviaryAI
industry_context: saas
transferable: false
---

# ABM Strategy Alignment & Live SEO Audit — 2026-04-05

## Overview

Internal working session between Mark Hope and Sebastian Gant to align on Aviary's go-to-market strategy and perform a live technical SEO audit of `helloaviary.ai`. The meeting covered two major workstreams: (1) framing ABM as the primary strategy with PPC in a supporting discovery role, and (2) identifying and immediately fixing critical technical SEO issues using Ahrefs, the Webflow API, and Python scripting.

**Attendees:** Mark Hope, Sebastian Gant
**Client:** [[wiki/clients/current/aviary/index|Aviary]]

---

## Key Decisions

- **ABM is the core strategy.** PPC is explicitly framed as exploratory/reconnaissance — not the primary growth lever. All client-facing communication should lead with ABM.
- **PPC budget set at $1,000** across three campaigns. Bidding strategy: start at ~2/3 of estimated CPC and increment daily to conserve budget.
- **~6 Webflow landing pages needed immediately:** 2 for PPC campaigns, 4 for ABM verticals.
- **Webflow API + Python is the preferred method** for bulk SEO updates — faster and more reliable than manual edits or third-party tools like Fluid SEO.
- **Eshock must be Webflow-ready within 48 hours** to begin landing page development.

---

## ABM Strategy

### Core Principles

ABM treats high-value accounts as "markets of one." The approach inverts traditional lead-gen: identify the target first, then personalize everything to win them.

| Traditional Marketing | ABM |
|---|---|
| Cast wide net → filter leads → qualify → sell | Pick target → personalize → surround → close |

### Target Account Structure

- **List size:** 50–100 specific companies (not 500–1,000)
- **Verticals:** Community banks, credit unions, and potentially others (TBD via PPC discovery)
- **Tiering:**
  - **Tier 1 (10–15 accounts):** Deep personalization, 2–3 hours research per account
  - **Tier 2 (20–30 accounts):** Moderate personalization, 45–60 minutes per account
  - **Tier 3 (remaining):** Light personalization, 15–20 minutes per account

### Multi-Channel Execution

Same message, multiple channels — LinkedIn, email, direct mail — hitting each target account with consistent positioning across touchpoints. Sales and marketing operate as one team.

### Research Process (per account)

1. Website audit and competitive analysis
2. Decision-maker identification via LinkedIn Sales Navigator / ZoomInfo
3. Data enrichment via Clay
4. LinkedIn profile scraping via Phantom Buster
5. Tier classification by revenue and fit score

### HubSpot Configuration

HubSpot must be configured to track all ABM activity and capture attribution data. Campaign naming convention: `ABM2026_[Vertical]_[Quarter]` (e.g., `ABM2026_CreditUnion_Q2`). Mark will add ABM-specific fields and set up attribution tracking.

---

## PPC Strategy

### Campaigns (Sebastian's $1K Plan)

| Campaign | Ad Groups | Notes |
|---|---|---|
| **Outbound Voice** | Outbound Voice AI | Core product; search volume is modest, CPCs are high |
| **Credit Union-Specific** | Credit Union Core, Call Center / Contact Center Automation | Vertical-specific targeting |
| **Discovery** | General Voice AI, Financial Services | Exploratory; tests new verticals and keyword demand |

### Bidding Approach

Start bids at ~2/3 of Google's estimated CPC. Increment by $0.25–$0.50/day until meaningful engagement is achieved. Avoids blowing budget before finding effective bid levels.

### Framing for Client

Position PPC as reconnaissance: testing keywords, measuring CPCs, identifying which verticals respond. Not the primary growth engine — but may surface unexpected demand.

---

## Live SEO Audit — `helloaviary.ai`

### Starting State

Ahrefs site health score: **1/100**. Total errors: ~1,500.

### Fixes Implemented During Meeting

#### 1. Broken Links — 840 instances
**Root cause:** Old page `/old-home-2` was never redirected after a site redesign. Nearly all 840 broken links pointed to this dead URL.

**Fix:** Created a 301 permanent redirect in Webflow (`Site Settings → Publishing → 301 Redirects`):
- Old path: `/old-home-2`
- Redirect target: `https://www.helloaviary.ai`

**Result:** Expected to resolve the large majority of broken link errors on next crawl.

#### 2. Meta Descriptions Too Long — 722 pages
**Root cause:** Meta descriptions significantly exceeded the 155-character optimal length (some were 300+ characters).

**Fix:**
1. Exported Ahrefs CSV of all pages with long descriptions
2. Used Claude to rewrite all descriptions (column I → column F) optimized for SEO, max 155 characters
3. Mark wrote a Python script connecting to the Webflow API to bulk-update all 722 pages and posts
4. Script ran successfully: 5 pages + 48 blog posts updated and published via API

**Key detail:** Blog post meta descriptions map to the CMS `post-summary` field, not a separate SEO field.

#### 3. Internal HTTP Links — 39 posts
**Root cause:** CMS blog posts contained internal links using `http://` instead of `https://`.

**Fix:** Python script (same API connection) scanned all posts, identified 39 with HTTP internal links, and updated them to HTTPS in bulk.

#### 4. Duplicate Content / Missing Canonicals — 112 pages
**Root cause:** Pagination and duplicate page variants lacked canonical tags, triggering duplicate content warnings.

**Fix:** Added a static canonical tag to the site's `<head>` code in Webflow. Resolves pagination-related duplicates site-wide.

**Post-fix health score:** Improved from **1 → 27** during the meeting.

---

## Remaining SEO Issues

| Issue | Count | Severity | Planned Fix |
|---|---|---|---|
| Pages with multiple H1 tags | 602 | Critical | Python script via Webflow API (Mark) |
| Missing image alt text | 161 images | High | AI-generated alt text script (Mark) |
| Hardcoded links to `/old-home-2` in Webflow Designer | Unknown | Medium | Manual search and update in Designer (Sebastian) |
| Canonical URLs not yet indexed | Multiple | Medium | Request indexing in Google Search Console (Sebastian) |

### Multiple H1s — Priority Fix
602 pages have more than one H1 tag, which is a critical SEO error. Sebastian will export the Ahrefs CSV of affected pages and send to Mark, who will fix via Python/API script.

### Alt Text
An AI script is being developed to generate SEO-optimized alt text for all 161 images with missing descriptions.

### Hardcoded Designer Links
Some links to `/old-home-2` are embedded directly in the Webflow Designer (not in CMS content) and cannot be fixed via API. These must be located and updated manually.

---

## Action Items

| Owner | Action | Status |
|---|---|---|
| Sebastian | Share PPC strategy doc with Mark; present on Aviary call; send to Aviary if requested | Open |
| Sebastian | Send Webflow access to Eshock; confirm he can build 6 landing pages | Open |
| Sebastian | Review Ahrefs crawl; find and fix remaining hardcoded broken links in Webflow Designer | Open |
| Sebastian | Request indexing in GSC for remaining canonical URLs; rerun Ahrefs crawl in 1 week | Open |
| Sebastian | Export Ahrefs CSV of pages with >1 H1; send to Mark for fix | Open |
| Mark | Finalize Aviary ABM strategy document (repurposed from PaperTube research) | Open |
| Mark | Add ABM fields in HubSpot; configure attribution tracking | Open |
| Mark | Complete Python script to fix 602 multiple-H1 errors | Open |
| Mark | Complete AI alt-text updates for all Aviary images | Open |
| Mark | Research how to find and fix hardcoded links in Webflow Designer | Open |
| Both | Configure HubSpot for ABM tracking and attribution | Open |
| Both | Present live SEO audit findings and immediate fixes to Aviary | Open |

---

## Technical Reference

### Webflow API — Key Endpoints Used

- **Pages:** `GET/PUT /v2/pages/{pageId}` — update page SEO title and description
- **CMS Posts:** `PATCH /v2/collections/{collectionId}/items/{itemId}` — update `post-summary` field
- **Auth:** Bearer token generated via `Site Settings → Apps & Integrations → Generate API Token` (read/write on Pages and CMS Collections)

### SEO Character Limits

- **Title tag:** 55 characters
- **Meta description:** 155 characters

### Redirect Configuration (Webflow)

`Site Settings → Publishing → 301 Redirects`

---

## Related

- [[wiki/clients/current/aviary/index|Aviary Client Index]]
- [[wiki/knowledge/technical-seo/webflow-api-bulk-seo-updates|Bulk SEO Updates via Webflow API]]
- [[wiki/knowledge/abm/abm-strategy-framework|ABM Strategy Framework]]
- [[wiki/knowledge/ppc/ppc-as-discovery-tool|PPC as a Discovery Tool]]