MarketerHire Β· v2 Β· Full-Stack Audit

marketerhire.com β€” Full Technical SEO + AEO Audit

Diagnostic of marketerhire.com's organic surface across GSC (90d), GA4 (90d), DataForSEO Live SERPs, and direct page crawl. Brand defends well at #1, but commercial-intent head terms are out of the top 20, and an indexed Webflow origin subdomain is leaking 1,949 URLs into Google's index.

Generated 2026-05-08 Β· Data window 2026-02-06 to 2026-05-06 (90d)

12,442
GSC clicks (90d)
3.9M
GSC impressions (90d)
35.8
Avg position
+14%
Clicks MoM
8,291
Ranked keywords (DFS)
135K
GA4 sessions (90d)
01 β€” Executive Summary

The Headline: Strong Brand, Weak Commercial Capture, Leaking Origin

MarketerHire owns the brand SERP (#1 on "marketerhire", #1 on "hire marketers", #1 on 20 keywords total). It does not own the commercial-intent SERP that drives new buyers β€” "fractional cmo", "best fractional cmo platform", "how to hire a fractional cmo", "marketing team structure", and "growth marketer for hire" all sit outside Google's top 20 (DataForSEO Live SERP, 2026-05-08). Meanwhile, the Webflow origin subdomain site.marketerhire.com is publicly indexed with 1,949 URLs, splitting canonical signal between two hosts.

50
/100

Weighted SEO Health Score

Score breakdown (weighted)
Technical (15%)65/100
On-page (10%)60/100
Content (15%)70/100
Schema (10%)50/100
AEO / AI Search (15%)30/100
E-E-A-T (10%)40/100
Competitive Capture (15%)35/100
Backlinks (10%)Subscription not active

Top 5 Critical Issues NOW

!

1. site.marketerhire.com Webflow origin is publicly indexed β€” 1,949 URLs leaking

Verified live 2026-05-08: the Webflow build endpoint serves identical content to production (x-wf-region: us-east-1, x-lambda-id response headers). Sitemap exposes 1,949 URLs including /old-home, /old-reviews2, /cb-hireform-mql, /agency-thank-you, /checkout, /communication-preferences, 40 A/B-variant /page/xm-valprop-* URLs, and 24 /roletest/* pages. Subdomain's robots.txt says Disallow: / β€” Google indexed it anyway. The homepage site.marketerhire.com/ appears in site: SERP results (WebSearch 2026-05-08).

!

2. Commercial-intent head terms are outside Google's top 20

DataForSEO Live SERP (2026-05-08, US/EN, depth 20):

"fractional cmo" β€” NOT in top 20. "hire fractional marketing" β€” NOT in top 20. "best fractional cmo platform" β€” NOT in top 20. "how to hire a fractional cmo" β€” NOT in top 20. "marketing team structure" β€” NOT in top 20. "growth marketer for hire" β€” NOT in top 20. "hire seo consultant" β€” NOT in top 20. "hire marketing consultant" β€” #11 (just outside). "marketerhire vs toptal" β€” #10 (own brand barely in top 10). The only commercial head terms ranking are direct brand variations ("hire marketers" #1) and long-tail edges. Brand defends; commercial offense is failing.

!

3. Three coexisting role-page URL patterns: /role/, /roles/, /g/roles/

Sitemap analysis: 16 URLs at /role/*, 17 URLs at /roles/*, plus a /g/roles/* namespace serving programmatic combinations like /g/roles/on-demand-services/commission-only-marketing-... (108 GSC clicks at pos 25.7). GA4 confirms users actually land on /role/* singular: /role/paid-social-marketer alone got 9,849 sessions (driven by Paid Social ads β€” Channel Mix). Three URL patterns for the same conceptual entity dilute canonical signal. Canonical tags are inconsistent: /pricing, /roles/seo-marketing, /role/social-media-manager, and /mh1 emit NO canonical at all (Crawl 2026-05-08).

!

4. Schema baseline is a single sitewide template β€” Service / Article / FAQPage / Review missing

Crawl 2026-05-08 shows every page emits the same 4 schemas: BreadcrumbList, Organization (Γ—2), LocalBusiness. There's no page-specific schema. /roles/seo-marketing (a service page) has no Service schema. /blog/tiktok-captions (5,476 words, 1,494 GSC clicks) has no Article schema or author Person. /pricing has no Offer with priceSpecification. /success (the case-study hub with 80+ enterprise logos including Apple, Google, Facebook, Shopify, Klaviyo) has no Review or about: Organization graph. GSC search-appearance report (90d) confirms only AMP_BLUE_LINK (23 clicks) and TRANSLATED_RESULT (126 clicks) β€” no FAQ, Review, Article rich results earned.

!

5. AI bot block contradicts the company's own AEO product offering

Production robots.txt sets ai-train=no, search=yes AND lists Disallow: / for ClaudeBot, GPTBot, Amazonbot under Cloudflare AI bot management (verified 2026-05-08). Yet the main nav links to "Get Found on ChatGPT" β†’ mh1.marketerhire.com/seoaeo. The site sells AEO services to clients while blocking the AI grounding crawlers that earn AEO citations on its own brand. Despite the block, GA4 shows chatgpt.com/referral driving 470 sessions and 1,563 key events in 90d β€” so AI-search demand is real and converting; closing that gap by allowing ai-input=yes would compound. Note: AI Overviews are NOT yet triggering on most fractional-marketing queries (10/10 commercial-intent SERPs checked, 0 had AI Overview β€” DataForSEO 2026-05-08), so this is forward-looking risk, not today's #1 click leak.

Top 5 Quick Wins NOW

1. Reset site.marketerhire.com β€” Cloudflare Worker 301 β†’ www, then GSC URL Removal (~3h)

Cleanest path: a Cloudflare Worker that 301-redirects every path on site. to the www. equivalent. After deploy, GSC β†’ Removals β†’ submit site.marketerhire.com/* for 6-month removal. Single deploy; 4-6 weeks for Google to consolidate canonical signal onto www. Eliminates the leaked /old-home, /old-reviews2, A/B variant, and /roletest/* URLs in one move.

2. Switch AI bot policy: ai-input=yes, ai-train=no (~30 min)

Three-toggle change in Cloudflare AI Audit. Preserves TDM opt-out (training blocked, EU 2019/790-compatible) while restoring AI grounding eligibility. ChatGPT referral already drives 470 sessions / 1,563 key events in 90d (GA4) β€” opening the grounding crawler likely 2-3x's that. Also unblocks "Get Found on ChatGPT" from selling against the company's own posture.

3. Add Service + Article + FAQPage schema via the existing Webflow template (~12-16h)

Schema baseline is already shipped sitewide (BreadcrumbList + Organization + LocalBusiness on every page β€” 4 JSON-LD blocks confirmed Crawl 2026-05-08). The infrastructure exists. Three template additions in Webflow CMS: (a) Service on every /roles/* with provider: { @id: org } and offers: priceSpecification; (b) Article + Person author on every /blog/*; (c) FAQPage matched to visible FAQ blocks on homepage / /mh1 / /pricing / /marketers. Each is a single template field; reaches hundreds of pages.

4. Single H1 on /role/* + /roles/* templates; add H1 to /success (~2-3h)

Crawl 2026-05-08: /role/social-media-manager has 3 H1 tags. /roles/seo-marketing has 3 H1 tags. /success has 0 H1 tags. Quick Webflow component edit. Multiple H1 dilutes topic signal; missing H1 leaves Google to guess the page's topic.

5. Resolve the /role/ vs /roles/ vs /g/roles/ canonical (~4-6h)

Three URL patterns for one entity. GA4 shows /role/paid-social-marketer gets 9,849 sessions (mostly Paid Social ad traffic), while /roles/seo-marketing is the SEO-targeted format (982 words, organic ranking). Decision: keep /roles/* as canonical; 301 /role/* β†’ /roles/* equivalent; 301 /g/roles/* deep paths to nearest /roles/* match (or noindex,follow if they're truly distinct programmatic landing pages). Update sitemap to canonical URLs only.

02 β€” Traffic & Visibility

90 Days of GSC + GA4 β€” and a Click Pattern That Isn't What It Looks Like

Headline: 12,442 clicks on 3.9M impressions in the 90-day window β€” but ~48% are pure brand defense, and the #2 traffic page is a TikTok-captions blog that the buyer never visits.

i

GSC Data Caching Caveat

Google Search Console data lags by 48-72 hours and aggregates queries that share an identical normalized form. Low-volume queries (<10 impressions) are often omitted entirely. Figures shown here reflect the 90-day window 2026-02-06 to 2026-05-06 (GSC, sc-domain:marketerhire.com). DataForSEO Live SERP pulls were run live 2026-05-08 and may show more current position data for specific queries.

Total clicks (90d)
12,442
GSC (web search)
Total impressions
3,899,408
GSC
Avg CTR
0.32%
Below the 0.5-1% baseline for orgs at this position
Avg position
35.8
Page 4 β€” large impression supply at low position
Ξ” clicks MoM
+14.3%
4,289 vs 3,754 prior 30d
Ξ” impressions MoM
-10.3%
CTR rising as impr supply softens
Ranked keywords
8,291
DataForSEO domain rank
Position #1 keywords
20
Mostly brand variations

Position distribution (DataForSEO domain rank)

Position bucketKeyword countShareNext Action
Position 1200.2%Hold β€” mostly brand. Audit each for SERP-feature claim (sitelinks, FAQ, breadcrumb).
Position 2-3590.7%Promote to #1 via title rewrite + Service/Article schema add (Rec #3, #4). Highest-velocity wins.
Position 4-102122.6%Top-10 keywords with lift potential β€” prioritize by search volume (DFS ranked_keywords). Each +1 spot adds ~30% CTR.
Position 11-204956.0%Page 2 cluster β€” fastest impact zone. On-page optimization + internal-link injection β†’ page 1.
Position 21-307338.8%Page 3 β€” needs content depth + topical authority. Pillar pages for top 3 clusters.
Position 31-100~6,77281.7%Long-tail tail β€” most are low-intent. Filter by commercial intent + volume; ignore the rest.

Top 25 queries by clicks (GSC, 90d)

QueryClicksImprCTRPosNext Action
marketerhire3,80913,09129.10%3.7Hold #1 organic; claim SERP β€” add Knowledge Panel via Wikidata (Rec #15); claim "marketerhire login" sitelink.
marketer hire7802,87027.18%3.1Brand variation β€” same as above. Verify all variations canonicalize to single Org @id.
markethire5361,80429.71%1.6Misspell brand β€” already winning. Hold.
market hire3171,16927.12%1.2Hold; ensure homepage alternateName in Org schema covers this variant.
marketing hire2391,89312.63%5.1Position 5.1 with low CTR (12.6%) β€” title rewrite to lead with "marketing hire" head term. Test on staging.
marketerhire login10022145.25%2.3Brand-defense; claim sitelink; ensure /login (or platform.marketerhire.com) is the destination.
marketerhire careers8518745.45%2.3Already strong. Add JobPosting schema to /careers for richer SERP.
marketinghire561,4993.74%3.7CTR depressed at pos 3.7 β€” title/description not capturing intent. Add this to title: "MarketerHire (also: marketing hire, marketinghire)".
tiktok captions that go viral454,6630.97%3.2Off-strategy β€” high impressions, low intent for buyers. Page should rank for "tiktok strategy for brands" instead. Add Article schema (Rec #4).
catchy title for tiktok394,5220.86%3.6Same β€” off-strategy. Tighten content angle to brand-led TikTok ops, not generic captions.
tiktok caption383,1891.19%5.7Same. The /blog/tiktok-captions complex is the dominant impression source; consolidate the cluster, then redirect to a brand-led TikTok pillar.
tiktok captions345,9060.58%5.6Same.
caption for tiktok video312,3631.31%3.2Same.
marketerhire jobs318436.90%2.3Hold; ensure /careers + /marketers cover this.
caption for tiktok303,2240.93%3.3Same as TikTok cluster above.
instagram viral caption copy 2025303987.54%4.2Off-strategy social-media caption traffic. Same playbook β€” pillar-page brand-anchored or de-prioritize.
marketerhire.com3022113.57%4.4Brand navigational β€” pos 4.4 is unusual. Likely because site.marketerhire.com dilutes signal (Critical #1 / Rec #1).
hire marketers211,0382.02%10.4Commercial-intent priority. Position 10.4 with 1,038 impr/90d. /hire page rewrite + Service schema + internal link from homepage hero (Rec #10).
marketerhire affiliate program219921.21%3.3Hold; /referrals page is doing the job.
best caption for tiktok191,2631.50%3.1TikTok cluster; same as above.
commission based marketing agency194644.09%5.8Long-tail commercial intent β€” investigate Quad Pricing structure, ensure /pricing addresses this with Q&A. Add to FAQPage (Rec #7).
marketerhire llc193948.72%1.0Hold #1.
marketer for hire164183.83%6.7Position 6.7 β€” title/meta tweak to capture this variation.
product promotion166,9640.23%8.1Off-strategy generic β€” /glossaries/product-promotion is ranking for low-intent traffic. Hold; don't invest.
hire social media content creator151,9580.77%22.8High-volume commercial intent at pos 22.8 β€” content gap. Build dedicated /roles/social-media-content-creator or merge into existing /role/social-media-manager via H2 expansion (Rec #10).
!

~48% of all clicks are brand defense β€” non-brand SEO is the unsolved problem

Top 10 queries (all branded variations: marketerhire, marketer hire, markethire, market hire, marketing hire, marketerhire login, marketerhire careers, marketinghire, marketerhire jobs, marketerhire.com) account for ~6,015 of the 12,442 GSC clicks. Strip those and the non-brand organic surface drives ~6,400 clicks/90d (~71/day). For a domain with 8,291 ranked keywords and 3.9M impressions, that's a 0.16% non-brand CTR β€” there's huge supply, almost no monetizable demand reaching it.

Top 20 pages by clicks (GSC, 90d)

PageClicksImprCTRPosNext Action
/6,331137,4904.60%9.9Pos 9.9 with great CTR β€” push to top 5 by claiming brand SERP features (Org schema β†’ Knowledge Panel pre-req, Rec #15).
/blog/tiktok-captions1,494192,5850.78%3.9#2 page in clicks but off-strategy. 5,476 words ranking pos 3.9 on tiktok-caption queries. Either reframe content to brand-led TikTok strategy (highest commercial intent) or add internal links to /role/social-media-manager from the page so the traffic converts.
/marketers85270,4691.21%17.6Position 17.6 with 70K impressions = massive ceiling. Add Service schema, JobPosting schema for the role discovery list, expand H2 coverage on hire-flow benefits (Rec #10).
/careers48739,6351.23%5.6Add JobPosting schema for each open role; ensure SERP shows job carousel.
/blog/instagram-comment-reply-ideas33935,4490.96%9.1Same off-strategy social-media pattern as TikTok. Add Article schema; consider de-emphasizing in topic strategy.
/blog/how-to-share-tiktok-to-instagram30664,8020.47%3.1Pos 3.1 / 64K impressions with 0.47% CTR β€” title doesn't capture click intent. Title rewrite test.
/mh117810,3061.73%5.0Pos 5 β€” solid. Add SoftwareApplication or ProfessionalService schema; FAQPage from existing 6 Q&A block (Rec #7).
/pricing11032,8170.34%3.5Pos 3.5 with 0.34% CTR is broken β€” should be 8-12% at this position. Title/description weak vs SERP competition (third-party reviews ranking #2-#9). Rec #8 β€” surface dollar prices, add Offer schema.
/g/roles/on-demand-services/commission-only-...1085,8211.86%25.7Programmatic /g/ namespace working at pos 25.7. Either canonicalize to /roles/ structure or accept as separate pSEO surface; either way, add Service schema (Rec #5).
/blog/social-media-consultant-rate9338,2340.24%14.0High-impression page-2 ranker. CTR 0.24% suggests title not aligned. Add comparison table + Article schema; should reach top 10.
/blog/instagram-captions8815,2320.58%9.2Same off-strategy social-media pattern.
/blog/marketing-team-structure6549,5990.13%22.649,599 impressions at pos 22.6 with 0.13% CTR. This is a high-commercial-intent post that's ranked too low. Make this a pillar page (Rec #11) with author Person schema, expanded scope, internal links from all role pages.
/referrals615,0421.21%21.7Branded affiliate program β€” accept current pos; /referrals isn't a head-term battle.
/blog/best-white-label-marketing-agency56100,7660.06%34.3100,766 impressions, pos 34.3, CTR 0.06% β€” biggest page-3 opportunity in the dataset. Volume is real ("white label marketing agency" is high-intent). Rewrite as a pillar/comparison; add comparison schema.
/blog/marketing-agency-team-structure3915,7800.25%14.0Page-2; expand Q&A and add FAQPage; should hit page 1.
/blog/toptal-review3925,4540.15%15.0Defensive comparison content β€” Toptal is the #1 competitor. Pos 15 is too low. Rewrite to be the canonical "MarketerHire vs Toptal" page (also see Rec #9 for full comparison program).
/blog/nonprofit-marketing-team-structure361,4282.52%9.7Niche win. Hold.
/g/roles/social-networks/commission-only-marketer342,1321.59%18.0Same /g/roles/* canonical concern (Rec #5).
/blog/marketing-org-chart3216,3830.20%15.4Adjacent to /blog/marketing-team-structure cluster. Build pillar (Rec #11) and link this as spoke.
/blog/youtube-marketing-agency3137,2330.08%32.0Page-3 with high impressions. Same comparison/pillar treatment as /blog/best-white-label-marketing-agency.

Device split (GSC, 90d)

DeviceClicksImprCTRPosNext Action
Desktop7,3022,752,3350.27%39.9Most impressions, worst position. Mobile is the commercial converter; desktop pulls more long-tail informational (TikTok captions etc.).
Mobile5,0811,122,3570.45%26.367% higher CTR than desktop, 14 positions better. Mobile-first is real for marketing-talent searches. CWV mobile is highest-leverage performance fix (Section 11A).
Tablet5924,7160.24%18.0Negligible β€” ignore.

Top 10 countries (GSC, 90d) β€” geographic ICP mismatch

CountryClicksImprCTRPosNext Action
USA4,4802,459,9320.18%37.4Primary ICP. CTR 0.18% Γ— 2.5M impressions = the biggest opportunity zone. Position improvement on commercial head terms (Rec #10) is the lever.
India1,530155,2900.99%21.4High CTR/low position pattern β€” these are job-seekers, not US clients. Confirm via GA4 countryΓ—channel cross. Adjust meta-region targeting if /marketers is over-indexing IN.
UK675398,0720.17%48.0UK ICP exists but low position. Verify if UK-specific content (/uk page or hreflang) makes sense.
Philippines54561,2680.89%10.6Job-seeker traffic. Same as IN.
Pakistan44724,7451.81%10.2Job-seeker traffic.
Canada43996,9490.45%32.5Real ICP. Worth a Canada-specific landing page test.
Nigeria37727,5031.37%6.1Job-seeker traffic.
Bangladesh31912,3522.58%10.6Job-seeker traffic β€” highest CTR in dataset (people seeking marketing jobs).
Australia27586,4150.32%44.4Real ICP at deep position.
Indonesia22127,8500.79%20.6Job-seeker traffic.

GA4 channel mix (90d, property 324078883)

ChannelSessionsUsersEng RateKey eventsNext Action
Paid Social85,61482,88112.4%27,12463% of all sessions; lowest engagement. Facebook /paid-social drives 82,917 of these β€” likely traffic to /role/paid-social-marketer (9,849 sessions) and homepage variants. Not an SEO lever.
Direct19,80617,08640.0%32,322Direct is the highest-converting channel in absolute key-event count. Brand strength is real.
Organic Search12,6579,06863.1%24,9249% of sessions, ~20% of conversions. Organic is the highest per-session converter. Doubling Organic Search sessions is roughly worth +25K key events / 90d.
Paid Search11,1588,99065.9%17,939Highest engagement rate. Cross-pollinate top-converting paid landing pages into organic.
Referral2,7901,79761.0%21,93221,932 key events on 2,790 sessions β€” extreme conversion rate. Top referrers: calendly.com (664 sess, 17,384 keyEv), chatgpt.com (470 sess, 1,563 keyEv), linkedin.com (239 sess, 153 keyEv). The Calendly traffic is post-call follow-back; ChatGPT is real AI-search referral.
Organic Social2,0441,83461.6%3,521Healthy. Continue LinkedIn / Instagram cross-posting from blog.
Email67659933.7%664Light. Newsletter referral signals are real but underused.

chatgpt.com/referral is already converting β€” and the AI bot block is suppressing more

GA4 shows chatgpt.com/referral drove 470 sessions and 1,563 key events in 90d (3.3 key events/session β€” better than every channel except Calendly). That's despite the production robots.txt blocking ChatGPT's grounding crawler. Allowing ai-input=yes (Rec #2) will compound this signal β€” ChatGPT is already citing MarketerHire enough to drive measurable conversions; opening the grounding crawler probably 2-3x's it within 60-90 days.

How we prioritize keywords (4-dimension framework)

Every keyword opportunity scores across four axes. Used to prioritize the 1,440 page-2/page-3 keywords (positions 11-30) for which-to-pursue decisions.

Dimension0-10 scaleSource
Commercial Intent0=informational ("what is fractional cmo") Β· 10=transactional ("hire fractional cmo")DataForSEO intent classifier + manual review
Ranking Difficulty0=trivial Β· 10=locked by DR90+ incumbents (Toptal, Upwork, Forbes)DataForSEO keyword_difficulty + SERP feature check
Search Volume0=<50/mo Β· 10=100K+/moDataForSEO monthly search volume
Gap Score0=we rank #1-3 already Β· 10=competitor at #1, we don't rankGSC current position + DFS competitor SERP cross-reference
03 β€” Technical SEO

Five Subdomains, One Brand, No Canonical Strategy

Cloudflare front + Webflow CMS is a sensible stack β€” but the subdomain topology has gaps. Three production subdomains (www, site, mh1) plus two functional subdomains (live, g-namespace under www) plus a separate brand domain (cmoone.ai) β€” none with a clear canonical relationship.

Production hosts
5+
www, site, mh1, live, cmoone.ai
Sitemaps in GSC
2
Both 0 errors, 0 warnings
URLs in Webflow sitemap
1,949
site.marketerhire.com
Cloudflare AI bot block
Active
ClaudeBot, GPTBot, Amazonbot

Domain topology

HostPurposeTechIndexed?IssueNext Action
www.marketerhire.comProduction canonicalCloudflare β†’ WebflowYes403 to non-Googlebot UAsHold; Cloudflare AI policy adjust (Rec #2)
marketerhire.com (apex)Should 301 β†’ wwwCloudflarePartialDirect curl shows 403; canonical of site. homepage points to apexConfirm 301 chain via curl from real Googlebot UA + reverse-DNS check
site.marketerhire.comWebflow build/originWebflow direct (x-wf-region: us-east-1)Yes β€” leak1,949 URLs publicly indexed despite robots: Disallow: /Cloudflare Worker 301 β†’ www (Rec #1); GSC Removals submit
mh1.marketerhire.comMH-1 product / SEO-AEOUnknownLinked from main nav as "Get Found on ChatGPT" β†’ /seoaeoSubdomain dilutes /mh1 page on wwwDecide: subdomain product or canonical-back to /mh1; pick one
live.marketerhire.comLive event recordingsUnknownYes β€” 28 GSC clicks on /sessions/miki-agrawal aloneYet another subdomain in the brand graphAdd to Org schema sameAs; verify VideoObject schema on session pages
cmoone.ai"CMO-1 Network" β€” separate brandUnknownYes (linked from www footer)Brand-graph fragmentationCross-link via Org schema relatedLink + sameAs

Security headers β€” Cloudflare edge vs Webflow origin

HeaderCloudflare edge (www, on challenge response)Webflow origin (site)Next Action
Strict-Transport-SecurityNot visible on challenge responsemax-age=31536000 (no preload, no includeSubDomains)Add ; includeSubDomains; preload + submit to hstspreload.org after subdomain audit
Content-Security-PolicyStrict (nonce-based) β€” but this is Cloudflare's challenge page, not the actual site policyframe-ancestors 'self' only β€” functionally openShip report-only CSP from Webflow origin (default-src 'self', script-src allowlist for GTM/Hotjar/etc.). 1-2 weeks Report-Only, then enforce.
Cross-Origin-Embedder-Policyrequire-corpNot setOrigin-side header injection via Cloudflare Workers (cleaner than Webflow custom code)
Cross-Origin-Opener-Policysame-originNot setSame as above
X-Frame-OptionsSAMEORIGINSAMEORIGINHold β€” both correct
X-Content-Type-OptionsnosniffNot visibleAdd to Webflow origin headers
Permissions-PolicyComprehensive deny-list (camera, geolocation, etc.)Not setSame Cloudflare-Worker layer for origin parity
Referrer-Policysame-originNot setSwitch to strict-origin-when-cross-origin for outbound-link SEO

Robots.txt & AI bot policy

!

The "Get Found on ChatGPT" contradiction

Production robots.txt sets search=yes, ai-train=no as the content-signal default, references EU Directive 2019/790 (TDM opt-out), AND lists Disallow: / for ClaudeBot, GPTBot, Amazonbot, and several other AI crawlers via Cloudflare's AI Audit. The "ai-train=no" preserves training opt-out; the Cloudflare layer additionally blocks AI grounding (real-time citation by ChatGPT/Claude/Perplexity).

Meanwhile main-nav links to "Get Found on ChatGPT" β†’ mh1.marketerhire.com/seoaeo β€” selling the exact AEO citation eligibility that the company's own robots policy denies AI engines on the parent brand. Switching to ai-input=yes, ai-train=no uncouples the two and restores citation eligibility (Rec #2). ChatGPT referral is already converting (470 sess / 1,563 keyEv / 90d) β€” the upside compounds.

XML sitemaps

SitemapSubmittedLast downloadedErrorsNext Action
https://marketerhire.com/sitemap.xml2025-06-042026-05-070Active. Verify it lists only canonical URLs (no site. URLs leaking).
https://marketerhire.com/g/sitemap/sitemap.xml2025-06-042026-05-040The /g/ programmatic namespace sitemap. Verify URLs match canonical structure decided in Rec #5.
https://site.marketerhire.com/sitemap.xml(NOT in GSC, but publicly accessible)β€”β€”1,949 URLs leaking. After Rec #1 deploys, this URL returns 410 Gone or 301.

Core Web Vitals β€” partial data

!

PageSpeed Insights API quota exhausted on this audit run

PSI Lighthouse + CrUX field data could not be retrieved (HTTP 429 quota exceeded for the Google Cloud project this VM runs against). Direct DataForSEO on_page check on site.marketerhire.com reports time_to_interactive: 2,288ms and dom_complete: 4,611ms (homepage, JS-rendering enabled), with the high_loading_time flag set. This is a partial signal β€” full CrUX field data (real-user p75 metrics) is in Section 11A as a placeholder pending GSC's Core Web Vitals report (recommendation: pull in next-tier audit run).

04 β€” On-Page SEO

Top 10 Page Audit β€” Crawl 2026-05-08

Pages crawled via DataForSEO on_page (JS-rendering enabled) and verified by direct curl against site.marketerhire.com (Webflow origin; www is bot-gated). Findings reflect the rendered DOM Google sees.

On-page score
60/100
Up from baseline because schema layer exists
Pages with single H1
~57%
4 of 7 audited; /role/* and /roles/* multi-H1, /success no H1
Pages with title
100%
Of pages audited
Pages with meta desc (rendered)
100%
But ALL inject via JS β€” raw HTML has none
Pages with canonical
~43%
3 of 7 audited; /pricing, /roles/*, /role/*, /mh1 have NONE

Top 10 page audit

PageTitleMetaH1 ctCanonicalWord ctSchemaNext Action
/SetJS-only1β†’ apex1,541BL+Org+Org+LBAdd Knowledge Panel pre-req via Wikidata + Org sameAs (Rec #15); add visible "We work with X+ companies" with AggregateRating; harden meta to render server-side.
/hireSetLikely set1Verify~2,000BL+Org+Org+LBAdd Service schema for the hiring offer (provider=Org, areaServed=US/Worldwide, offers=priceSpec); confirm canonical.
/marketersSetLikely set1Verify~3,000BL+Org+Org+LBPosition 17.6 / 70K impr β€” biggest impression-to-click gap on a key page. Add JobPosting schema for role discovery list; expand H2 coverage; internal-link from blog cluster.
/mh1SetSet (rendered)1None828BL+Org+Org+LBAdd canonical (Rec #5). Add SoftwareApplication or ProfessionalService schema. FAQPage schema mapping to the existing 6 Q&A block.
/pricing"Pricing"Set (rendered) β€” incl. dollar amounts1None687BL+Org+Org+LBRec #8. Surface dollar amounts on the visible page (currently meta-only). Add Offer + priceSpecification per tier. Add canonical. Add FAQPage from existing 5 Q&A block.
/roles/seo-marketingStrongSet (rendered)3None981BL+Org+Org+LBDemote 2 of 3 H1s to H2 (Rec #4). Add canonical. Add Service schema with provider: { @id: org }. This is a single template fix benefiting 17 /roles/* pages.
/role/social-media-managerSetSet (rendered)3None938BL+Org+Org+LBSame multi-H1, no-canonical pattern as /roles/* (separate template). Decide canonical (Rec #5): keep /roles/* as canonical; this page should 301 to /roles/social-media.
/blog/tiktok-captionsStrongSet (rendered)1β†’ apex5,476BL+Org+Org+LBAdd Article + author Person schema (Rec #4). 5,476 words, pos 3.9, 1,494 clicks/90d β€” all the data Google would use to surface as "Article + AI Overview citation" eligible, but no Article schema means Google has to infer it.
/successSetSet (rendered)0β†’ apex2,336BL+Org+Org+LBNo H1. Add: "Customer Success β€” Real Results from Top 1% Marketers". Add ItemList with each case study as Article + about: Organization referencing the customer's domain via sameAs (the #1 brand-graph leverage in this audit, Rec #11).
/blog/marketing-team-structureSetSet1VerifyN/ABL+Org+Org+LB49,599 impressions / pos 22.6 / CTR 0.13% β€” biggest single-page commercial-intent opportunity outside homepage. Pillar-page rewrite (Rec #11). Add Article schema + author Person.

Issues found

!

Meta descriptions are JS-injected, not in raw HTML

Direct curl on site.marketerhire.com/* returns no <meta name="description"> in the raw HTML response (verified across 7 pages on 2026-05-08). DataForSEO with JS-rendering enabled successfully extracts the descriptions, indicating Webflow injects them via JavaScript at runtime. Modern Googlebot renders JS, so this works for Google. But: non-rendering crawlers (some AI grounding bots, social-card scrapers, link-preview engines) only see the raw HTML β€” and those will fall back to first-paragraph text or worse. Combined with no OG title/description (verified raw HTML, 2026-05-08), social shares look bare. Easy fix in Webflow: switch meta from JS-injected component to native page meta field.

!

Inconsistent canonical tags β€” 4 of 7 audited pages emit no canonical

Pages WITH canonical (verified raw HTML, 2026-05-08): /, /blog/tiktok-captions, /success β€” all canonicalize to the apex (https://marketerhire.com/...). Pages WITHOUT canonical: /pricing, /roles/seo-marketing, /role/social-media-manager, /mh1. Without canonicals, Google chooses for itself between www., apex, and site. β€” and we already know site. is leaking. Sitewide canonical injection via Webflow site-settings (or per-template) is one config change.

!

Multiple H1 on /roles/* and /role/* β€” single H1 missing on /success

Webflow templates emit 3 H1 tags on both /roles/* and /role/* role pages (verified 2026-05-08). Examples on /roles/seo-marketing: the page has the lead H1 ("Optimize Search Rankings with Top-Tier SEO Talent") plus two more H1-tagged section headers. /success emits zero H1. Multiple H1 dilutes Google's primary topic signal; missing H1 forces inference. Fix at the Webflow component level (one fix β†’ 17 /roles/* pages, one fix β†’ 16 /role/* pages, one fix β†’ /success).

05 β€” Content & E-E-A-T

The Strongest Authority Asset in This Audit Is Currently Invisible to Google

80+ named enterprise customers including Apple, Google, Facebook, Shopify, Klaviyo, Allbirds, Crocs, Citigroup, Khan Academy, BetterUp, Hydrow, ClassPass, Rent the Runway. 27 deep-dive case studies. 53 marketer author pages. None of it is wrapped in machine-readable E-E-A-T schema.

Case study deep-dives
27
Long-form on /success/*
Customer logos visible
80+
On /success page alone
Author pages
53
Under /authors/* (sitemap)
Person schemas live
0
Across all author pages
CaseStudy/Review schema
0
On /success/* deep-dives
Article schema on blog
0
466 posts, no Article markup

Customer logos surfaced on /success (sample)

Visible on /success (verified 2026-05-08). Each name is a logo + link to a case study. None wrapped in about: Organization with sameAs pointing to the customer's official domain β€” meaning Google has no machine-readable graph linking MarketerHire to these brands as customers.

Apple Β· Google Β· Facebook Β· Shopify Β· Klaviyo Β· Allbirds Β· Crocs Β· Citigroup Β· Khan Academy Β· BetterUp Β· Hydrow Β· ClassPass Β· Rent the Runway Β· Honeywell Β· Gartner Β· Hewlett Packard Enterprise Β· Plaid Β· HelloFresh Β· Forbes Β· Lyft Β· Coinbase Β· Netflix Β· Hasbro Β· Pella Β· Whole30 Β· ASAPP Β· Nextiva Β· Podium Audio Β· BlueUp Β· QuickGifts Β· Horizon Media Β· The King's Trust Β· EF Ultimate Break Β· Bickster Β· Magnetic Creative Β· Purple Β· TicketFairy Β· Print Shoppe Β· iHerb Β· Russell Research Β· IIDE Β· CVENT Β· Naturewise Β· B2B Rizz Β· Grainger Β· Newzip Β· TKE Β· Directive Β· REVAMP AI Β· Tone Creative Β· Courageous Consulting Β· Hackajob Β· Abound Β· Cholo Digital Β· Denodo Β· Gartner Studios Β· Assembly Global Β· Onfido Β· Kashoo Β· Airwallex Β· Hoplark Β· Beyond, Inc. Β· Built With Science Β· Groupon Β· Too Faced Β· Centr Β· Nordstrom Rack Β· Perficient Β· Scale Healthcare Β· Wingsover Β· Rogue Β· Somebody Digital Β· Bluish Marketing Β· Natura International Β· World United Health Β· Chrysler Β· Heard That Media Β· Tech Pacific India Β· Powa Technologies

Founder/leadership credibility β€” no Person schema sitewide

i

Build a Person-schema graph from the existing /authors/* surface

The Webflow CMS already runs an /authors/* template (53 entries in sitemap). Each one is currently HTML-only. A single CMS template addition β€” Person JSON-LD with name, jobTitle, knowsAbout (CMS field), alumniOf (CMS field if collected), worksFor: { @id: org }, sameAs (LinkedIn URL, CMS field) β€” produces 53 author Person entities at once. Then every /blog/* Article schema (Rec #4) references the author via { "@id": "https://marketerhire.com/authors/{slug}#person" }. Foundational for AEO citation eligibility on YMYL marketing-strategy content.

E-E-A-T signals matrix

SignalCurrent stateWhat's missingNext Action
Experience (E)27 case studies, 6,000+ companies served claimEach case study isn't a structured Article+about:Organization graphWrap each /success/* in Article + about: Organization with customer Org @id; sameAs to customer domain (Rec #11)
Expertise (E)53 author pages, "Top 1% vetted" claim, 95% trial-to-hire claimNo Person schema; credentials/specializations not machine-readablePerson schema sitewide via /authors/* template; reference from /role/* pages as exampleSpecialist
Authoritativeness (A)Strong direct branded SERP (#1, 29% CTR); 80+ named enterprise logosNo Knowledge Panel; no Wikidata entity; AggregateRating in HTML but uniform across pagesSubmit Wikidata (Rec #15); per-page AggregateRating audit; Knowledge Panel typically appears 4-8 weeks after Wikidata + sufficient sameAs
Trustworthiness (T)HTTPS, ASTM-style certifications mentioned (NCN, Slack-Certified, etc. for marketers); 6,000+ companies citationNo Trustpilot/G2/Capterra integration in schema; no founder verification; security headers gapAdd Review schema sourced from Trustpilot (visible on branded SERP at #3); add ProfessionalService schema with hasCredential
Helpfulness (Google's 2025-add)5,476-word blog posts (e.g. tiktok-captions), 466 blog archiveAuthorship not surfaced; CTR depressed even at top-3 positions on long-tail contentAuthor Person schema + visible byline + bio block above the fold; revise top-10 traffic blogs first

Brand-graph fragmentation

!

Five hosts, two brands, no schema bridge

www.marketerhire.com, site.marketerhire.com, mh1.marketerhire.com, live.marketerhire.com, plus cmoone.ai ("CMO-1 Network" β€” separate brand domain linked from the main footer). Google sees these as five separate entities unless the Organization schema includes sameAs entries that explicitly link them. Currently the homepage Organization schema doesn't reference the other hosts. Single fix in the homepage Org JSON-LD: "sameAs": ["https://mh1.marketerhire.com", "https://live.marketerhire.com", "https://cmoone.ai", "https://linkedin.com/company/marketerhire", "https://x.com/marketerhire", "https://wikidata.org/wiki/{Q-id once shipped}"].

06 β€” Content Ecosystem Audit

466 Blog Posts, 368 Glossary Entries, 766 /outcomes Pages β€” and a TikTok Captions Detour

Inventory is enormous. Topical concentration is weak. The largest impression-driving page (/blog/tiktok-captions, 192K impr in 90d) has nothing to do with marketing-talent hiring.

A. Content inventory (Webflow sitemap, May 2026)

TypeCountStatusTop performer (GSC 90d)Next Action
/outcomes/*766ProgrammaticNot in top 30 by clicks (long-tail)Sample audit 5 random pages β€” if quality is high, expand. If thin, noindex,follow.
/blog/*466Editorial/blog/tiktok-captions (1,494 clicks, 192K impr, pos 3.9)Add Article + Person author template; cluster by topic; identify pillar candidates.
/glossaries/*368Programmatic/glossaries/product-promotion (29 clicks, 15K impr)Add DefinedTerm or Article schema; AI Overview citation candidate when properly schematized.
/authors/*53Author profilesβ€”Person schema template (Section 05).
/page/xm-valprop-*40A/B variantsβ€”Noindex,follow β€” variants compete with canonical /. Remove from sitemap.
/blog-categories/*36Category indexesβ€”Verify each has unique value vs /blog index; otherwise noindex,follow.
/martech-tools/*30Tool listingsβ€”Add SoftwareApplication schema; high commercial intent.
/success/*27Case studiesβ€”Article + about:Organization schema (Rec #11). Highest-leverage content asset.
/roletest/*24Test variantsβ€”Noindex,follow + remove from sitemap.
/industries/*23Vertical pagesβ€”High commercial intent. Verify each has distinct content; add Service schema; internal-link from role pages.
/webinar/*20Webinar/replayβ€”VideoObject schema; Event schema for upcoming.
/role/*16Role pages (singular)/role/paid-social-marketer (9,849 GA4 sessions)Resolve duplication with /roles/* (Rec #5).
/roles/*17Role pages (plural)/roles (28 GSC clicks, pos 7.8)Same β€” establish canonical form.
/g/roles/*~?Programmatic combinations/g/roles/on-demand-services/commission-only-* (108 clicks, pos 25.7)Same β€” decide canonical structure.
/compare/*4Competitor comparisonsβ€”Build 6 more (vs Toptal, Upwork Pro, Fiverr Pro, Designity, Growth Collective, We Are Rosie) β€” Rec #9.
/lp/*5Legacy LPs/lp/sem/chief-marketing-officer (381 GA4 sess)If paid-traffic-only, noindex.
/old-*2Legacy ("old") pagesβ€”Remove from sitemap; 410 Gone.

B. Topical authority concentration

Topical clusterEstimated post countTop GSC performerPillar statusNext Action
Marketing-team hiring & org-design~30-50/blog/marketing-team-structure (65 clicks, pos 22.6, 49K impr)No pillarBuild /blog/marketing-team-structure (or new pillar URL) as 5,000-word pillar; 30-50 spokes link up to it. Single highest-impact pillar candidate.
Fractional CMO & commercial-intent talent~20-30None top 30 β€” gapNo pillarBuild /how-to-hire-a-fractional-cmo as 4,000-word pillar; canonical for the head term that's NOT in top 20 today.
Social-media captions / TikTok / IG (off-strategy)~10-15/blog/tiktok-captions (1,494 clicks, pos 3.9, 192K impr)Accidental pillarDecision: (a) reframe as "TikTok marketing strategy for brands" with internal links to /role/social-media-manager (so traffic converts), or (b) accept as authority signal but de-prioritize.
Marketing-agency comparisons~15-20/blog/best-white-label-marketing-agency (56 clicks, pos 34, 100K impr)No pillarBuild pillar comparing fractional vs agency vs in-house; map to MH /pricing tiers.
Demand gen / B2B marketing~30+β€”DiffuseCluster mapping required; identify the natural pillar URL.
Marketing operations / capacity / KPIs~20+β€”DiffuseAdjacent to team-structure; could merge into single pillar.
Competitor reviews~10/blog/toptal-review (39 clicks, pos 15)Defensive onlyConvert into proper /compare/* pages (Rec #9).

C. Publishing cadence

466 blog posts in archive. Recent 8 posts visible on /blog index span "marketing team structure", "part-time marketing help 2026", "marketing capacity planning", "on-demand marketing services", "B2B lead-gen nurture", "B2B demand gen", "intent data B2B", "ABM KPIs". Cadence appears to be ~2 posts/week at the recent edge. Recommended: maintain cadence; redirect ~50% of new content into pillar-spoke clusters identified above (Section 06B).

D. High-impression / low-click opportunity map

PageImprPosCTRWhy it's an opportunityNext Action
/blog/best-white-label-marketing-agency100,76634.30.06%Page 4 with 100K impr β€” biggest single-page lift availablePillar rewrite + Article + comparison schema; should reach top 10 in 60-90d
/blog/marketing-team-structure49,59922.60.13%Page 2-3 with high commercial-intentBecome the cluster pillar; expand to 5,000+ words
/blog/social-media-consultant-rate38,23414.00.24%Page 2 ranker, low CTRAdd comparison table + Article schema; tighten title
/blog/youtube-marketing-agency37,23332.00.08%Page 3 rankerComparison-page treatment; same cluster as white-label-agency
/marketers70,46917.61.21%Page 2 with high impr β€” biggest non-blog opportunityService + JobPosting schema; expand H2 coverage
/blog/graphic-designer-hourly-rate33,56717.90.08%Page 2; rate-data contentTitle rewrite + freshness update + Article schema
/pricing32,8173.50.34%Pos 3.5 with 0.34% CTR is broken β€” third parties capturing the clickSurface dollar prices visibly + Offer schema (Rec #8)
07 β€” Schema & Structured Data

Schema Baseline Exists Sitewide; Page-Specific Schema Is the Gap

Crawl 2026-05-08 confirms a sitewide template emits 4 JSON-LD blocks on every page: BreadcrumbList, Organization (Γ—2), LocalBusiness. The infrastructure is there. What's missing: Service, Article, FAQPage, Review, Offer β€” the page-specific schemas that make the existing 4 actually useful for SERP rich results and AEO citation.

Schema score
50/100
Baseline shipped, page-specific missing
Sitewide schemas
4
BL + OrgΓ—2 + LocalBusiness
Pages with FAQPage
0
Despite visible FAQ blocks on hp/mh1/pricing
Service schemas
0
For 17 /roles/* + 16 /role/* pages
Article schemas
0
For 466 blog posts
CaseStudy/Review schemas
0
For 27 case studies + 80 logos

Current schema (sitewide template β€” verified Crawl 2026-05-08)

SchemaStatusQualityNext Action
BreadcrumbListLive sitewideVerify items[] reflects actual page hierarchyHold; spot-check 5 pages via Rich Results Test
Organization (Γ—2)Live sitewideTwo Organization blocks on same page = duplicate; should mergeConsolidate to one Org block with all properties; @id reference from other schemas
LocalBusinessLive sitewideMarketerHire isn't a local business β€” it's a marketplace. LocalBusiness is the wrong @typeReplace with ProfessionalService or OnlinePlatform β€” LocalBusiness implies physical-location queries, which mismatches the brand model
AggregateRatingIn raw HTMLUniform rating likely (same value sitewide)Verify; per Google's review guidelines, AggregateRating should be on the entity being rated, not on every page

Industry-specific schema for a Marketplace / Two-Sided platform

MarketerHire is a two-sided marketplace (clients + marketers) with service-marketplace dynamics. Per audit-quality-standards Section 9, the schema stack for this vertical:

Schema typeWhere it goesWhy it mattersStatusNext Action
OrganizationHomepage root @idKnowledge Panel pre-req; @id every other schema referencesLive but duplicatedConsolidate; add sameAs (LinkedIn, X, Crunchbase, Wikidata, mh1, live, cmoone.ai)
ProfessionalService or OnlinePlatformHomepageReplaces wrong LocalBusiness @type; signals marketplace categoryWrong typeSwap LocalBusiness β†’ ProfessionalService
Service per role17 /roles/* + 16 /role/* (after canonical resolution)Each role = a Service with provider=Org, offers=priceSpec, areaServed=USMissingWebflow CMS template; one fix β†’ 17+ pages
Offer + priceSpecification/pricing + each role pageAI shopping-agent surface; SERP price snippetMissingAdd 4 Offer entities (Starter $5K, Pro $10K, Elite $15K, Custom)
FAQPageHomepage (5 Qs visible), /mh1 (6 Qs), /pricing (5 Qs), /marketersFAQ rich result; AI Overview citation hooksMissingMap schema to verbatim visible Q&A; one block per page
Article + Person author466 /blog/*YMYL signal; AI Overview citation eligibility on marketing-strategy queriesMissingWebflow blog-post template; dynamic author Person reference via /authors/* @id
Person53 /authors/*E-E-A-T author authority graphMissing/authors/* CMS template (Section 05)
JobPosting/careers + /marketers (role discovery list)Job-search rich result; marketers searching opportunityMissingAdd to careers + dynamic to /marketers role discovery list
Review / about: Organization27 /success/*Each case study = MarketerHire delivering for customer Org X; sameAs to customer's domainMissingMost strategic structured-data add. Wraps 80+ named brands in machine-readable graph (Rec #11)
VideoObject20 /webinar/* + /live/*Video carousel eligibility; transcript-backed AI Overview citationMissingAdd uploadDate, duration, thumbnailUrl per video
SoftwareApplication or ProfessionalService/mh1 pageMH-1 product surface for SaaS-comparison queriesMissingAdd to /mh1; offers with priceSpec
DefinedTerm368 /glossaries/*Glossary entries are AI Overview citation magnets when properly schematizedMissingWebflow glossary-template addition
ItemList/roles index, /authors index, /successSitelink-friendly; SERP carousel eligibilityMissingAdd to each index/listing page

The schema gap is also the schema moat

Toptal, Upwork Pro, Fiverr Pro, Designity, We Are Rosie all have varying schema maturity β€” none combines the depth of (a) Service-per-role Γ— 17, (b) Article-with-Person-author Γ— 466 blogs, (c) about:Organization-per-customer Γ— 80+ for case studies. MarketerHire's customer-list-as-graph is the structured-data moat for the next 90 days. Today none of those 80+ Apple/Google/Facebook/Shopify connections is machine-readable to Google.

08 β€” AI Search Readiness (AEO)

Today's Click Leak Is Small; Tomorrow's Compounds

DataForSEO Live SERP (2026-05-08): 0 of 10 commercial-intent fractional-marketing queries currently trigger Google AI Overview. So the AI bot block isn't damaging today's rankings. But chatgpt.com/referral already drives 470 sessions / 1,563 key events / 90d β€” opening AI grounding compounds that, while AI Overview adoption catches up.

AEO score
30/100
AI bots blocked, no llms.txt
AI Overview presence
0/10
Commercial queries checked β€” none today
ChatGPT referral
470
Sessions / 90d (GA4)
ChatGPT key events
1,563
3.3 keyEv per session β€” best per-session converter
llms.txt
404
No grounding manifest
Bot block scope
Comprehensive
ClaudeBot, GPTBot, Amazonbot, etc.

AI Overview audit β€” 10 commercial-intent SERPs (DataForSEO Live, 2026-05-08)

QueryAI Overview?MH positionTop organic competitorsNext Action
marketerhireNo#1Reddit, Trustpilot, Glassdoor, LinkedInBrand defended. Add Knowledge Panel via Wikidata.
fractional cmoNoNot in top 20β€”Build /how-to-hire-a-fractional-cmo pillar (Rec #11).
hire fractional cmoNoNot in top 20usepassionfruit.com (#1), LinkedIn, ChiefOutsiders, Upwork, gofractionalBuild /how-to-hire-a-fractional-cmo with Service schema; competitor comparison page (Rec #9).
hire fractional marketingNoNot in top 20β€”Same pillar covers this; H2 keyword variant.
hire marketing consultantNo#11β€”Just outside top 10 β€” title rewrite + Service schema = top-10 in 30-60d.
best fractional cmo platformNoNot in top 20β€”Comparison page targeting "best X" intent (Rec #9).
marketerhire vs toptalNo#10β€”Defensive comparison content; rewrite as canonical /compare/toptal.
how to hire a fractional cmoNoNot in top 20β€”Pillar candidate (Rec #11).
marketing team structureNoNot in top 20β€”/blog/marketing-team-structure exists at pos 22.6 β€” pillar-rewrite (Rec #11).
growth marketer for hireNoNot in top 20β€”Dedicated /roles/growth-marketing rewrite + Service schema.
hire seo consultantNoNot in top 20β€”/roles/seo-marketing currently exists with 981 words; expand to 2,000+ + Service schema; aim for top 10.
freelance marketing platformNo#18β€”Page 2 β€” schema + on-page expansion β†’ page 1.

AEO building blocks β€” what's missing

BlockStatusWhy it mattersNext Action
llms.txt manifest404Emerging convention for AI-grounding-friendly site indexes; tells Claude/ChatGPT/Perplexity which URLs are canonical and what each cluster coversBuild at /llms.txt with brand summary, pricing tiers, top 5 case studies, top 10 roles. Under 8K tokens.
JSON-LD on key pagesBaseline onlySchema is the structured data AI engines extract for citationSee Section 07 β€” ship Service / Article / FAQPage / Person sitewide
FAQPage schemaNoneFAQ blocks visible on homepage / /mh1 / /pricing / /marketers β€” none are schematizedMap schema verbatim to existing visible FAQ blocks
Author Person schemaNoneYMYL signal for marketing-strategy content; AI engines preferentially cite authored content53 /authors/* pages; Webflow CMS template add
Definition-led introsUnknown368 glossary entries; if structured "term Β· definition Β· example", well-positioned for AI citationSample audit 5 random glossary entries; rewrite intro pattern if needed
AI bot allowlistBlockedai-input vs ai-train uncoupling preserves TDM opt-out while restoring groundingCloudflare AI Audit toggle (Rec #2)
Pricing transparency for AIWeak/pricing meta has dollar amounts; visible page does not. AI engines fall back to LinkedIn/Designity/cabanasonthechain who fabricate pricesSurface dollar amounts on visible page (Rec #8)
Comparison contentPartial4 /compare/* pages; competitive set is at least 6 (Toptal, Upwork Pro, Fiverr Pro, Designity, We Are Rosie, Growth Collective)Rec #9

The AI Overview opportunity window is wide-open for fractional-marketing queries

0 of 10 commercial-intent fractional-marketing queries currently trigger AI Overview (DataForSEO Live SERP, 2026-05-08). When AI Overview adoption expands to this category β€” a matter of months, not years β€” the first players with proper schema, llms.txt, author Person graph, and AI-bot-friendly robots policy capture the citation footprint. This is the single highest-leverage forward-looking lever in the audit. Combined with Rec #2 (unblock ai-input), Rec #3 (FAQPage schema), and Rec #4 (Article + Person), MarketerHire compounds advantages before competitors notice.

09 β€” Competitor Gap Analysis

Who's Winning the Commercial SERP MarketerHire Should Own

Five companies appear repeatedly in the top 10 for queries MarketerHire's ICP types. Each gets a teardown.

1. Toptal β€” toptal.com

Authority: Industry incumbent. DR is in the 80s (estimated; backlinks subscription not active in this audit). Ranks #1 or top 3 on "fractional cmo", "hire fractional marketer", "freelance marketing platform" β€” most of MarketerHire's missing top-10 positions.

What they rank for that MarketerHire doesn't (top-10 positions DataForSEO 2026-05-08):

  • "hire fractional cmo" β€” Toptal top 5; MH not in top 20
  • "freelance marketing platform" β€” Toptal top 5; MH #18
  • "fractional cmo platform" β€” Toptal top 10; MH not in top 20
  • "top freelance platforms" β€” Toptal #1-3; MH not in top 20

What they do better (observable):

  • Dedicated landing page per role-type with priced Service schema
  • Long-form Article-schemed blog with named author bylines (Person schema)
  • Established Wikidata entity + Knowledge Panel on branded SERP
  • Backlink profile (subscription gated this audit; informally observable: thousands of citing domains)

Tactical takeaway for MarketerHire: Match the Service-schema-per-role pattern (Rec #3); ship author Person schema on /authors/* (Section 05); build /compare/toptal as the canonical Toptal-comparison page using existing /blog/toptal-review (39 clicks, pos 15) as the migration target. Gap closable in 90 days? Partial β€” Toptal's backlink moat takes 12-18 months to challenge, but the schema/comparison/page-2-to-page-1 plays close 60-70% of the gap in 90 days.

2. Upwork (Pro) β€” upwork.com/hire/<role>

Authority: DR 90+. Massive scale (general freelance marketplace, not marketing-specific).

What they rank for that MarketerHire doesn't:

  • "hire fractional cmo" β€” Upwork top 5; MH not in top 20
  • "upwork similar sites" β€” MH actually ranks #2 (defensive); Upwork #1 obviously
  • Most "hire X marketer" head terms β€” Upwork has /hire/<role> pages systematically

What they do better: Programmatic /hire/<role> URL structure with Service schema and pricing data; sheer volume of customer reviews (visible in SERP rich snippets); direct enterprise marketing.

Tactical takeaway: Upwork's audience overlap with MarketerHire is partial β€” MH targets pre-vetted top 1% talent, Upwork is open marketplace. The defensive play is comparison content (vs Upwork Pro specifically β€” the closest tier), not direct head-term capture. Build /compare/upwork-pro. Gap closable? Partial β€” directly competing on Upwork's volume head terms is wrong strategy; comparison content + premium-positioning pillars is right.

3. usepassionfruit.com β€” Direct competitor; ranks #1 on "hire fractional cmo"

Authority: Lower DR than MarketerHire (estimated; this is the surprise in the SERP). Specialized fractional-CMO marketplace β€” narrower than MH but wins the head term.

What they rank for that MarketerHire doesn't:

  • "hire fractional cmo" β€” Passionfruit #1 (verified DataForSEO 2026-05-08); MH not in top 20
  • "fractional cmo" derivatives β€” multiple top-10 rankings

What they do better: Dedicated /roles/fractional-cmo URL targeting the exact head term. MarketerHire has /role/chief-marketing-officer (2,245 GA4 sess) and /lp/sem/chief-marketing-officer (381 sess) β€” but neither is the canonical "hire fractional CMO" surface, and neither ranks for the head term.

Tactical takeaway: Build the canonical /hire-fractional-cmo URL (or repurpose /role/chief-marketing-officer with title/H1 alignment to the head term). Add Service schema with priceSpec; FAQPage; internal links from /marketers + /blog/marketing-team-structure pillar. Gap closable? Yes β€” Passionfruit doesn't have MarketerHire's case-study graph or brand authority; a properly built fractional-CMO surface should reach top 5 in 60-90 days.

4. Designity β€” Active "MarketerHire alternative" capturer

Authority: Mid DR. Direct positioning competitor.

What they rank for that MarketerHire doesn't:

  • "marketerhire pricing" / "marketerhire alternative" β€” Designity ranks in the top 10; their post is titled "MarketerHire Pricing 2026: Plans, Costs, & The Best Alternative"
  • This is brand-equity leakage on MarketerHire's own brand

What they do better: Aggressive content targeting "MarketerHire alternative" with comparison tables; surface MarketerHire pricing accurately (per their post) since MH /pricing doesn't surface dollar amounts visibly.

Tactical takeaway: Two moves. (a) Surface dollar prices on /pricing immediately (Rec #8) β€” eliminates the information vacuum Designity fills. (b) Build /compare/designity directly β€” when prospects search "MarketerHire vs Designity", MarketerHire ranks #1. Gap closable? Yes, fast β€” defensive content + price transparency closes this in 30-45 days.

5. We Are Rosie β€” Marketplace for marketing freelancers (with agency-style positioning)

Authority: Mid-high DR. Has raised significant capital; well-known in CMO networks.

What they rank for: Various "fractional marketing" and "hire marketing" head terms; well-positioned in marketing-trade publications (cited in AdWeek, Forbes, etc.).

What they do better: Brand storytelling (founder narrative, mission-driven positioning); strong PR / earned-media motion; active LinkedIn presence with founder visibility. SEO is secondary to PR for them β€” but it works.

Tactical takeaway: /compare/we-are-rosie page; PR motion via newsletter / earned media isn't a pure-SEO play but compounds with the schema/page work. Gap closable? Partial β€” direct ranking gap is closable; the brand-narrative gap requires 6-12 months of PR work.

Where third parties capture MarketerHire's branded queries

Branded queryTop non-MH rankerThreat typeNext Action
"marketerhire pricing"Designity (alternative pitch); LinkedIn pulse; saasproducthunt.comDirect competitor + affiliate review farmsSurface visible pricing on /pricing (Rec #8); build /compare/designity (Rec #9)
"marketerhire review"Trustpilot; govitru.com; GlassdoorReview aggregatorsAdd Review schema sourced from Trustpilot; ensure /success ranks for "marketerhire review"
"marketerhire alternative"Designity; cabanasonthechain.comDirect competitors + SEO-spam farmsBuild /compare/* program (Rec #9); proactively claim "best alternative to" intent on competitors' branded queries
10 β€” Top 15 Recommendations

Each One Sized β€” What Β· Why Β· Implementation Β· Impact Β· Effort Β· Dependencies Β· Risk

Top 3 highlighted. All 15 sequenced by lever priority and dependency order in Section 12 (30/60/90) and Section 13 (week-by-week).

1. Reset site.marketerhire.com Webflow origin β€” Cloudflare Worker 301 β†’ www, then GSC URL Removal

What: Stop the Webflow origin subdomain from serving public traffic; consolidate all canonical signal onto www.marketerhire.com.

Why: Verified live 2026-05-08 β€” site.marketerhire.com serves identical content to production (x-wf-region: us-east-1, x-lambda-id headers confirm Webflow origin). Sitemap exposes 1,949 URLs including /old-home, /old-reviews2, /cb-hireform-mql, /agency-thank-you, /checkout, 40 A/B-variant /page/xm-valprop-*, 24 /roletest/*. Subdomain robots says Disallow: / but Google indexed it anyway (verified via WebSearch site: query). Splits canonical signal between two hosts.

Implementation:

  • Cloudflare Worker on site.marketerhire.com: 301 every path to https://www.marketerhire.com{path}
  • Verify Webflow build/preview workflow doesn't depend on site. being publicly resolvable; if it does, switch to Webflow's password-protected staging
  • GSC β†’ Removals β†’ submit site.marketerhire.com/* for 6-month removal
  • Update Webflow project sitemap to live only at www.marketerhire.com/sitemap.xml; remove site.* from any indexable surface
  • Monitor GSC Coverage report weekly for 4-6 weeks

Impact: Estimated +5-10% organic clicks within 60-90 days from canonical consolidation. Specific: the homepage at marketerhire.com/ currently ranks pos 4.4 on the brand query "marketerhire.com" (GSC, 90d) β€” typical when canonical signal is split across hosts. Post-consolidation, expect that to climb to pos 1-2.

Effort: S β€” 2-4h Β· Frontend Dev w/ Cloudflare Worker access

Dependencies: Confirm with Webflow team that site. isn't load-bearing for staging/preview workflow.

Risk: If MH-1 internal team uses site. for preview links, Worker-301 breaks that workflow. Coordinate first; Webflow has password-protected staging as alternative.

2. Switch Cloudflare AI bot policy: ai-input=yes, ai-train=no

What: Decouple AI grounding (real-time citation) from AI training (TDM opt-out). Allow ChatGPT/Claude/Perplexity grounding crawlers; preserve training-data block.

Why: GA4 confirms chatgpt.com/referral drives 470 sessions / 1,563 key events / 90d (3.3 keyEv per session β€” best per-session converter excluding Calendly). The AI-search demand is real and converting despite the block. Restoring grounding eligibility unlocks the rest. Plus the "Get Found on ChatGPT" service in main nav is undeliverable on the company's own brand while the block stands. AI Overview adoption on fractional-marketing queries is currently 0/10 (DataForSEO 2026-05-08) β€” but adoption is forward-looking, and first movers capture citation footprint.

Implementation:

  • Cloudflare β†’ AI Audit β†’ toggle: search=yes (hold), ai-input=yes (NEW), ai-train=no (hold)
  • Update robots.txt to remove explicit Disallow: / for ClaudeBot, GPTBot, Amazonbot β€” but preserve them on training-only crawlers like CCBot
  • Ship llms.txt the same week (Rec #4) so AI crawlers have a curated index
  • Track AI Overview citation status weekly via DataForSEO Live SERP on top 20 commercial-intent queries

Impact: Conservative: ChatGPT referral 2-3x in 60-90 days = +500-1,000 sessions, +1,500-3,000 key events. Forward: when AI Overview adoption hits the fractional-marketing category, MH is positioned for citation.

Effort: S β€” 30 min Β· SEO Ops + Legal sign-off

Dependencies: Legal review on TDM stance β€” confirm ai-input is acceptable while ai-train is blocked. The Directive 2019/790 opt-out is preserved by ai-train=no; ai-input is a separate question.

Risk: Legal team may have set the broad block intentionally for reasons beyond TDM β€” verify before changing.

3. Ship Service + FAQPage schema sitewide via Webflow CMS templates

What: Add page-specific structured data on top of the existing sitewide BreadcrumbList + Organization + LocalBusiness baseline. Service schema on /roles/* and /role/* (after canonical resolution); FAQPage on homepage, /mh1, /pricing, /marketers.

Why: Crawl 2026-05-08 confirms zero page-specific schema across 7 audited pages (homepage, /hire, /marketers, /mh1, /pricing, /roles/seo-marketing, /role/social-media-manager, /blog/tiktok-captions, /success). The infrastructure exists (every page already emits 4 sitewide schemas); page-specific blocks are a single CMS template addition. GSC search-appearance report (90d) confirms only AMP_BLUE_LINK (23 clicks) and TRANSLATED_RESULT (126 clicks) β€” no FAQ rich result, no Service-related rich result earned.

Implementation:

  • Webflow CMS β†’ Roles template: add Service JSON-LD with provider=Org @id, areaServed=US, offers=priceSpec from /pricing tiers, hasOfferCatalog
  • Homepage: FAQPage JSON-LD mapped verbatim to the existing 5 visible Q&A blocks
  • /mh1: FAQPage JSON-LD mapped to the 6 visible Q&A blocks
  • /pricing: FAQPage JSON-LD mapped to the 5 visible Q&A blocks; PLUS Offer schema per tier
  • /marketers: FAQPage from existing FAQ section
  • Validate every schema in Rich Results Test on 5 sample pages

Impact: Estimated +5-10% CTR on affected pages (FAQ rich result baseline impact). On /pricing specifically (32,817 impressions / 110 clicks / 0.34% CTR / pos 3.5), the CTR ceiling at pos 3.5 is 8-12% β€” closing 50% of that gap is +200-400 clicks/90d on the pricing page alone.

Effort: M β€” 12-16h Β· Frontend Dev (Webflow CMS) + Content (Q&A copy)

Dependencies: Single-source-of-truth Q&A copy decision (visible page text MUST match schema verbatim).

Risk: Schema validates but Google withholds rich results from sites it doesn't trust yet β€” that's normal; ship the schema, the rich results follow with crawl recurrence.

4. Add Article + Person author schema on 466 blog posts (single Webflow template fix)

What: Add Article schema with author: { @id: "/authors/{slug}#person" } on every /blog/* page. Ship Person schema sitewide via /authors/* CMS template first.

Why: 466 blog posts; zero have Article schema (Crawl 2026-05-08). YMYL signal for marketing-strategy content; AI Overview citation eligibility on long-tail commercial queries; Knowledge Graph reinforcement of the marketing-talent topic cluster.

Implementation:

  • Step 1: Webflow CMS /authors/* template β€” add Person JSON-LD (name, jobTitle, knowsAbout, alumniOf, sameAs, worksFor=Org @id)
  • Step 2: Webflow CMS /blog/* template β€” add Article JSON-LD with dynamic author reference, publisher=Org @id, datePublished, dateModified, mainEntityOfPage, image, wordCount
  • Step 3: Validate top 10 blog posts in Rich Results Test

Impact: Forward-looking AEO citation eligibility on the long-tail of marketing-strategy queries (~466 pages Γ— multiple long-tail keywords each). Direct ranking impact moderate (~5%) from author E-E-A-T; AI Overview impact compounds as adoption catches up.

Effort: M β€” 8-12h Β· Frontend Dev (Webflow CMS)

Dependencies: Author /authors/* pages need Person-schema-eligible bio fields populated (jobTitle, knowsAbout, alumniOf, LinkedIn URL). May need data backfill for older author entries.

Risk: Sparse Person schemas (missing fields) are weaker than no schema. Either ship complete or hold each author until bio is ready.

5. Resolve /role/ vs /roles/ vs /g/roles/ canonical structure

What: Pick one canonical URL pattern for role landing pages; 301 the others to it; update sitemap.

Why: Three URL patterns for the same conceptual entity (verified Crawl + GSC 2026-05-08): 16 /role/* URLs, 17 /roles/* URLs, plus /g/roles/* programmatic combinations. GA4 shows actual user landing data: /role/paid-social-marketer (9,849 sess, mostly Paid Social ad traffic), /role/chief-marketing-officer (2,245 sess), /role/growth-marketer (1,150 sess), /role/seo-marketer (1,132 sess) β€” singular form is the ad-driven traffic pattern. /roles/seo-marketing (the SEO-targeted format) ranks differently. Three patterns dilute canonical signal.

Implementation:

  • Decision: /roles/{plural-form-of-role} as canonical (matches search-intent β€” "hire SEO marketers" plural)
  • 301 redirect: /role/{singular} β†’ /roles/{plural} equivalents
  • 301 redirect: /g/roles/{cat}/{role} β†’ /roles/{role} nearest match (or noindex,follow if truly distinct programmatic segments)
  • Update sitemap to canonical URLs only
  • Verify Paid Social ad destinations (currently /role/paid-social-marketer) update to canonical to preserve ad-traffic continuity

Impact: Canonical consolidation typically lifts the surviving canonical 1-3 positions over 4-6 weeks. With 17+ role pages averaging pos 17-25, that's an estimated +200-400 incremental clicks/90d.

Effort: S β€” 4-6h Β· Frontend Dev + Paid Ads coordination

Dependencies: Paid Social ads currently route to /role/* β€” need ad destinations updated simultaneously with the 301 deploy.

Risk: Misordered: 301 the URLs before updating ad destinations, and you create a redirect chain that may impact ad CTR briefly.

6. Single H1 on /role/* + /roles/* templates; add H1 to /success

What: Webflow component fix to demote 2 of 3 H1 tags to H2/H3 on role-page templates; add an H1 to /success.

Why: Crawl 2026-05-08: /role/social-media-manager has 3 H1 tags. /roles/seo-marketing has 3 H1 tags. /success has 0 H1 tags. Multiple H1 dilutes Google's primary topic signal; missing H1 leaves Google to infer.

Implementation: Webflow β†’ Role template β†’ identify the 3 H1-tagged elements β†’ keep the lead one (e.g. "Optimize Search Rankings with Top-Tier SEO Talent"); demote the other 2 to H2 with same visual styling preserved (CSS class). On /success: add H1 "Customer Success β€” Real Results from Top 1% Marketers" above the existing "Marketers with real experience & real results" hero text.

Impact: Marginal direct ranking impact, but a structural fix that compounds with all other on-page work. Topic-signal clarification.

Effort: S β€” 1-2h Β· Frontend Dev (Webflow component)

Risk: None material β€” visual styling preserved.

7. Ship llms.txt manifest at /llms.txt

What: A short, marketer-authored llms.txt at https://marketerhire.com/llms.txt describing the brand, pricing, top case studies, top role pages, and /mh1 product. Tells AI engines which URLs are canonical and what each cluster covers.

Why: Verified 404 on /llms.txt 2026-05-08. Emerging convention. Combined with Rec #2 (allow ai-input), it gives AI grounding crawlers a curated index β€” they're not guessing what's important.

Implementation: Build at /llms.txt with: brand summary (2-3 paragraphs); pricing tiers with actual dollar figures; top 5 case studies with customer Org links; top 10 role pages; /mh1 product summary. Keep under 8K tokens.

Impact: AI Overview citation alignment; Claude/GPT/Perplexity grounding more accurate.

Effort: S β€” 2-3h Β· Content + SEO Ops

Dependencies: Rec #2 (ai-input=yes) for it to actually be readable to AI crawlers.

8. Surface dollar prices on /pricing β€” add Offer schema

What: Make Starter $5,000 / Pro $10,000 / Elite $15,000 / Custom visibly displayed on the page (currently in meta description, not visibly rendered). Add Offer + priceSpecification per tier.

Why: /pricing ranks pos 3.5 with 0.34% CTR on 32,817 impressions (GSC, 90d) β€” at pos 3.5 the CTR ceiling is 8-12%. Third-party reviewers (LinkedIn, Designity, govitru.com, saasproducthunt.com, cabanasonthechain.com) capture the click instead because they surface the actual numbers (per their own SEO content). Withholding the prices on /pricing cedes the SERP.

Implementation: Add price-per-tier visibly with light qualifier ("starting at"). Add Offer schema with priceSpecification per tier (matched to FIX-007 in Rec #3).

Impact: Closing 50% of the CTR gap = +200-400 clicks/90d on /pricing alone. Plus eliminates the brand-equity leak Designity exploits.

Effort: S β€” 2-4h Β· Content + Sales sign-off

Risk: Sales may want price-on-demand for negotiation flexibility. SEO/AEO cost is documentable; final call is commercial.

9. Build 6+ competitor comparison pages

What: Dedicated /compare/* pages for Toptal, Upwork Pro, Fiverr Pro, We Are Rosie, Designity, Growth Collective.

Why: 4 /compare/* pages exist today. Direct branded "MarketerHire vs X" queries are captured by competitors and review farms today. Each comparison page is also an AI Overview citation target on the head term.

Implementation: Standard comparison-page template β€” feature matrix, pricing comparison, customer-fit guide, FAQ. Each gets Article + FAQPage schema. Existing /blog/toptal-review (39 clicks, pos 15) migrates to /compare/toptal as canonical.

Impact: Estimated +50-150 incremental clicks/mo per comparison page within 60-90 days; defensive content prevents brand-equity leakage.

Effort: M β€” 16-30h for 6 pages Β· Content writer + SEO

10. Rewrite /marketers + /role/* head pages to capture commercial-intent terms

What: Title/H1/copy rewrite on /marketers (852 clicks, pos 17.6, 70K impr), /role/chief-marketing-officer, /role/growth-marketer, /role/seo-marketer to target commercial-intent head terms ("hire fractional cmo", "growth marketer for hire", "hire seo consultant").

Why: DataForSEO Live SERP 2026-05-08 confirms MH is NOT in top 20 on most commercial head terms. /marketers is at pos 17.6 with 70,469 impressions in 90d β€” page 2 with high impression supply is the highest-leverage rewrite target. Each role page gets its head-term equivalent.

Implementation: Title rewrites; H1 alignment to head term; H2 expansion covering "what is X", "how to hire X", "X cost"; FAQPage schema; internal links from blog cluster (Section 06B). After Rec #5 canonical resolution.

Impact: Each page lifting from page 2 to top 10 typically 2-3x's clicks. /marketers alone: 17.6 β†’ top 10 = +1,000-1,500 clicks/90d projected.

Effort: M β€” 16-24h Β· Content + SEO

Dependencies: Rec #5 (canonical resolution) so we know which URL to rewrite.

11. Build /how-to-hire-a-fractional-cmo pillar (3,000+ words) + convert /success to structured graph

What: Two pillar moves. (a) Build canonical "how to hire a fractional CMO" pillar β€” currently MH not in top 20 on this head term. (b) Convert /success and the 27 /success/* case studies to Article + about: Organization with each customer's domain in sameAs β€” the 80+ enterprise logo graph becomes machine-readable.

Why: Highest-leverage forward play. (a) Pillar captures the head term (currently lost to usepassionfruit.com #1, ChiefOutsiders, gofractional). (b) Case-study schema turns the strongest E-E-A-T asset (Apple/Google/Facebook/Shopify customer list) into a structured authority graph. Combined with author Person schema (Rec #4), MarketerHire becomes the canonical authority for marketing-talent queries.

Implementation: (a) Pillar at /how-to-hire-a-fractional-cmo or repurpose /role/chief-marketing-officer with proper title/H1; 3,000-4,000 words; HowTo + FAQPage schema; Article + Person author. (b) Webflow /success/* template adds Article + about:Organization with customer @id and sameAs.

Impact: Pillar at pos 5-10 within 90-120d = +400-1,000 clicks/mo. Case-study graph compounds AI Overview eligibility on every marketing-strategy query.

Effort: L β€” 30-50h Β· Content + Frontend Dev + Brand

12. Build /blog/marketing-team-structure pillar from existing post (49,599 impressions / pos 22.6 β†’ top 10)

What: Pillar-rewrite the existing post (currently 65 clicks, pos 22.6). Expand to 5,000+ words; cluster 30-50 spoke posts under it (marketing-team-structure, marketing-org-chart, marketing-agency-team-structure, creative-team-structure, nonprofit-marketing-team-structure all already exist).

Why: 49,599 impressions in 90d confirms strong topical-search demand for this entity. CTR 0.13% at pos 22.6 = page 3, low velocity. Pillar treatment + Article + FAQPage + Person author + spoke link mesh = top 10 in 60-90d.

Effort: L β€” 30-40h Β· Content + SEO

13. Resolve /blog/best-white-label-marketing-agency (100,766 impressions / pos 34.3)

What: Rewrite + restructure the highest-impression page-3-or-worse ranker. Currently 56 clicks on 100K impressions / pos 34.3. Convert to comparison pillar with Article schema.

Why: Single biggest available impression-to-click recovery in the dataset. Topic is high commercial intent; ranker quality is depressed.

Effort: M β€” 12-20h Β· Content + SEO

14. Replace LocalBusiness @type with ProfessionalService or OnlinePlatform

What: The sitewide LocalBusiness schema is a category-mismatch β€” MarketerHire isn't a local business. Replace with ProfessionalService or OnlinePlatform.

Why: LocalBusiness implies geographic-pack queries which mismatches the marketplace model. Wrong @type can suppress eligibility for actual rich results.

Effort: S β€” 1-2h Β· Frontend Dev (Webflow JSON-LD edit)

15. Submit Wikidata entity β†’ Knowledge Panel pre-req

What: Create a Wikidata entity for MarketerHire with founders, HQ, sameAs links to www, mh1, live, cmoone.ai, social profiles, named customer references.

Why: No Knowledge Panel currently on the branded SERP (verified WebSearch 2026-05-08). Wikidata is the standard pre-req. Combined with the Org schema sameAs (Section 05), Knowledge Panel typically appears 4-8 weeks post-Wikidata + sufficient third-party citations.

Implementation: Build /press page first with named third-party citations (Forbes, AdWeek, etc.); submit Wikidata entity referencing those; add Wikidata @id to Org schema sameAs.

Effort: M β€” 6-12h Β· SEO Ops + Comms

Risk: Wikidata notability requires third-party citations; gather press coverage links before submitting.

Cumulative projected impact

i

Executing all 15 recommendations on the 90-day roadmap

Day 30: +20-30% organic clicks (~143/day β†’ ~180-200/day) from Rec #1 (canonical consolidation), Rec #6 (H1 fixes), Rec #8 (pricing visibility). Day 60: +60-80% (~250-280/day) from Rec #3 (schema), Rec #5 (canonical resolution), Rec #10 (commercial-intent rewrites). Day 90: +120-150% (~340-380/day) from Rec #11 (pillar + case-study graph), Rec #12 (team-structure pillar), Rec #2 + #4 + #7 compounding AEO. At GA4 organic-search conversion rate of ~2 key events/session: +200/day clicks β‰ˆ +12K incremental key events/quarter.

11 β€” Technical Deep-Dive

Beyond the Surface β€” A through H

Eight subsections per audit-quality-standards Section 11. Includes Honest Limitations callout (11H).

A β€” Core Web Vitals (Field + Lab)

Status: Partial data. PageSpeed Insights API hit HTTP 429 quota during this audit (project-level rate limit on the VM). DataForSEO on_page on site.marketerhire.com reports time_to_interactive: 2,288ms, dom_complete: 4,611ms, high_loading_time: True on homepage (JS-rendering enabled, 2026-05-08).

What's missing: CrUX p75 field data (LCP, INP, CLS) per device; Lighthouse Lab category scores; per-page CWV across the top 25 traffic pages.

How to close the gap: GSC's Core Web Vitals report (built-in) provides CrUX p75 once GSC connection is verified β€” already have that, this audit just didn't pull it because the Search Analytics API was the priority. Next audit pass: query https://www.googleapis.com/webmasters/v3/sites/{site}/cwv-report. Or wait for PSI quota reset (24h) and pull lab scores per top page.

Forward signal: Mobile is 67% higher CTR than desktop at 14 positions better (GSC device split, Section 02). Mobile CWV is the highest-leverage performance fix; expect LCP and INP on mobile to be the binding constraints for the marketplace UI.

B β€” Indexation & Coverage

GSC sitemaps (verified 2026-05-08):

  • marketerhire.com/sitemap.xml β€” submitted 2025-06-04, last downloaded 2026-05-07, 0 errors / 0 warnings
  • marketerhire.com/g/sitemap/sitemap.xml β€” submitted 2025-06-04, last downloaded 2026-05-04, 0 errors / 0 warnings
  • site.marketerhire.com/sitemap.xml β€” NOT submitted to GSC, but publicly accessible with 1,949 URLs leaking

URL-type breakdown (from sitemap analysis): /outcomes 766, /blog 466, /glossaries 368, /authors 53, /page (A/B variants) 40, /blog-categories 36, /martech-tools 30, /success 27, /roletest 24, /industries 23, /webinar 20, /role 16, /roles 17, /hire 12, /lp 5, /compare 4, /policies 4.

Crawl budget signals: Server response from Webflow (cf-cache-status: HIT, surrogate-keys present) suggests caching is healthy. The 1,949-URL Webflow sitemap is small enough that crawl budget isn't a constraint; Google's challenge is canonical-decision quality, not crawl quantity.

Next Action: Rec #1 (site. consolidation) + Rec #5 (role canonical resolution) + Section 06A noindex of /page/xm-valprop-* and /roletest/* removes ~64 URLs from index competition.

C β€” Backlink Profile Snapshot

Status: Cannot complete. DataForSEO Backlinks API returned HTTP 40204 β€” subscription not active for this account (verified 2026-05-08, message: "Visit Plans and Subscriptions to activate your subscription"). DataForSEO domain rank API DOES surface keyword/traffic estimates but not the backlink graph.

Indirect signals: 8,291 ranked organic keywords (Section 02) implies the domain has measurable authority. Branded SERP shows MarketerHire ranking #1 with Reddit/Trustpilot/Glassdoor/LinkedIn at #2-#6 β€” consistent with a well-cited brand. ChatGPT/referral converting at 3.3 keyEv/session implies AI engines have indexed MarketerHire content from before/around the bot block.

Honest gap: Cannot verify backlink quality, anchor-text distribution, lost backlinks, or competitor backlink overlap without the subscription.

How to close the gap: Activate DataForSEO Backlinks add-on (~$XXX/mo); pull /v3/backlinks/summary, /v3/backlinks/anchors, /v3/backlinks/domain_intersection (vs Toptal, Upwork). One-time pull is enough for the next audit pass.

D β€” JavaScript Rendering Diagnosis

Finding (verified 2026-05-08): Webflow injects meta description, OG tags, and several other <head> elements via JavaScript at runtime. Direct curl on every audited page returns NO meta description in raw HTML. DataForSEO with enable_javascript: true successfully extracts these fields, indicating modern Googlebot (which renders JS) sees them correctly.

Risk: Non-rendering crawlers (some AI grounding bots, social-card scrapers, link-preview engines) only see the raw HTML. Combined with no OG title/description in raw HTML (verified), social shares from non-Google surfaces look bare.

Raw-vs-rendered diff (homepage sample, 2026-05-08):

  • Rendered (DataForSEO): title set, meta desc set ("MarketerHire allows startups, businesses..."), 4 JSON-LD blocks, full content, 41 internal links, 29 external links, 1,541 word count
  • Raw HTML (curl): title set, meta desc (none), 4 JSON-LD blocks present, OG tags (none), canonical present

Next Action: Webflow β†’ switch meta from JS-injected component to native page meta field. One CMS migration; reaches every page.

E β€” Canonical Map & Parameter Handling

Canonical findings (verified 2026-05-08):

  • / on site. β†’ canonicalizes to https://marketerhire.com (apex, no www)
  • /blog/tiktok-captions on site. β†’ canonicalizes to https://marketerhire.com/blog/tiktok-captions (apex)
  • /success on site. β†’ canonicalizes to https://marketerhire.com/success (apex)
  • /pricing, /roles/seo-marketing, /role/social-media-manager, /mh1 on site. β†’ NO canonical

Issue: Mixed coverage; pages without canonical leave Google to pick. Plus the pages WITH canonical point to apex (marketerhire.com/), but the apex direct-curls to 403 from non-Googlebot UAs β€” Google is using Googlebot reverse-DNS verification to bypass Cloudflare on the apex/www, but other crawlers see the apex as inaccessible.

Apex vs www behavior (verified 2026-05-08, generic Chrome UA):

  • https://marketerhire.com β†’ 403 (Cloudflare challenge)
  • https://www.marketerhire.com β†’ 403 (Cloudflare challenge)
  • https://site.marketerhire.com β†’ 200

Canonical decision: pick https://www.marketerhire.com/{path} (with www, no trailing slash variations) as canonical sitewide. Verify apex 301s to www at the Cloudflare layer.

Parameter handling: Spot-check shows /role/* singular and /roles/* plural overlap with /g/roles/* programmatic combinations. Three URL patterns for the same conceptual entity (Rec #5).

F β€” Redirect Chain Audit

Status: Cannot fully verify external 301 chains because Cloudflare's challenge response prevents curl -ILv -L from observing the actual redirect chain on www/apex without a verified-Googlebot UA.

What's verifiable: Apex β†’ 403, www β†’ 403, site. β†’ 200 (no redirect, serves directly). Cloudflare challenge intercepts before any 301 chain would be visible to a non-Googlebot.

Next Action: Run a real-Googlebot-spoofed audit via DataForSEO's verified-bot infrastructure to map: (1) apex β†’ www behavior, (2) http β†’ https forced upgrade, (3) any legacy /old-* paths still 301 vs 410. Confirm /old-home and /old-reviews2 (in site. sitemap) are not also reachable via apex/www.

G β€” XML Sitemap & Robots.txt Validation

Sitemap validation: Both submitted sitemaps (sitemap.xml, /g/sitemap/sitemap.xml) report 0 errors/0 warnings in GSC (verified 2026-05-08). Coverage is healthy at the file level.

Sitemap content concerns: Have not directly audited the contents of www.marketerhire.com/sitemap.xml due to Cloudflare gating. The Webflow origin sitemap (1,949 URLs) is what Google sees per content; verify the production sitemap mirrors this minus the leaked /old-* and /page/xm-valprop-* entries.

Robots.txt:

  • Production (www): Cloudflare-managed β€” content-signal default search=yes, ai-train=no; explicit Disallow: / for ClaudeBot, GPTBot, Amazonbot, several other AI crawlers; references EU Directive 2019/790
  • Webflow origin (site): Simple User-Agent: * with Disallow: / + Sitemap link

AI crawler handling: See Section 08 β€” Rec #2 (decouple ai-input from ai-train).

H β€” Honest Limitations

What this audit does NOT cover, and why:

  • Server log files β€” no Googlebot crawl frequency, no bot fingerprinting. Closing the gap requires Cloudflare log access (paid tier) or origin-side log shipping.
  • Full backlink graph β€” DataForSEO Backlinks subscription not active. Closing the gap: activate the add-on; one pull is enough for next-tier insight.
  • Server-side analytics β€” GA4 is client-side; ad-blocker users not measured. Standard for the market.
  • Historical GSC data beyond 16 months β€” Google cap; no workaround.
  • Competitor private analytics β€” Toptal, Upwork, Designity internal traffic not visible. Use SimilarWeb / Semrush for proxy estimates if needed.
  • Authenticated / member-only pages β€” the marketer dashboard, hire-flow internals β€” not auditable from outside without credentials.
  • Direct production-side crawl β€” Cloudflare challenge prevents arbitrary curl/WebFetch on www. Workarounds: DataForSEO verified-bot infrastructure, GSC URL Inspection one-by-one, or whitelist an audit-runner IP at Cloudflare WAF.
  • PageSpeed Insights β€” quota exhausted on this run; pull next session.
  • Webflow CMS internals β€” what the CMS templates look like, how meta tags are configured, plugin stack β€” not visible without admin access.
  • AI Overview adoption rate forecast β€” when fractional-marketing queries start triggering AI Overview is unknown. Recommendations are forward-positioning, not response to live damage.
12 β€” 30/60/90 Day Roadmap

Aggressive Cadence β€” 8 Time Buckets Β· 3 Milestones Β· Trajectory

No "plan a plan" phases. Every bucket has shippable work. Each milestone has projected metrics.

WindowShipsWhy this window
Days 1-3
(config-only)
Rec #1 (Cloudflare Worker β†’ 301 site.β†’www); Rec #2 (AI bot policy ai-input=yes); Rec #6 (single H1 + /success H1); Rec #14 (LocalBusiness β†’ ProfessionalService); noindex /page/xm-valprop-* + /roletest/*; canonical link injection on /pricing, /roles, /mh1 Nine config-level fixes β€” no content, no design. Each <4h. Frontend Dev + SEO Ops only. Foundation for everything that follows.
Days 4-7
(schema blitz + first content)
Rec #3 (Service + FAQPage schema sitewide via Webflow CMS templates); Rec #7 (llms.txt manifest); Rec #8 (visible dollar prices on /pricing + Offer schema); Rec #5 start (canonical resolution decision + 301 plan) Schema layer is foundational; ships before any new content. /pricing fix is the highest-leverage CTR move (pos 3.5, 0.34% CTR β†’ projected 8-12% CTR ceiling).
Days 8-14
(content layer + Person schema)
Rec #4 part 1 (Person schema sitewide via /authors/* CMS template); Rec #5 finish (role canonical resolution deploy); Rec #9 first batch (3 of 6 comparison pages: /compare/toptal, /compare/upwork-pro, /compare/designity) Author Person graph is the unblocker for everything downstream (Rec #11 customer Org graph references author @id). Comparison pages defend brand-equity leakage.
Days 15-30
(commercial-intent rewrites + remaining schema)
Rec #4 part 2 (Article schema deployed across 466 blog posts via CMS template); Rec #10 (commercial-intent rewrites on /marketers, /role/chief-marketing-officer, /role/seo-marketer, /role/growth-marketer); Rec #9 second batch (3 more comparison pages: /compare/fiverr-pro, /compare/we-are-rosie, /compare/growth-collective) Commercial-intent capture starts. /marketers at pos 17.6 with 70K impressions is the biggest single-page lift available.
Days 31-45
(pillar + case-study graph)
Rec #11 (canonical "how to hire a fractional CMO" pillar built; 27 /success/* converted to Article + about:Organization with 80+ customer @ids and sameAs); Rec #12 (marketing-team-structure pillar rewrite); Rec #13 (white-label-marketing-agency rewrite) Authority moves. Case-study customer graph is the biggest E-E-A-T multiplier in the audit. Two pillars cover the highest-impression organic surfaces.
Days 46-60
(Knowledge Panel work + DefinedTerm + JobPosting)
Rec #15 part 1 (build /press page with third-party citations); DefinedTerm schema on 368 /glossaries/* via CMS template; JobPosting schema on /careers + /marketers role discovery Wikidata pre-req work + glossary AEO eligibility. Glossary is a citation-magnet for AI Overview if properly schematized.
Days 61-75
(Wikidata submission + community/PR)
Rec #15 part 2 (Wikidata entity submission); Trustpilot integration into Review schema; OrganizationRole/memberOf schema for any industry associations; founder bylines / LinkedIn newsletter cross-pollination to drive Org sameAs and brand-graph density Wikidata typically ingests in 4-8 weeks; Knowledge Panel appears post-ingestion. Cross-channel brand-graph reinforcement compounds.
Days 76-90
(programmatic expansion + original research)
/outcomes/* sample audit + quality decision (expand or noindex,follow); 23 /industries/* β€” verify each has distinct content and Service schema; original-research moat content (e.g. "State of Fractional Marketing 2026" with original survey data β€” citation-magnet for marketing-trade publications) By day 90, MarketerHire has shipped the canonical schema layer, claimed brand-comparison SERPs, repositioned /pricing, and started building the citation moat that compounds beyond Q3.

Milestone checkpoints

Day 30 milestone

  • site. β†’ www consolidation: GSC Coverage report shows site.marketerhire.com URLs dropping from index (typically 4-6 weeks)
  • /pricing CTR: 0.34% β†’ 4-6% (closing 50% of the pos-3.5 CTR gap)
  • Service + FAQPage schema validating in Rich Results Test on 100% of /roles/*, /role/*, homepage, /mh1, /pricing
  • Person schema live on 53 /authors/* pages
  • Comparison pages live: /compare/toptal, /compare/upwork-pro, /compare/designity (initial impressions in GSC)
  • Projected GSC clicks: ~143/day β†’ ~180-200/day (+25-40%)

Day 60 milestone

  • Article + Person on 466 /blog/*; CTR uplift visible on top blog rankers (tiktok-captions, marketing-team-structure, white-label-marketing-agency)
  • Commercial-intent rewrites: /marketers position 17.6 β†’ top 10 (high-confidence projection given 70K impressions waiting); /role/chief-marketing-officer position improvement on "fractional CMO" derivatives
  • 27 /success/* now structured Articles + about:Organization with 80+ customer @ids β€” first AI Overview citation candidates
  • Wikidata entity submitted (ingestion pending)
  • Projected GSC clicks: ~250-280/day (+75-95%)

Day 90 milestone

  • How-to-hire-a-fractional-cmo pillar at top 5-10 (DataForSEO Live SERP)
  • Marketing-team-structure pillar at top 10 (49,599 impressions ceiling realized)
  • Knowledge Panel appears on branded SERP (Wikidata ingestion + sameAs density complete)
  • AI Overview citations beginning to appear if AEO adoption catches the category (forward-looking β€” possible but not guaranteed by day 90)
  • ChatGPT/referral GA4 sessions: 470/90d β†’ 1,200-1,500/90d (2.5-3x from ai-input=yes opening)
  • Projected GSC clicks: ~340-380/day (+140-165%)

Full projected trajectory

MetricToday (May 7)Day 30Day 60Day 90Source
GSC clicks/day143180-200250-280340-380GSC trend + Rec impact estimates
GSC clicks/quarter12,442~14,500~18,500~24,000Linear extrapolation
Avg position35.8~32~28~22Page-2 cluster lift + canonical wins
Brand SERP score#1, no Knowledge PanelHold #1, sitelinks addedHold #1, Wikidata pendingKnowledge Panel liveWikidata + sameAs
Pages with Article schema0~50466466Webflow CMS template
Pages with Service schema017+163333/role + /roles consolidated
Comparison pages live471010Rec #9
ChatGPT referral sessions/quarter470~600~900~1,200-1,500Rec #2 ai-input=yes opening
AI Overview citations on top 20 commercial queries00-12-45-8Forward-looking; depends on AI Overview adoption rate
13 β€” Week-by-Week Fix Schedule

Granular Plan β€” Every Week Until All 15 Recs Ship

12 weeks. Each week names the specific tickets that close, the verification step, and which milestone it builds toward.

WeekTickets shippingOwnerVerificationBuilds toward
Week 1
May 8-14
β€’ Cloudflare Worker: 301 site. β†’ www (Rec #1)
β€’ Cloudflare AI Audit: ai-input=yes (Rec #2)
β€’ robots.txt update β€” remove explicit Disallow for ClaudeBot/GPTBot/Amazonbot
β€’ GSC Removals submission for site.marketerhire.com/*
β€’ LocalBusiness β†’ ProfessionalService swap (Rec #14)
Frontend Dev + SEO Ops + Legal sign-off β€’ curl -sI https://site.marketerhire.com returns 301
β€’ robots.txt no longer Disallow:s named AI crawlers
β€’ GSC Removals dashboard shows site.* submission "In progress"
β€’ Rich Results Test: homepage shows ProfessionalService not LocalBusiness
Day 30
Week 2
May 15-21
β€’ Single H1 on /role/* + /roles/* templates (Rec #6)
β€’ Add H1 to /success
β€’ Noindex: /page/xm-valprop-*, /roletest/*, /old-* (40+24+2 URLs)
β€’ Canonical link injection sitewide via Webflow site-settings (covers /pricing, /mh1, /roles/*, /role/*)
β€’ Remove /old-home + /old-reviews2 from sitemap
Frontend Dev (Webflow CMS) β€’ Crawl 5 random /role + /roles + /success β€” single H1 each
β€’ Crawl 3 sample /page/xm-valprop-* β€” meta robots noindex
β€’ View source on /pricing, /mh1, /roles/* β€” <link rel="canonical"> present
Day 30
Week 3
May 22-28
β€’ Service schema sitewide via Webflow CMS template (Rec #3, /roles/* + /role/*)
β€’ FAQPage schema on homepage (5 visible Q&As)
β€’ FAQPage schema on /mh1 (6 Q&As)
β€’ Visible dollar prices on /pricing + Offer schema per tier (Rec #8)
Frontend Dev + Content + Sales sign-off (pricing visibility) β€’ Rich Results Test on 5 sample /roles/* β€” Service detected with provider, offers, areaServed
β€’ Rich Results Test on /, /mh1 β€” FAQPage with 5/6 Q&As
β€’ Rich Results Test on /pricing β€” Offer + priceSpec on 4 tiers; visible $ amounts
Day 30
Week 4
May 29 – Jun 4
β€’ llms.txt manifest at /llms.txt (Rec #7)
β€’ Person schema sitewide via /authors/* CMS template (Rec #4 part 1)
β€’ FAQPage schema on /pricing (5 Q&As) and /marketers
β€’ Role canonical decision approved + 301 plan documented (Rec #5 prep)
β€’ Day 30 milestone check
Frontend Dev + Content + SEO Ops β€’ curl https://marketerhire.com/llms.txt returns the manifest
β€’ Rich Results Test on 5 random /authors/* β€” Person with @id, jobTitle, knowsAbout
β€’ Day 30 metric pull: compare GSC clicks/day vs May 7 baseline; expect +25-40%
Day 30 milestone
Week 5
Jun 5-11
β€’ Role canonical resolution deploy (Rec #5): 301 /role/* β†’ /roles/*; 301 /g/roles/* β†’ nearest /roles/* match
β€’ Update Paid Social ad destinations to canonical /roles/* URLs (coordinate with Paid team)
β€’ Remove /role/* and /g/roles/* deep paths from sitemap
β€’ First 3 comparison pages: /compare/toptal, /compare/upwork-pro, /compare/designity (Rec #9 batch 1)
Frontend Dev + Paid Ads coordination + Content β€’ curl -ILv https://marketerhire.com/role/social-media-manager β†’ 301 to /roles/*
β€’ Paid ad CTR holds within Β±10% of pre-deploy baseline (no destination breakage)
β€’ 3 comparison pages live + indexed
Day 60
Week 6
Jun 12-18
β€’ Article schema sitewide via /blog/* CMS template (Rec #4 part 2 β€” reaches 466 posts)
β€’ Author Person reference via @id on every Article
β€’ Commercial-intent rewrites START: /marketers (Rec #10) β€” title/H1/H2 alignment to "hire fractional marketing team"
β€’ Switch Webflow meta from JS-injected to native page meta field (Section 11D)
Frontend Dev + Content + SEO writer β€’ Rich Results Test on 10 random /blog/* β€” Article + author Person resolves
β€’ Direct curl on /marketers, /pricing, /mh1 β€” meta description present in raw HTML
β€’ /marketers title contains commercial-intent head term
Day 60
Week 7
Jun 19-25
β€’ Commercial-intent rewrites continue: /role/chief-marketing-officer (target "hire fractional CMO"); /role/seo-marketer ("hire SEO consultant"); /role/growth-marketer ("growth marketer for hire")
β€’ 3 more comparison pages: /compare/fiverr-pro, /compare/we-are-rosie, /compare/growth-collective
β€’ Article schema validation across 466 posts (sample 20)
Content + Frontend Dev β€’ DataForSEO Live SERP on the target head terms β€” track position week-over-week
β€’ 6 /compare/* pages live total
Day 60
Week 8
Jun 26 – Jul 2
β€’ /how-to-hire-a-fractional-cmo pillar build START β€” 3,000-word draft (Rec #11 part a)
β€’ /success template upgrade: Article + about:Organization with customer @id and sameAs (Rec #11 part b)
β€’ Pull ChatGPT/referral GA4 trend; expect 1.5-2x baseline by now (Rec #2 compounding)
β€’ Day 60 milestone check
Content + Frontend Dev + SEO β€’ Pillar draft reviewed; HowTo + FAQPage schema designed
β€’ Sample 5 /success/* β€” Article schema with about:Organization referencing customer (e.g. apple.com via sameAs)
β€’ Day 60 metric pull: GSC clicks/day +75-95%; /marketers position improvement; ChatGPT referral 2x baseline
Day 60 milestone
Week 9
Jul 3-9
β€’ /how-to-hire-a-fractional-cmo pillar PUBLISHED with HowTo + FAQPage + Article + Person
β€’ Internal link mesh: 30+ relevant blog posts + /role/chief-marketing-officer + /marketers all link to pillar
β€’ /blog/marketing-team-structure pillar rewrite START (Rec #12) β€” expansion to 5,000+ words
Content + SEO β€’ DataForSEO Live SERP on "how to hire a fractional cmo" β€” pillar appears in top 30 within 1-2 weeks
β€’ Internal-link audit: pillar receives β‰₯20 internal links from spoke posts
Day 90
Week 10
Jul 10-16
β€’ /blog/marketing-team-structure pillar PUBLISHED (5,000+ words, Article+FAQPage+Person)
β€’ Spoke link audit: 30-50 cluster posts each link UP to the team-structure pillar
β€’ /blog/best-white-label-marketing-agency rewrite (Rec #13) β€” convert to comparison/pillar format
β€’ DefinedTerm schema on /glossaries/* via CMS template (368 entries)
Content + Frontend Dev + SEO β€’ Pillar live + indexed via GSC URL Inspection
β€’ Rich Results Test on 5 random /glossaries/* β€” DefinedTerm detected
Day 90
Week 11
Jul 17-23
β€’ Build /press page with named third-party citations (Forbes, AdWeek, etc.)
β€’ Wikidata entity submission for MarketerHire (Rec #15)
β€’ Update Org schema sameAs to include Wikidata @id, mh1, live, cmoone.ai
β€’ JobPosting schema on /careers + /marketers role discovery
β€’ Trustpilot reviews integration into Review schema
SEO Ops + Comms + Frontend Dev β€’ Wikidata entity URL exists with founders, sameAs links
β€’ Org schema sameAs verified in Rich Results Test
β€’ /careers shows JobPosting carousel candidate
Day 90
Week 12
Jul 24-30
β€’ Branded SERP weekly check β€” Knowledge Panel may appear as Wikidata ingestion completes (4-8 wk window from submission, so this is the start of the window)
β€’ /outcomes/* sample audit (5 random pages) β€” quality decision: expand vs noindex,follow
β€’ Original-research draft start: "State of Fractional Marketing 2026"
β€’ Day 90 milestone check
SEO Ops + Content β€’ Day 90 metric pull: GSC clicks/day +140-165% from baseline; pillar ranks top 5-10; ChatGPT referral 2.5-3x baseline; Knowledge Panel either live or imminent
β€’ Quarterly retro: which Recs underdelivered, what's the next-quarter backlog
Day 90 milestone

Operating cadence

CadenceWhat happensOwner
Daily (during weeks 1-4 deploy phases)Frontend Dev: deploy schedule check; Cloudflare/Webflow build verification; Rich Results Test on changed pagesFrontend Dev
WeeklyGSC pull (clicks, impressions, position by top 50 pages); DataForSEO Live SERP on top 20 commercial-intent queries; ChatGPT/referral GA4 trendSEO Ops
Bi-weeklyComparison page audit (which competitors moved positions); pillar-page ranking trajectory; AI Overview SERP-feature presence auditSEO Ops
MonthlyMilestone check + next-month plan adjustment; agree which underdelivering Rec needs deeper intervention; Schema validation full sweepSEO Lead + Content Lead
QuarterlyRe-audit (next-tier with Backlinks subscription active); strategic review of channel mix vs Paid Social dependence; pillar-spoke architecture refreshSEO Lead + Marketing Leadership

Anticipated blockers + mitigations

BlockerLikelihoodMitigation
Webflow team uses site.* for staging previewsHighCoordinate Week 1 timing; switch to Webflow's password-protected staging before deploying Worker-301
Legal team objects to ai-input=yesMediumFrame as decoupling: ai-train=no preserves TDM opt-out (the legal concern); ai-input=yes restores AI grounding (the SEO concern). Provide written legal memo.
Sales objects to visible /pricing dollar amountsMediumRun a 30-day A/B: variant A current /pricing, variant B with visible $ amounts. Measure /pricing β†’ hire-form CTR. Decide based on data.
Paid Social ad destinations break during Week 5 role canonical 301MediumUpdate ad destinations BEFORE deploying 301; verify ad CTR week-over-week
Webflow CMS template changes regress existing schema (the BL+Org+LB block)LowTest in Webflow staging environment; Rich Results Test before production deploy on every CMS template change
Backlinks subscription remains inactive β€” backlink graph stays unauditableMediumActivate Q3; budget ~$XXX/mo for next-tier audit and ongoing competitive backlink monitoring
Day 30/60/90 metrics underdeliverLow-mediumPer-Rec attribution: which lever didn't move, what's the diagnostic. Most likely culprit if metrics underdeliver: schema validates but Google withholds rich results β€” that's normal for new schema, expect 4-6 wk lag