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)
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.
Weighted SEO Health Score
site.marketerhire.com Webflow origin is publicly indexed β 1,949 URLs leakingVerified 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).
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.
/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).
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.
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.
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.
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.
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.
/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.
/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.
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.
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.
| Position bucket | Keyword count | Share | Next Action |
|---|---|---|---|
| Position 1 | 20 | 0.2% | Hold β mostly brand. Audit each for SERP-feature claim (sitelinks, FAQ, breadcrumb). |
| Position 2-3 | 59 | 0.7% | Promote to #1 via title rewrite + Service/Article schema add (Rec #3, #4). Highest-velocity wins. |
| Position 4-10 | 212 | 2.6% | Top-10 keywords with lift potential β prioritize by search volume (DFS ranked_keywords). Each +1 spot adds ~30% CTR. |
| Position 11-20 | 495 | 6.0% | Page 2 cluster β fastest impact zone. On-page optimization + internal-link injection β page 1. |
| Position 21-30 | 733 | 8.8% | Page 3 β needs content depth + topical authority. Pillar pages for top 3 clusters. |
| Position 31-100 | ~6,772 | 81.7% | Long-tail tail β most are low-intent. Filter by commercial intent + volume; ignore the rest. |
| Query | Clicks | Impr | CTR | Pos | Next Action |
|---|---|---|---|---|---|
| marketerhire | 3,809 | 13,091 | 29.10% | 3.7 | Hold #1 organic; claim SERP β add Knowledge Panel via Wikidata (Rec #15); claim "marketerhire login" sitelink. |
| marketer hire | 780 | 2,870 | 27.18% | 3.1 | Brand variation β same as above. Verify all variations canonicalize to single Org @id. |
| markethire | 536 | 1,804 | 29.71% | 1.6 | Misspell brand β already winning. Hold. |
| market hire | 317 | 1,169 | 27.12% | 1.2 | Hold; ensure homepage alternateName in Org schema covers this variant. |
| marketing hire | 239 | 1,893 | 12.63% | 5.1 | Position 5.1 with low CTR (12.6%) β title rewrite to lead with "marketing hire" head term. Test on staging. |
| marketerhire login | 100 | 221 | 45.25% | 2.3 | Brand-defense; claim sitelink; ensure /login (or platform.marketerhire.com) is the destination. |
| marketerhire careers | 85 | 187 | 45.45% | 2.3 | Already strong. Add JobPosting schema to /careers for richer SERP. |
| marketinghire | 56 | 1,499 | 3.74% | 3.7 | CTR depressed at pos 3.7 β title/description not capturing intent. Add this to title: "MarketerHire (also: marketing hire, marketinghire)". |
| tiktok captions that go viral | 45 | 4,663 | 0.97% | 3.2 | Off-strategy β high impressions, low intent for buyers. Page should rank for "tiktok strategy for brands" instead. Add Article schema (Rec #4). |
| catchy title for tiktok | 39 | 4,522 | 0.86% | 3.6 | Same β off-strategy. Tighten content angle to brand-led TikTok ops, not generic captions. |
| tiktok caption | 38 | 3,189 | 1.19% | 5.7 | Same. The /blog/tiktok-captions complex is the dominant impression source; consolidate the cluster, then redirect to a brand-led TikTok pillar. |
| tiktok captions | 34 | 5,906 | 0.58% | 5.6 | Same. |
| caption for tiktok video | 31 | 2,363 | 1.31% | 3.2 | Same. |
| marketerhire jobs | 31 | 84 | 36.90% | 2.3 | Hold; ensure /careers + /marketers cover this. |
| caption for tiktok | 30 | 3,224 | 0.93% | 3.3 | Same as TikTok cluster above. |
| instagram viral caption copy 2025 | 30 | 398 | 7.54% | 4.2 | Off-strategy social-media caption traffic. Same playbook β pillar-page brand-anchored or de-prioritize. |
| marketerhire.com | 30 | 221 | 13.57% | 4.4 | Brand navigational β pos 4.4 is unusual. Likely because site.marketerhire.com dilutes signal (Critical #1 / Rec #1). |
| hire marketers | 21 | 1,038 | 2.02% | 10.4 | Commercial-intent priority. Position 10.4 with 1,038 impr/90d. /hire page rewrite + Service schema + internal link from homepage hero (Rec #10). |
| marketerhire affiliate program | 21 | 99 | 21.21% | 3.3 | Hold; /referrals page is doing the job. |
| best caption for tiktok | 19 | 1,263 | 1.50% | 3.1 | TikTok cluster; same as above. |
| commission based marketing agency | 19 | 464 | 4.09% | 5.8 | Long-tail commercial intent β investigate Quad Pricing structure, ensure /pricing addresses this with Q&A. Add to FAQPage (Rec #7). |
| marketerhire llc | 19 | 39 | 48.72% | 1.0 | Hold #1. |
| marketer for hire | 16 | 418 | 3.83% | 6.7 | Position 6.7 β title/meta tweak to capture this variation. |
| product promotion | 16 | 6,964 | 0.23% | 8.1 | Off-strategy generic β /glossaries/product-promotion is ranking for low-intent traffic. Hold; don't invest. |
| hire social media content creator | 15 | 1,958 | 0.77% | 22.8 | High-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). |
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.
| Page | Clicks | Impr | CTR | Pos | Next Action |
|---|---|---|---|---|---|
| / | 6,331 | 137,490 | 4.60% | 9.9 | Pos 9.9 with great CTR β push to top 5 by claiming brand SERP features (Org schema β Knowledge Panel pre-req, Rec #15). |
| /blog/tiktok-captions | 1,494 | 192,585 | 0.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. |
| /marketers | 852 | 70,469 | 1.21% | 17.6 | Position 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). |
| /careers | 487 | 39,635 | 1.23% | 5.6 | Add JobPosting schema for each open role; ensure SERP shows job carousel. |
| /blog/instagram-comment-reply-ideas | 339 | 35,449 | 0.96% | 9.1 | Same off-strategy social-media pattern as TikTok. Add Article schema; consider de-emphasizing in topic strategy. |
| /blog/how-to-share-tiktok-to-instagram | 306 | 64,802 | 0.47% | 3.1 | Pos 3.1 / 64K impressions with 0.47% CTR β title doesn't capture click intent. Title rewrite test. |
| /mh1 | 178 | 10,306 | 1.73% | 5.0 | Pos 5 β solid. Add SoftwareApplication or ProfessionalService schema; FAQPage from existing 6 Q&A block (Rec #7). |
| /pricing | 110 | 32,817 | 0.34% | 3.5 | Pos 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-... | 108 | 5,821 | 1.86% | 25.7 | Programmatic /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-rate | 93 | 38,234 | 0.24% | 14.0 | High-impression page-2 ranker. CTR 0.24% suggests title not aligned. Add comparison table + Article schema; should reach top 10. |
| /blog/instagram-captions | 88 | 15,232 | 0.58% | 9.2 | Same off-strategy social-media pattern. |
| /blog/marketing-team-structure | 65 | 49,599 | 0.13% | 22.6 | 49,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. |
| /referrals | 61 | 5,042 | 1.21% | 21.7 | Branded affiliate program β accept current pos; /referrals isn't a head-term battle. |
| /blog/best-white-label-marketing-agency | 56 | 100,766 | 0.06% | 34.3 | 100,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-structure | 39 | 15,780 | 0.25% | 14.0 | Page-2; expand Q&A and add FAQPage; should hit page 1. |
| /blog/toptal-review | 39 | 25,454 | 0.15% | 15.0 | Defensive 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-structure | 36 | 1,428 | 2.52% | 9.7 | Niche win. Hold. |
| /g/roles/social-networks/commission-only-marketer | 34 | 2,132 | 1.59% | 18.0 | Same /g/roles/* canonical concern (Rec #5). |
| /blog/marketing-org-chart | 32 | 16,383 | 0.20% | 15.4 | Adjacent to /blog/marketing-team-structure cluster. Build pillar (Rec #11) and link this as spoke. |
| /blog/youtube-marketing-agency | 31 | 37,233 | 0.08% | 32.0 | Page-3 with high impressions. Same comparison/pillar treatment as /blog/best-white-label-marketing-agency. |
| Device | Clicks | Impr | CTR | Pos | Next Action |
|---|---|---|---|---|---|
| Desktop | 7,302 | 2,752,335 | 0.27% | 39.9 | Most impressions, worst position. Mobile is the commercial converter; desktop pulls more long-tail informational (TikTok captions etc.). |
| Mobile | 5,081 | 1,122,357 | 0.45% | 26.3 | 67% higher CTR than desktop, 14 positions better. Mobile-first is real for marketing-talent searches. CWV mobile is highest-leverage performance fix (Section 11A). |
| Tablet | 59 | 24,716 | 0.24% | 18.0 | Negligible β ignore. |
| Country | Clicks | Impr | CTR | Pos | Next Action |
|---|---|---|---|---|---|
| USA | 4,480 | 2,459,932 | 0.18% | 37.4 | Primary ICP. CTR 0.18% Γ 2.5M impressions = the biggest opportunity zone. Position improvement on commercial head terms (Rec #10) is the lever. |
| India | 1,530 | 155,290 | 0.99% | 21.4 | High 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. |
| UK | 675 | 398,072 | 0.17% | 48.0 | UK ICP exists but low position. Verify if UK-specific content (/uk page or hreflang) makes sense. |
| Philippines | 545 | 61,268 | 0.89% | 10.6 | Job-seeker traffic. Same as IN. |
| Pakistan | 447 | 24,745 | 1.81% | 10.2 | Job-seeker traffic. |
| Canada | 439 | 96,949 | 0.45% | 32.5 | Real ICP. Worth a Canada-specific landing page test. |
| Nigeria | 377 | 27,503 | 1.37% | 6.1 | Job-seeker traffic. |
| Bangladesh | 319 | 12,352 | 2.58% | 10.6 | Job-seeker traffic β highest CTR in dataset (people seeking marketing jobs). |
| Australia | 275 | 86,415 | 0.32% | 44.4 | Real ICP at deep position. |
| Indonesia | 221 | 27,850 | 0.79% | 20.6 | Job-seeker traffic. |
| Channel | Sessions | Users | Eng Rate | Key events | Next Action |
|---|---|---|---|---|---|
| Paid Social | 85,614 | 82,881 | 12.4% | 27,124 | 63% 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. |
| Direct | 19,806 | 17,086 | 40.0% | 32,322 | Direct is the highest-converting channel in absolute key-event count. Brand strength is real. |
| Organic Search | 12,657 | 9,068 | 63.1% | 24,924 | 9% of sessions, ~20% of conversions. Organic is the highest per-session converter. Doubling Organic Search sessions is roughly worth +25K key events / 90d. |
| Paid Search | 11,158 | 8,990 | 65.9% | 17,939 | Highest engagement rate. Cross-pollinate top-converting paid landing pages into organic. |
| Referral | 2,790 | 1,797 | 61.0% | 21,932 | 21,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 Social | 2,044 | 1,834 | 61.6% | 3,521 | Healthy. Continue LinkedIn / Instagram cross-posting from blog. |
| 676 | 599 | 33.7% | 664 | Light. Newsletter referral signals are real but underused. |
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.
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.
| Dimension | 0-10 scale | Source |
|---|---|---|
| Commercial Intent | 0=informational ("what is fractional cmo") Β· 10=transactional ("hire fractional cmo") | DataForSEO intent classifier + manual review |
| Ranking Difficulty | 0=trivial Β· 10=locked by DR90+ incumbents (Toptal, Upwork, Forbes) | DataForSEO keyword_difficulty + SERP feature check |
| Search Volume | 0=<50/mo Β· 10=100K+/mo | DataForSEO monthly search volume |
| Gap Score | 0=we rank #1-3 already Β· 10=competitor at #1, we don't rank | GSC current position + DFS competitor SERP cross-reference |
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.
| Host | Purpose | Tech | Indexed? | Issue | Next Action |
|---|---|---|---|---|---|
www.marketerhire.com | Production canonical | Cloudflare β Webflow | Yes | 403 to non-Googlebot UAs | Hold; Cloudflare AI policy adjust (Rec #2) |
marketerhire.com (apex) | Should 301 β www | Cloudflare | Partial | Direct curl shows 403; canonical of site. homepage points to apex | Confirm 301 chain via curl from real Googlebot UA + reverse-DNS check |
site.marketerhire.com | Webflow build/origin | Webflow direct (x-wf-region: us-east-1) | Yes β leak | 1,949 URLs publicly indexed despite robots: Disallow: / | Cloudflare Worker 301 β www (Rec #1); GSC Removals submit |
mh1.marketerhire.com | MH-1 product / SEO-AEO | Unknown | Linked from main nav as "Get Found on ChatGPT" β /seoaeo | Subdomain dilutes /mh1 page on www | Decide: subdomain product or canonical-back to /mh1; pick one |
live.marketerhire.com | Live event recordings | Unknown | Yes β 28 GSC clicks on /sessions/miki-agrawal alone | Yet another subdomain in the brand graph | Add to Org schema sameAs; verify VideoObject schema on session pages |
cmoone.ai | "CMO-1 Network" β separate brand | Unknown | Yes (linked from www footer) | Brand-graph fragmentation | Cross-link via Org schema relatedLink + sameAs |
| Header | Cloudflare edge (www, on challenge response) | Webflow origin (site) | Next Action |
|---|---|---|---|
Strict-Transport-Security | Not visible on challenge response | max-age=31536000 (no preload, no includeSubDomains) | Add ; includeSubDomains; preload + submit to hstspreload.org after subdomain audit |
Content-Security-Policy | Strict (nonce-based) β but this is Cloudflare's challenge page, not the actual site policy | frame-ancestors 'self' only β functionally open | Ship 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-Policy | require-corp | Not set | Origin-side header injection via Cloudflare Workers (cleaner than Webflow custom code) |
Cross-Origin-Opener-Policy | same-origin | Not set | Same as above |
X-Frame-Options | SAMEORIGIN | SAMEORIGIN | Hold β both correct |
X-Content-Type-Options | nosniff | Not visible | Add to Webflow origin headers |
Permissions-Policy | Comprehensive deny-list (camera, geolocation, etc.) | Not set | Same Cloudflare-Worker layer for origin parity |
Referrer-Policy | same-origin | Not set | Switch to strict-origin-when-cross-origin for outbound-link SEO |
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.
| Sitemap | Submitted | Last downloaded | Errors | Next Action |
|---|---|---|---|---|
https://marketerhire.com/sitemap.xml | 2025-06-04 | 2026-05-07 | 0 | Active. Verify it lists only canonical URLs (no site. URLs leaking). |
https://marketerhire.com/g/sitemap/sitemap.xml | 2025-06-04 | 2026-05-04 | 0 | The /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. |
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).
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.
/pricing, /roles/*, /role/*, /mh1 have NONE| Page | Title | Meta | H1 ct | Canonical | Word ct | Schema | Next Action |
|---|---|---|---|---|---|---|---|
/ | Set | JS-only | 1 | β apex | 1,541 | BL+Org+Org+LB | Add 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. |
/hire | Set | Likely set | 1 | Verify | ~2,000 | BL+Org+Org+LB | Add Service schema for the hiring offer (provider=Org, areaServed=US/Worldwide, offers=priceSpec); confirm canonical. |
/marketers | Set | Likely set | 1 | Verify | ~3,000 | BL+Org+Org+LB | Position 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. |
/mh1 | Set | Set (rendered) | 1 | None | 828 | BL+Org+Org+LB | Add canonical (Rec #5). Add SoftwareApplication or ProfessionalService schema. FAQPage schema mapping to the existing 6 Q&A block. |
/pricing | "Pricing" | Set (rendered) β incl. dollar amounts | 1 | None | 687 | BL+Org+Org+LB | Rec #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-marketing | Strong | Set (rendered) | 3 | None | 981 | BL+Org+Org+LB | Demote 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-manager | Set | Set (rendered) | 3 | None | 938 | BL+Org+Org+LB | Same 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-captions | Strong | Set (rendered) | 1 | β apex | 5,476 | BL+Org+Org+LB | Add 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. |
/success | Set | Set (rendered) | 0 | β apex | 2,336 | BL+Org+Org+LB | No 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-structure | Set | Set | 1 | Verify | N/A | BL+Org+Org+LB | 49,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. |
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.
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.
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).
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.
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.
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.
| Signal | Current state | What's missing | Next Action |
|---|---|---|---|
| Experience (E) | 27 case studies, 6,000+ companies served claim | Each case study isn't a structured Article+about:Organization graph | Wrap 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 claim | No Person schema; credentials/specializations not machine-readable | Person schema sitewide via /authors/* template; reference from /role/* pages as exampleSpecialist |
| Authoritativeness (A) | Strong direct branded SERP (#1, 29% CTR); 80+ named enterprise logos | No Knowledge Panel; no Wikidata entity; AggregateRating in HTML but uniform across pages | Submit 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 citation | No Trustpilot/G2/Capterra integration in schema; no founder verification; security headers gap | Add 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 archive | Authorship not surfaced; CTR depressed even at top-3 positions on long-tail content | Author Person schema + visible byline + bio block above the fold; revise top-10 traffic blogs first |
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}"].
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.
| Type | Count | Status | Top performer (GSC 90d) | Next Action |
|---|---|---|---|---|
/outcomes/* | 766 | Programmatic | Not in top 30 by clicks (long-tail) | Sample audit 5 random pages β if quality is high, expand. If thin, noindex,follow. |
/blog/* | 466 | Editorial | /blog/tiktok-captions (1,494 clicks, 192K impr, pos 3.9) | Add Article + Person author template; cluster by topic; identify pillar candidates. |
/glossaries/* | 368 | Programmatic | /glossaries/product-promotion (29 clicks, 15K impr) | Add DefinedTerm or Article schema; AI Overview citation candidate when properly schematized. |
/authors/* | 53 | Author profiles | β | Person schema template (Section 05). |
/page/xm-valprop-* | 40 | A/B variants | β | Noindex,follow β variants compete with canonical /. Remove from sitemap. |
/blog-categories/* | 36 | Category indexes | β | Verify each has unique value vs /blog index; otherwise noindex,follow. |
/martech-tools/* | 30 | Tool listings | β | Add SoftwareApplication schema; high commercial intent. |
/success/* | 27 | Case studies | β | Article + about:Organization schema (Rec #11). Highest-leverage content asset. |
/roletest/* | 24 | Test variants | β | Noindex,follow + remove from sitemap. |
/industries/* | 23 | Vertical pages | β | High commercial intent. Verify each has distinct content; add Service schema; internal-link from role pages. |
/webinar/* | 20 | Webinar/replay | β | VideoObject schema; Event schema for upcoming. |
/role/* | 16 | Role pages (singular) | /role/paid-social-marketer (9,849 GA4 sessions) | Resolve duplication with /roles/* (Rec #5). |
/roles/* | 17 | Role 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/* | 4 | Competitor comparisons | β | Build 6 more (vs Toptal, Upwork Pro, Fiverr Pro, Designity, Growth Collective, We Are Rosie) β Rec #9. |
/lp/* | 5 | Legacy LPs | /lp/sem/chief-marketing-officer (381 GA4 sess) | If paid-traffic-only, noindex. |
/old-* | 2 | Legacy ("old") pages | β | Remove from sitemap; 410 Gone. |
| Topical cluster | Estimated post count | Top GSC performer | Pillar status | Next Action |
|---|---|---|---|---|
| Marketing-team hiring & org-design | ~30-50 | /blog/marketing-team-structure (65 clicks, pos 22.6, 49K impr) | No pillar | Build /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-30 | None top 30 β gap | No pillar | Build /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 pillar | Decision: (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 pillar | Build pillar comparing fractional vs agency vs in-house; map to MH /pricing tiers. |
| Demand gen / B2B marketing | ~30+ | β | Diffuse | Cluster mapping required; identify the natural pillar URL. |
| Marketing operations / capacity / KPIs | ~20+ | β | Diffuse | Adjacent to team-structure; could merge into single pillar. |
| Competitor reviews | ~10 | /blog/toptal-review (39 clicks, pos 15) | Defensive only | Convert into proper /compare/* pages (Rec #9). |
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).
| Page | Impr | Pos | CTR | Why it's an opportunity | Next Action |
|---|---|---|---|---|---|
| /blog/best-white-label-marketing-agency | 100,766 | 34.3 | 0.06% | Page 4 with 100K impr β biggest single-page lift available | Pillar rewrite + Article + comparison schema; should reach top 10 in 60-90d |
| /blog/marketing-team-structure | 49,599 | 22.6 | 0.13% | Page 2-3 with high commercial-intent | Become the cluster pillar; expand to 5,000+ words |
| /blog/social-media-consultant-rate | 38,234 | 14.0 | 0.24% | Page 2 ranker, low CTR | Add comparison table + Article schema; tighten title |
| /blog/youtube-marketing-agency | 37,233 | 32.0 | 0.08% | Page 3 ranker | Comparison-page treatment; same cluster as white-label-agency |
| /marketers | 70,469 | 17.6 | 1.21% | Page 2 with high impr β biggest non-blog opportunity | Service + JobPosting schema; expand H2 coverage |
| /blog/graphic-designer-hourly-rate | 33,567 | 17.9 | 0.08% | Page 2; rate-data content | Title rewrite + freshness update + Article schema |
| /pricing | 32,817 | 3.5 | 0.34% | Pos 3.5 with 0.34% CTR is broken β third parties capturing the click | Surface dollar prices visibly + Offer schema (Rec #8) |
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 | Status | Quality | Next Action |
|---|---|---|---|
BreadcrumbList | Live sitewide | Verify items[] reflects actual page hierarchy | Hold; spot-check 5 pages via Rich Results Test |
Organization (Γ2) | Live sitewide | Two Organization blocks on same page = duplicate; should merge | Consolidate to one Org block with all properties; @id reference from other schemas |
LocalBusiness | Live sitewide | MarketerHire isn't a local business β it's a marketplace. LocalBusiness is the wrong @type | Replace with ProfessionalService or OnlinePlatform β LocalBusiness implies physical-location queries, which mismatches the brand model |
AggregateRating | In raw HTML | Uniform rating likely (same value sitewide) | Verify; per Google's review guidelines, AggregateRating should be on the entity being rated, not on every page |
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 type | Where it goes | Why it matters | Status | Next Action |
|---|---|---|---|---|
Organization | Homepage root @id | Knowledge Panel pre-req; @id every other schema references | Live but duplicated | Consolidate; add sameAs (LinkedIn, X, Crunchbase, Wikidata, mh1, live, cmoone.ai) |
ProfessionalService or OnlinePlatform | Homepage | Replaces wrong LocalBusiness @type; signals marketplace category | Wrong type | Swap LocalBusiness β ProfessionalService |
Service per role | 17 /roles/* + 16 /role/* (after canonical resolution) | Each role = a Service with provider=Org, offers=priceSpec, areaServed=US | Missing | Webflow CMS template; one fix β 17+ pages |
Offer + priceSpecification | /pricing + each role page | AI shopping-agent surface; SERP price snippet | Missing | Add 4 Offer entities (Starter $5K, Pro $10K, Elite $15K, Custom) |
FAQPage | Homepage (5 Qs visible), /mh1 (6 Qs), /pricing (5 Qs), /marketers | FAQ rich result; AI Overview citation hooks | Missing | Map schema to verbatim visible Q&A; one block per page |
Article + Person author | 466 /blog/* | YMYL signal; AI Overview citation eligibility on marketing-strategy queries | Missing | Webflow blog-post template; dynamic author Person reference via /authors/* @id |
Person | 53 /authors/* | E-E-A-T author authority graph | Missing | /authors/* CMS template (Section 05) |
JobPosting | /careers + /marketers (role discovery list) | Job-search rich result; marketers searching opportunity | Missing | Add to careers + dynamic to /marketers role discovery list |
Review / about: Organization | 27 /success/* | Each case study = MarketerHire delivering for customer Org X; sameAs to customer's domain | Missing | Most strategic structured-data add. Wraps 80+ named brands in machine-readable graph (Rec #11) |
VideoObject | 20 /webinar/* + /live/* | Video carousel eligibility; transcript-backed AI Overview citation | Missing | Add uploadDate, duration, thumbnailUrl per video |
SoftwareApplication or ProfessionalService | /mh1 page | MH-1 product surface for SaaS-comparison queries | Missing | Add to /mh1; offers with priceSpec |
DefinedTerm | 368 /glossaries/* | Glossary entries are AI Overview citation magnets when properly schematized | Missing | Webflow glossary-template addition |
ItemList | /roles index, /authors index, /success | Sitelink-friendly; SERP carousel eligibility | Missing | Add to each index/listing page |
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.
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.
| Query | AI Overview? | MH position | Top organic competitors | Next Action |
|---|---|---|---|---|
| marketerhire | No | #1 | Reddit, Trustpilot, Glassdoor, LinkedIn | Brand defended. Add Knowledge Panel via Wikidata. |
| fractional cmo | No | Not in top 20 | β | Build /how-to-hire-a-fractional-cmo pillar (Rec #11). |
| hire fractional cmo | No | Not in top 20 | usepassionfruit.com (#1), LinkedIn, ChiefOutsiders, Upwork, gofractional | Build /how-to-hire-a-fractional-cmo with Service schema; competitor comparison page (Rec #9). |
| hire fractional marketing | No | Not in top 20 | β | Same pillar covers this; H2 keyword variant. |
| hire marketing consultant | No | #11 | β | Just outside top 10 β title rewrite + Service schema = top-10 in 30-60d. |
| best fractional cmo platform | No | Not in top 20 | β | Comparison page targeting "best X" intent (Rec #9). |
| marketerhire vs toptal | No | #10 | β | Defensive comparison content; rewrite as canonical /compare/toptal. |
| how to hire a fractional cmo | No | Not in top 20 | β | Pillar candidate (Rec #11). |
| marketing team structure | No | Not in top 20 | β | /blog/marketing-team-structure exists at pos 22.6 β pillar-rewrite (Rec #11). |
| growth marketer for hire | No | Not in top 20 | β | Dedicated /roles/growth-marketing rewrite + Service schema. |
| hire seo consultant | No | Not in top 20 | β | /roles/seo-marketing currently exists with 981 words; expand to 2,000+ + Service schema; aim for top 10. |
| freelance marketing platform | No | #18 | β | Page 2 β schema + on-page expansion β page 1. |
| Block | Status | Why it matters | Next Action |
|---|---|---|---|
| llms.txt manifest | 404 | Emerging convention for AI-grounding-friendly site indexes; tells Claude/ChatGPT/Perplexity which URLs are canonical and what each cluster covers | Build at /llms.txt with brand summary, pricing tiers, top 5 case studies, top 10 roles. Under 8K tokens. |
| JSON-LD on key pages | Baseline only | Schema is the structured data AI engines extract for citation | See Section 07 β ship Service / Article / FAQPage / Person sitewide |
| FAQPage schema | None | FAQ blocks visible on homepage / /mh1 / /pricing / /marketers β none are schematized | Map schema verbatim to existing visible FAQ blocks |
| Author Person schema | None | YMYL signal for marketing-strategy content; AI engines preferentially cite authored content | 53 /authors/* pages; Webflow CMS template add |
| Definition-led intros | Unknown | 368 glossary entries; if structured "term Β· definition Β· example", well-positioned for AI citation | Sample audit 5 random glossary entries; rewrite intro pattern if needed |
| AI bot allowlist | Blocked | ai-input vs ai-train uncoupling preserves TDM opt-out while restoring grounding | Cloudflare AI Audit toggle (Rec #2) |
| Pricing transparency for AI | Weak | /pricing meta has dollar amounts; visible page does not. AI engines fall back to LinkedIn/Designity/cabanasonthechain who fabricate prices | Surface dollar amounts on visible page (Rec #8) |
| Comparison content | Partial | 4 /compare/* pages; competitive set is at least 6 (Toptal, Upwork Pro, Fiverr Pro, Designity, We Are Rosie, Growth Collective) | Rec #9 |
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.
Five companies appear repeatedly in the top 10 for queries MarketerHire's ICP types. Each gets a teardown.
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):
What they do better (observable):
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.
Authority: DR 90+. Massive scale (general freelance marketplace, not marketing-specific).
What they rank for that MarketerHire doesn't:
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.
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:
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.
Authority: Mid DR. Direct positioning competitor.
What they rank for that MarketerHire doesn't:
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.
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.
| Branded query | Top non-MH ranker | Threat type | Next Action |
|---|---|---|---|
| "marketerhire pricing" | Designity (alternative pitch); LinkedIn pulse; saasproducthunt.com | Direct competitor + affiliate review farms | Surface visible pricing on /pricing (Rec #8); build /compare/designity (Rec #9) |
| "marketerhire review" | Trustpilot; govitru.com; Glassdoor | Review aggregators | Add Review schema sourced from Trustpilot; ensure /success ranks for "marketerhire review" |
| "marketerhire alternative" | Designity; cabanasonthechain.com | Direct competitors + SEO-spam farms | Build /compare/* program (Rec #9); proactively claim "best alternative to" intent on competitors' branded queries |
Top 3 highlighted. All 15 sequenced by lever priority and dependency order in Section 12 (30/60/90) and Section 13 (week-by-week).
site.marketerhire.com Webflow origin β Cloudflare Worker 301 β www, then GSC URL RemovalWhat: 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:
site.marketerhire.com: 301 every path to https://www.marketerhire.com{path}site. being publicly resolvable; if it does, switch to Webflow's password-protected stagingsite.marketerhire.com/* for 6-month removalwww.marketerhire.com/sitemap.xml; remove site.* from any indexable surfaceImpact: 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.
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:
robots.txt to remove explicit Disallow: / for ClaudeBot, GPTBot, Amazonbot β but preserve them on training-only crawlers like CCBotImpact: 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.
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:
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.
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:
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.
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:
/roles/{plural-form-of-role} as canonical (matches search-intent β "hire SEO marketers" plural)/role/{singular} β /roles/{plural} equivalents/g/roles/{cat}/{role} β /roles/{role} nearest match (or noindex,follow if truly distinct programmatic segments)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.
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.
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.
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.
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
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.
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
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
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
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)
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.
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.
Eight subsections per audit-quality-standards Section 11. Includes Honest Limitations callout (11H).
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.
GSC sitemaps (verified 2026-05-08):
marketerhire.com/sitemap.xml β submitted 2025-06-04, last downloaded 2026-05-07, 0 errors / 0 warningsmarketerhire.com/g/sitemap/sitemap.xml β submitted 2025-06-04, last downloaded 2026-05-04, 0 errors / 0 warningssite.marketerhire.com/sitemap.xml β NOT submitted to GSC, but publicly accessible with 1,949 URLs leakingURL-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.
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.
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):
Next Action: Webflow β switch meta from JS-injected component to native page meta field. One CMS migration; reaches every page.
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 canonicalIssue: 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 β 200Canonical 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).
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.
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:
search=yes, ai-train=no; explicit Disallow: / for ClaudeBot, GPTBot, Amazonbot, several other AI crawlers; references EU Directive 2019/790User-Agent: * with Disallow: / + Sitemap linkAI crawler handling: See Section 08 β Rec #2 (decouple ai-input from ai-train).
What this audit does NOT cover, and why:
No "plan a plan" phases. Every bucket has shippable work. Each milestone has projected metrics.
| Window | Ships | Why 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. |
| Metric | Today (May 7) | Day 30 | Day 60 | Day 90 | Source |
|---|---|---|---|---|---|
| GSC clicks/day | 143 | 180-200 | 250-280 | 340-380 | GSC trend + Rec impact estimates |
| GSC clicks/quarter | 12,442 | ~14,500 | ~18,500 | ~24,000 | Linear extrapolation |
| Avg position | 35.8 | ~32 | ~28 | ~22 | Page-2 cluster lift + canonical wins |
| Brand SERP score | #1, no Knowledge Panel | Hold #1, sitelinks added | Hold #1, Wikidata pending | Knowledge Panel live | Wikidata + sameAs |
| Pages with Article schema | 0 | ~50 | 466 | 466 | Webflow CMS template |
| Pages with Service schema | 0 | 17+16 | 33 | 33 | /role + /roles consolidated |
| Comparison pages live | 4 | 7 | 10 | 10 | Rec #9 |
| ChatGPT referral sessions/quarter | 470 | ~600 | ~900 | ~1,200-1,500 | Rec #2 ai-input=yes opening |
| AI Overview citations on top 20 commercial queries | 0 | 0-1 | 2-4 | 5-8 | Forward-looking; depends on AI Overview adoption rate |
12 weeks. Each week names the specific tickets that close, the verification step, and which milestone it builds toward.
| Week | Tickets shipping | Owner | Verification | Builds 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 |
| Cadence | What happens | Owner |
|---|---|---|
| Daily (during weeks 1-4 deploy phases) | Frontend Dev: deploy schedule check; Cloudflare/Webflow build verification; Rich Results Test on changed pages | Frontend Dev |
| Weekly | GSC pull (clicks, impressions, position by top 50 pages); DataForSEO Live SERP on top 20 commercial-intent queries; ChatGPT/referral GA4 trend | SEO Ops |
| Bi-weekly | Comparison page audit (which competitors moved positions); pillar-page ranking trajectory; AI Overview SERP-feature presence audit | SEO Ops |
| Monthly | Milestone check + next-month plan adjustment; agree which underdelivering Rec needs deeper intervention; Schema validation full sweep | SEO Lead + Content Lead |
| Quarterly | Re-audit (next-tier with Backlinks subscription active); strategic review of channel mix vs Paid Social dependence; pillar-spoke architecture refresh | SEO Lead + Marketing Leadership |
| Blocker | Likelihood | Mitigation |
|---|---|---|
| Webflow team uses site.* for staging previews | High | Coordinate Week 1 timing; switch to Webflow's password-protected staging before deploying Worker-301 |
| Legal team objects to ai-input=yes | Medium | Frame 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 amounts | Medium | Run 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 301 | Medium | Update ad destinations BEFORE deploying 301; verify ad CTR week-over-week |
| Webflow CMS template changes regress existing schema (the BL+Org+LB block) | Low | Test in Webflow staging environment; Rich Results Test before production deploy on every CMS template change |
| Backlinks subscription remains inactive β backlink graph stays unauditable | Medium | Activate Q3; budget ~$XXX/mo for next-tier audit and ongoing competitive backlink monitoring |
| Day 30/60/90 metrics underdeliver | Low-medium | Per-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 |