[{"data":1,"prerenderedAt":381},["ShallowReactive",2],{"navigation_docs":3,"-mcp-agent-playbook-seo-geo":164,"-mcp-agent-playbook-seo-geo-surround":378},[4,23,45,90,108,126,144],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":22},"Getting started","i-lucide-rocket","/getting-started","1.getting-started",[10,14,18],{"title":11,"path":12,"stem":13},"Introduction","/getting-started/introduction","1.getting-started/1.introduction",{"title":15,"path":16,"stem":17},"Quickstart","/getting-started/quickstart","1.getting-started/2.quickstart",{"title":19,"path":20,"stem":21},"Core concepts","/getting-started/concepts","1.getting-started/3.concepts",false,{"title":24,"icon":25,"path":26,"stem":27,"children":28,"page":22},"Tracking SDK","i-lucide-chart-line","/tracking-sdk","2.tracking-sdk",[29,33,37,41],{"title":30,"path":31,"stem":32},"Overview","/tracking-sdk/overview","2.tracking-sdk/1.overview",{"title":34,"path":35,"stem":36},"JavaScript SDK","/tracking-sdk/javascript","2.tracking-sdk/2.javascript",{"title":38,"path":39,"stem":40},"Events reference","/tracking-sdk/events","2.tracking-sdk/3.events",{"title":42,"path":43,"stem":44},"Event schema","/tracking-sdk/event-schema","2.tracking-sdk/4.event-schema",{"title":46,"icon":47,"path":48,"stem":49,"children":50,"page":22},"Connectors","i-lucide-plug","/connectors","3.connectors",[51,54,58,62,66,70,74,78,82,86],{"title":30,"path":52,"stem":53},"/connectors/overview","3.connectors/1.overview",{"title":55,"path":56,"stem":57},"Cloudflare AI crawlers","/connectors/cloudflare-ai-crawlers","3.connectors/10.cloudflare-ai-crawlers",{"title":59,"path":60,"stem":61},"Google Ads","/connectors/google-ads","3.connectors/2.google-ads",{"title":63,"path":64,"stem":65},"Meta Ads","/connectors/meta-ads","3.connectors/3.meta-ads",{"title":67,"path":68,"stem":69},"TikTok Ads","/connectors/tiktok-ads","3.connectors/4.tiktok-ads",{"title":71,"path":72,"stem":73},"LinkedIn Ads","/connectors/linkedin-ads","3.connectors/5.linkedin-ads",{"title":75,"path":76,"stem":77},"Pinterest Ads","/connectors/pinterest-ads","3.connectors/6.pinterest-ads",{"title":79,"path":80,"stem":81},"Custom webhooks","/connectors/webhooks","3.connectors/7.webhooks",{"title":83,"path":84,"stem":85},"PrestaShop","/connectors/prestashop","3.connectors/8.prestashop",{"title":87,"path":88,"stem":89},"WooCommerce","/connectors/woocommerce","3.connectors/9.woocommerce",{"title":91,"icon":92,"path":93,"stem":94,"children":95,"page":22},"Attribution","i-lucide-git-fork","/attribution","4.attribution",[96,100,104],{"title":97,"path":98,"stem":99},"How attribution works","/attribution/overview","4.attribution/1.overview",{"title":101,"path":102,"stem":103},"Data-driven model","/attribution/data-driven","4.attribution/2.data-driven",{"title":105,"path":106,"stem":107},"Attribution windows","/attribution/windows","4.attribution/3.windows",{"title":109,"icon":110,"path":111,"stem":112,"children":113,"page":22},"Dashboard","i-lucide-layout-dashboard","/dashboard","5.dashboard",[114,118,122],{"title":115,"path":116,"stem":117},"Dashboard overview","/dashboard/overview","5.dashboard/1.overview",{"title":119,"path":120,"stem":121},"Metrics reference","/dashboard/metrics","5.dashboard/2.metrics",{"title":123,"path":124,"stem":125},"Alerts","/dashboard/alerts","5.dashboard/3.alerts",{"title":127,"icon":128,"path":129,"stem":130,"children":131,"page":22},"Lumen","i-lucide-shield-check","/lumen","6.lumen",[132,136,140],{"title":133,"path":134,"stem":135},"Lumen overview","/lumen/overview","6.lumen/1.overview",{"title":137,"path":138,"stem":139},"Setup","/lumen/setup","6.lumen/2.setup",{"title":141,"path":142,"stem":143},"Investigations","/lumen/investigations","6.lumen/3.investigations",{"title":145,"icon":146,"path":147,"stem":148,"children":149,"page":22},"MCP agent","i-lucide-bot","/mcp-agent","7.mcp-agent",[150,153,156,160],{"title":30,"path":151,"stem":152},"/mcp-agent/overview","7.mcp-agent/1.overview",{"title":15,"path":154,"stem":155},"/mcp-agent/quickstart","7.mcp-agent/2.quickstart",{"title":157,"path":158,"stem":159},"Tools reference","/mcp-agent/tools-reference","7.mcp-agent/3.tools-reference",{"title":161,"path":162,"stem":163},"SEO × GEO playbook","/mcp-agent/playbook-seo-geo","7.mcp-agent/4.playbook-seo-geo",{"id":165,"title":161,"body":166,"description":371,"extension":372,"links":373,"meta":374,"navigation":375,"path":162,"seo":376,"stem":163,"__hash__":377},"docs/7.mcp-agent/4.playbook-seo-geo.md",{"type":167,"value":168,"toc":365},"minimark",[169,173,178,189,193,207,299,303,350,354],[170,171,172],"p",{},"Paste this as a system prompt (Claude Project, Cursor rules, Gemini memory, or a saved command) in your agent. It encodes the full diagnose → learn → propose → track loop. The agent picks which TrustData tools to call at each step.",[174,175,177],"h2",{"id":176},"the-prompt","The prompt",[179,180,185],"pre",{"className":181,"code":183,"language":184},[182],"language-text","You are a senior SEO × GEO operator connected to TrustData via MCP.\nWork through this sequence on the property the user specifies:\n\n0. DISCOVER\n   Call list_properties to see available properties. If I haven't named\n   one, ask me. Also call list_brand_prompts (with property_id) and\n   list_competitors so you know which prompt IDs and competitors to\n   reference later.\n\n1. DIAGNOSE\n   Call get_geo_visibility for the property. Pair with list_seo_keywords\n   (no filter) to get the full keyword table. Summarise: where does the\n   brand rank, where is it cited in LLMs, where is the gap?\n\n2. LEARN FROM PAST\n   Call list_concluded_experiments(last_n_weeks=12). Group by verdict.\n   What worked? What didn't? Do not repeat past losers.\n\n3. QUICK-WIN KEYWORDS\n   Call list_seo_keywords with min_position=4, max_position=10 and\n   min_revenue_uplift=500. Rank by revenue_uplift * opportunity_score.\n   Pick the top 3.\n\n4. CITATION GAPS\n   Call list_citation_gaps. Identify the top 5 domains already citing\n   the brand without a link. Classify them by source_type (publisher,\n   forum, review site, aggregator).\n\n5. HYPOTHESISE\n   For each quick-win keyword, propose:\n   - Root cause (SERP features missing? Content gap? Cannibalisation?)\n   - Change type: content_rewrite / schema_add / new_page / link_outreach\n   - Hypothesis in the form \"If we X, then [specific metric] will\n     improve because [root cause]\". Minimum 20 characters.\n\n6. TRACKABLE RECOMMENDATION\n   For each hypothesis call create_recommendation with:\n   - channel + category appropriate to the change\n   - hypothesis (required, min 20 chars)\n   - target_prompt_ids — BrandPrompt ids the change targets\n     (leave empty if no clear prompt match — still trackable via the\n     broader mention-rate control)\n   - effort_level and urgency\n   Do NOT set change_url here — we'll mark done after the work ships.\n\n7. (Optional) PROBE TO VALIDATE\n   For the riskiest hypothesis, call run_probe with a representative\n   prompt to see current LLM coverage. Note: billed per engine call.\n\n8. REPORT\n   Output a table of what you created with their IDs, expected delta,\n   and when to check back (7 or 14 days). Remind me that outcomes\n   auto-track every Monday at 06:30 UTC.\n\nRules:\n- Never hallucinate property IDs or prompt IDs — always fetch them.\n- Respect the 8-step order. Do not skip to recommendations without\n  citing evidence from the data.\n- Be explicit about effort vs impact — quick wins first.\n- When the user says \"mark done \u003Crec_id> \u003Cchange_url>\", call\n  mark_recommendation_done.\n","text",[186,187,183],"code",{"__ignoreMap":188},"",[174,190,192],{"id":191},"example-conversation","Example conversation",[194,195,196],"blockquote",{},[170,197,198,202,203,206],{},[199,200,201],"strong",{},"You:"," Run the playbook on property ",[186,204,205],{},"a3f4-…"," for the last 30 days.",[194,208,209,241,244,264,267,280,293],{},[170,210,211,214,225,233],{},[199,212,213],{},"Claude:",[215,216,217],"em",{},[218,219,220,221,224],"span",{},"calls ",[186,222,223],{},"get_geo_visibility"," → 412 AI sessions, 7 GEO/SEO gaps",[215,226,227],{},[218,228,220,229,232],{},[186,230,231],{},"list_seo_keywords"," → 200 keywords",[215,234,235],{},[218,236,220,237,240],{},[186,238,239],{},"list_concluded_experiments(last_n_weeks=12)"," → 3 winners, 2 no-effect on pain-point comparison content",[170,242,243],{},"Here's what I see:",[245,246,247,251,258,261],"ul",{},[248,249,250],"li",{},"Brand ranks top-5 on 8 category keywords but has 0% AI Overview coverage on 6 of them → SERP-feature gap, not ranking gap.",[248,252,253,254,257],{},"Past winners: FAQ schema (+12pp on ChatGPT for ",[215,255,256],{},"\"best CRM for startups\"",").",[248,259,260],{},"Past no-effect: long-form listicle rewrites.",[248,262,263],{},"Citation gap: g2.com cites the brand 8 times, no link.",[170,265,266],{},"Top 3 plays I'd recommend:",[268,269,270],"ol",{},[248,271,272,275,276,279],{},[199,273,274],{},"Add FAQ schema to /pricing"," (",[215,277,278],{},"quick_win, high urgency",")\nHypothesis: if we add FAQPage JSON-LD to /pricing, ChatGPT citation rate on \"best CRM pricing\" queries will rise because AI Overviews preferentially surface structured Q&A.",[170,281,282],{},[215,283,284],{},[218,285,220,286,289,290],{},[186,287,288],{},"create_recommendation"," for #1, returns ",[186,291,292],{},"rec_id: abc-123",[268,294,296],{"start":295},2,[248,297,298],{},"…",[174,300,302],{"id":301},"adapting-the-playbook","Adapting the playbook",[245,304,305,326,336],{},[248,306,307,310,311,314,315,318,319,321,322,325],{},[199,308,309],{},"Paid ops loop."," Swap steps 3–5 to ",[186,312,313],{},"list_anomalies",", ",[186,316,317],{},"list_change_events",", and ",[186,320,288],{}," with ",[186,323,324],{},"channel=\"sea\"|\"paid_social\""," for a paid-media triage loop.",[248,327,328,331,332,335],{},[199,329,330],{},"Weekly digest."," Schedule the agent (Claude Code ",[186,333,334],{},"/loop"," or a cron job calling Gemini CLI) to run the full playbook every Monday and post the result to Slack.",[248,337,338,341,342,345,346,349],{},[199,339,340],{},"Agency rollup."," Iterate the playbook across all properties in the org by first calling ",[186,343,344],{},"list_analytics_queries"," → pick ",[186,347,348],{},"attribution_properties"," → loop per property.",[174,351,353],{"id":352},"why-this-works","Why this works",[170,355,356,357,360,361,364],{},"Every recommendation created via MCP enters the same outcome-tracking loop as dashboard-authored recs. The agent's hypotheses are measured against a control group automatically, so after a few weeks you have a ledger of ",[215,358,359],{},"what this agent gets right on this account",". The next playbook run uses that ledger (",[186,362,363],{},"list_concluded_experiments",") to bias toward winning change types and avoid repeating losers.",{"title":188,"searchDepth":295,"depth":295,"links":366},[367,368,369,370],{"id":176,"depth":295,"text":177},{"id":191,"depth":295,"text":192},{"id":301,"depth":295,"text":302},{"id":352,"depth":295,"text":353},"An 8-step system prompt that turns your agent into a weekly SEO × GEO operator.","md",null,{},true,{"title":161,"description":371},"2JlBmHQpnCQW6LpY8GqJVftzCPbpr1kRwvNSCBUnMMc",[379,373],{"title":157,"path":158,"stem":159,"description":380,"children":-1},"Every MCP tool the TrustData server exposes, with scope, purpose, and example arguments.",1781720354537]