@clawhub-kostja94-afbe7d43b7
When the user wants to analyze Google Search Console data, use the GSC API, or interpret search performance. Also use when the user mentions "GSC," "Search C...
--- name: google-search-console description: When the user wants to analyze Google Search Console data, use the GSC API, or interpret search performance. Also use when the user mentions "GSC," "Search Console," "indexing report," "Core Web Vitals," "Enhancements," "Insights report," "search performance," "search queries," "search performance report," "URL inspection," "impressions," "CTR," "average position," "index coverage," "GSC data analysis," "Search Console API," or "searchanalytics.query." When the user wants to rewrite title tags (not only report on them), use title-tag. For meta description rewrites, use meta-description. metadata: version: 1.5.0 --- # Analytics: Google Search Console Guides analysis of Google Search Console (GSC) data: performance metrics, indexing, sitemaps, Core Web Vitals, and rich results. Covers best practices for monthly monitoring and actionable insights. **When invoking**: On **first use**, if helpful, open with 1-2 sentences on what this skill covers and why it matters, then provide the main output. On **subsequent use** or when the user asks to skip, go directly to the main output. ## Scope - **Performance**: Clicks, impressions, CTR, average position; API for export - **Insights**: Simplified overview; top/trending content and queries - **Indexing**: Pages indexed, pages not indexed, reasons (Coverage) - **Technical**: Sitemaps, Core Web Vitals, Enhancements - **API**: searchanalytics.query for programmatic access - **Methodology**: How to read charts, avoid common mistakes, correlate with releases ## Analysis Best Practices ### Chart Reading | Practice | Why | |----------|-----| | **Focus one metric at a time** | Stacked bar charts hide fluctuations; toggle off other metrics to see each clearly | | **Don't compare just two points** | End-of-month vs prior month misses mid-month drama; examine full trend | | **Check beyond top 10** | Many reports default to top 10; scroll or paginate for more rows | | **Screenshot charts** | GSC retains limited history; save images for future reference | | **Record in spreadsheet** | Export at month-end; use formulas to track correlations over time | | **Track release dates** | Join dev standups, read release notes; correlate GSC shifts with deployments | ### Investigation Workflow 1. **Pinpoint date**: When did the metric change? 2. **Correlate**: Any releases, CMS changes, server maintenance, third-party code? 3. **Decide**: Investigate, correct, overlook, or monitor closely 4. **Loop in**: Product or dev team for root cause ## Key Reports & Metrics ### 1. Performance (Search Results) **Location**: Performance ? Search results | Metric | Use | |--------|-----| | **Clicks** | Traffic from Google Search | | **Impressions** | How often site appeared in results | | **CTR** | Whether users think page answers query | | **Average position** | Ranking trend | **Dimensions**: Query, page, country, device, date. Filter by search type: web, image, video, news. Use to find low-CTR high-impression pages (title/meta optimization opportunities). **Search appearance**: AMP, blue link, rich results (filterable in UI and API). #### CTR Benchmarks by Position Use to compare actual CTR vs expected. Benchmarks vary by SERP features (AI Overviews, featured snippets). **Zero-click**: When SERP features satisfy intent without a click, organic CTR drops; factor into expectations. See **serp-features** (Zero-Click section), **featured-snippet**. Clean SERPs: | Position | Expected CTR (baseline) | With AI Overviews (lower) | |----------|-------------------------|---------------------------| | 1 | 25-35% | ~19% | | 2 | 12-18% | ~12% | | 3 | 8-12% | ~7% | | 4-5 | 5-7% | ~5% | | 6-10 | 2-5% | 2-5% | **Interpretation**: If actual CTR is below expected for your position, prioritize title/meta optimization. Over 90% of first-page results have CTR below 10%; significant upside exists. #### Low CTR, High Impressions: Optimization Workflow 1. **Identify**: Sort by impressions; filter positions 1-10; 1,000+ monthly impressions 2. **Compare**: Actual CTR vs expected for position (see table above) 3. **Gap**: e.g., position 4 at 2% CTR vs expected 5-7% ? ~3-5% uplift potential 4. **Action**: Optimize title and meta per **title-tag**, **meta-description**; add schema for rich results (+10–20% clicks) #### Rich Results & CTR Pages with review stars, FAQ schema, or other rich snippets see 10-20% more clicks. See **schema-markup**. ### 2. Insights Report **Location**: Performance ? Insights (or Overview) Simplified overview; replaces standalone Search Console Insights. Data from GSC only (no GA since Dec 2024). | Card | Use | |------|-----| | **Clicks and impressions** | Site visibility and click effectiveness | | **Your content** | Top, trending up, trending down pages | | **Queries leading to your site** | Top, trending up, trending down queries | | **Top countries** | Geographic audience | | **Branded vs non-branded** | Brand recognition (AI-labeled; may mislabel) | | **Additional traffic sources** | Image, Video, News search, Discover | **Trending**: Based on click change vs previous period. Click items to jump to Performance report filtered to that item. **Query groups**: Similar queries grouped; group name = best-performing query. Not available for sub-properties or low-impression sites. ### 3. Page Indexing (Coverage) **Location**: Indexing ? Page indexing **Status grouping** (updated): Valid + Valid with warning ? **Indexed**. Error + Excluded ? **Not indexed**. **Indexed vs Not indexed are complementary**: Not all site content should be indexed. Login, admin, duplicate content, legal boilerplate, and low-value pages often intentionally use noindex. Indexed and non-indexed pages can reference each other (e.g., sitemap includes indexable URLs; noindex pages still exist and link internally). Non-indexed is not inherently a problem--investigate only when important pages are excluded. See indexing (noindex usage) and robots-txt (crawl control) for when to exclude. | Metric | Action | |--------|--------| | **Pages indexed** | Turn off "Pages not indexed" to view alone; watch for drops | | **Pages not indexed** | Turn off "Pages indexed" to view alone; watch for spikes. Distinguish intentional (noindex, robots) from accidental | **Filter**: All submitted pages / Unsubmitted pages only (dropdown near top). **Source column**: Indicates whether issue is caused by website or Google. **Why pages are not indexed**: Drill into reasons and example URLs. Common culprits: - Duplicate content - Noindex tags - Redirect errors - 5xx errors - 404 errors - Blocked by robots.txt - Discovered ? currently not indexed - Crawled ? currently not indexed **Quick check**: If trend line is stable, spend ~3 seconds; move on. Investigate if fourth column (trend) shifts. **Diagnosis workflow**: GSC Coverage ? click Issue ? view sample URLs ? identify pattern ? fix (see indexing for fix actions). **Coverage issue types**: | Issue | Meaning | Next step | |-------|---------|-----------| | Crawled - currently not indexed | Crawled but not indexed | See indexing | | Excluded by "noindex" tag | Intentionally excluded; often valid (login, admin, legal, etc.) | Ignore if expected; verify important pages not accidentally noindexed | | Blocked by robots.txt | Crawl blocked | See **robots-txt**; may be intentional | | Redirect / 404 | Redirect or missing | Fix URL or redirect | | Duplicate / Canonical | Duplicate content | Usually OK; keep canonical | **URL Inspection**: Verdicts: "URL is on Google," "URL is on Google, but has issues," "URL is not on Google." Use for important pages; verify canonical, internal links, sitemap; Request indexing if needed. ### 4. Video Indexing (If Applicable) **Location**: Indexing ? Video indexing - **Videos indexed** / **Videos not indexed**: Toggle off the other for clear view - **Why videos are not indexed**: Thumbnail blocked, invalid size/format, not in main content, etc. See **video-optimization** for video SEO; **youtube-seo** for YouTube. ### 5. XML Sitemaps **Location**: Indexing ? Sitemaps | Check | Action | |------|--------| | Status | Confirm each sitemap says "Success" | | URLs indexed | Click sitemap ? see indexed count; drops indicate indexing issues | | Bellwether sitemaps | For large sites, monitor templated sitemaps (by country, language, division) | Enterprise: Glitches can block new URL crawling, cause hreflang confusion, delay fresh content discovery. ### 6. Core Web Vitals **Location**: Experience ? Core Web Vitals **Priority**: Mobile first (Google's higher expectations for mobile). | Metric | Mobile | Desktop | |--------|-------|---------| | **Good URLs** | Target | Secondary | | **Needs improvement** | Fix | Monitor | | **Poor URLs** | Fix | Monitor | **Why URLs don't have good score**: Click "Open report" → grouped example URLs by issue type. For threshold values and fixes, see **core-web-vitals**. **Tip**: Historical chart is short; export to spreadsheet for longer trends. Share with dev team regularly; correlate dates with releases. **Layout** (updated): Two tables--Poor or Need improvement; Good (click "View data about usable pages"). ### 7. Enhancements (Rich Results) **Location**: Experience ? Enhancements (Product snippets, Merchant listings under Shopping) **Status** (updated): Two-tier?*invalid* (critical issues, may not appear) vs **valid** (no critical issues; may still have warnings). Warnings no longer top-level. | Type | Examples | |------|----------| | Content | Breadcrumbs, FAQ, Events, Videos (see **video-optimization**), Job postings, Review snippets, Q&A, Discussion forums | | Shopping | Product snippets, Merchant listings | | Other | Recipes, Datasets, Hotels, Vacation rentals, Profile pages, Practice problems, Math solvers, Image metadata | **Note**: Reports show sample items, not full list. Use URL Inspection for unlisted URLs. ### 8. AI Overviews (GSC Limitation) - **GSC**: AI Overviews clicks/impressions are not separated from organic in Performance report. - **Workaround**: Filter queries that tend to trigger AI Overviews to estimate AI-driven visibility: ``` (?i)^(who|what|where|when|why|how|which|is|are|can|does|should)|\b(vs|versus|compare|difference|pros and cons|guide|tutorial|best|top|list)\b ``` For GA4 AI traffic tracking, see **ai-traffic-tracking**. ### 9. Links & Disavow **Location**: Links (inbound links), Security & Manual Actions - **Links report**: View links to site and pages; anchor text distribution. - **Disavow file**: Submit via GSC when necessary (manual penalty, toxic links). Use sparingly; over-disavowing can harm. See **backlink-analysis** for when to disavow. ## Search Console API **Method**: `searchanalytics.query()` --exposes all Performance report data. ### Metrics Clicks, Impressions, CTR, Position. ### Dimensions date, query, page, country, device. Search appearance (AMP, blue link, rich results). Filter by search type: web, image, video, news. ### Limits | Limit | Value | |-------|-------| | Rows per day per search type per property | 50,000 | | Rows per response | 25,000 (use pagination: startRow, rowLimit) | | Data availability | 2-3 days after | **Tip**: Run daily queries for one day of data to avoid quota. Verify data presence first (dimensions: date only, no filters). **Optimization**: Gzip compression; `fields` parameter for partial responses; pagination for large datasets. **References**: [Search Console API](https://developers.google.com/webmaster-tools/about), [searchanalytics.query](https://developers.google.com/webmaster-tools/v1/how-tos/search_analytics) ## Monthly Audit Checklist - [ ] Performance: Clicks, impressions, CTR, position trends - [ ] Insights: Top/trending content and queries (if available) - [ ] Page indexing: Indexed vs not indexed (isolated views) - [ ] Why not indexed: Trend lines for key reasons - [ ] Sitemaps: All "Success"; indexed URL counts stable - [ ] Core Web Vitals: Mobile good/needs improvement/poor - [ ] Enhancements: No new invalid items (critical issues) - [ ] Links: No manual actions; disavow only if needed (see **backlink-analysis**) - [ ] Data exported to spreadsheet (month-end snapshot) - [ ] Charts screenshotted for history - [ ] Release notes reviewed for correlation ## Output Format - **Summary**: Key findings, trends, anomalies - **Metrics**: Specific numbers and date ranges - **CTR analysis**: Actual vs expected by position; low-CTR high-impression pages - **Title/meta opportunities**: Pages with CTR gap; specific optimization suggestions - **Action items**: Prioritized fixes (indexing, CWV, sitemaps, enhancements, title/meta) - **Correlation**: Suspected causes (releases, config changes) - **Next steps**: Monitoring plan, dev handoff ## Related Skills - **title-tag, meta-description, page-metadata**: Title and meta optimization for low-CTR pages; hreflang - **xml-sitemap**: Fix sitemap errors - **indexing**: Resolve indexing issues - **core-web-vitals**: CWV optimization; fix LCP, INP, CLS - **mobile-friendly**: Mobile Usability report; mobile-first indexing - **schema-markup**: Fix structured data / rich results - **backlink-analysis**: When to disavow; backlink audit - **seo-monitoring**: Full SEO data analysis, benchmark
When the user wants to analyze website traffic sources, attribution, or dark traffic. Also use when the user mentions "traffic sources," "dark traffic," "dir...
--- name: traffic-analysis description: When the user wants to analyze website traffic sources, attribution, or dark traffic. Also use when the user mentions "traffic sources," "dark traffic," "direct traffic," "UTM parameters," "traffic attribution," "channel attribution," "attribution optimization," "channel analysis," "traffic analysis," "traffic diversification," "natural traffic benchmark," or "organic vs paid traffic." metadata: version: 1.1.0 --- # Analytics: Traffic Guides website traffic analysis across all channels (organic, paid, social, referral, direct). Covers traffic source attribution, dark traffic identification, and multi-channel reporting. **When invoking**: On **first use**, if helpful, open with 1-2 sentences on what this skill covers and why it matters, then provide the main output. On **subsequent use** or when the user asks to skip, go directly to the main output. ## Scope - **Traffic sources**: Organic, paid, social, referral, direct, email - **Dark traffic**: Unattributed visits labeled as "Direct / None" - **Attribution**: UTM tagging, segmenting, reporting accuracy ## Branded vs. Non-Branded Traffic (Organic) | Type | Characteristics | |------|-----------------| | **Branded** | Higher CTR, conversion, purchase intent; users closer to funnel bottom | | **Non-branded** | Touchpoint with future users; most sites get more non-brand traffic; competition fiercer | Brand traffic grows over time as brand awareness increases. ## Bot Traffic A large share of traffic can be **bot traffic**—RPA, search crawlers, spiders, scrapers. Exclude or segment when evaluating real user behavior; use GA4 filters or segments to isolate human traffic. ## Traffic Channels | Channel | Typical Sources | Attribution | |---------|-----------------|-------------| | **Organic** | Google, Bing, other search | Referrer preserved | | **Paid (web)** | Google Ads, Meta Ads, etc. | UTM required | | **Paid (app)** | App install ads; Google App Campaigns, Apple Search Ads | UTM; in-app events | | **Paid (TV/CTV)** | Streaming ads; Hulu, Roku, YouTube TV | UTM for QR/URL; brand lift | | **Social** | Public posts (Facebook, LinkedIn, etc.) | Often preserved | | **Referral** | External sites, backlinks | Referrer preserved | | **Direct** | Typed URL, bookmarks | No referrer | | **Email** | Newsletters, campaigns | Often dark without UTM | ## Dark Traffic ### What It Is Traffic without clear origin--analytics tools default to "Direct" when referrer is missing. Common causes: - **Private/dark social**: WhatsApp, Messenger, Slack, Discord, TikTok shares - **Email clients**: Many strip referrer headers - **HTTPS->HTTP**: Referrer not passed - **Mobile apps**: In-app browsers often omit referrer - **Ad blockers, privacy tools**: Block tracking ### Misattribution (Research) When traffic was sent from known sources, analytics often misattributed: - **100% as direct**: TikTok, Slack, Discord, WhatsApp, Mastodon - **75%**: Facebook Messenger - **30%**: Instagram DMs - **14%**: LinkedIn public posts - **12%**: Pinterest ### Mitigation | Action | Purpose | |--------|---------| | **UTM parameters** | Tag links in emails, social, campaigns: `?utm_source=X&utm_medium=Y&utm_campaign=Z` | | **Block internal IPs** | Exclude company visits from reports | | **Segment direct traffic** | Split by page type to estimate dark vs. genuine direct | ### Segmenting Direct Traffic 1. **Expected direct**: Homepage, short URLs, brand pages--likely real direct 2. **Unexpected direct**: Long URLs, deep pages, product pages--likely dark traffic 3. **Report separately**: Use segments in GA4/analytics to avoid overcounting direct ## Attribution for Channel Optimization Ads, growth channels, and medium can be optimized by viewing **attribution data**. Clean UTM + conversion tracking feeds attribution models; reliable attribution drives budget allocation and channel decisions. | Use | Action | |-----|--------| | **Optimize ads** | Compare paid channels (Google, Meta, LinkedIn) by attributed conversions; reallocate budget to winners | | **Optimize growth channels** | Identify which medium (cpc, email, social, referral) drives conversions; scale what works | | **Multi-touch attribution** | Requires clean UTM data; inconsistent tagging (e.g., `facebook` vs `Facebook`) fragments reports and misattributes | **GA4 Default Channel Grouping**: Align `utm_medium` and `utm_source` with [GA4's rules](https://support.google.com/analytics/answer/9756891) to avoid "Unassigned" traffic. ~30% of campaigns lack proper UTM markup, leading to wasted ad spend; teams standardizing UTM see 29% improvement in attribution accuracy. **Reference**: [UTM.io – utm_medium, utm_campaign & utm_source Optimization](https://web.utm.io/blog/utm_medium-utm_campaign-utm_source/), [UTMs for Marketing Attribution](https://web.utm.io/blog/utms-for-marketing-attribution/) ## UTM Best Practices | Parameter | Use | Example | |-----------|-----|---------| | `utm_source` | Origin | `newsletter`, `facebook`, `google` | | `utm_medium` | Channel type | `email`, `cpc`, `social` | | `utm_campaign` | Campaign name | `summer_sale`, `product_launch` | | `utm_content` | Variant (optional) | `banner_a`, `cta_button` | | `utm_term` | Paid keyword (optional) | `running_shoes` | **GA4 alignment** (avoid Unassigned): | Channel | utm_medium | utm_source | |---------|------------|------------| | Paid Search | `cpc` | `google`, `bing` | | Paid Social | `paid-social`, `cpc` | `facebook`, `instagram` | | Email | `email` | `newsletter`, `mailchimp` | | Organic Social | `social` | `twitter`, `linkedin` | | App install | `cpc`, `app` | `google`, `facebook`, `apple` | | CTV / Streaming | `video`, `ctv` | `hulu`, `roku`, `youtube` | | Display / Banner | `display`, `cpc` | Publisher or network name | | Directory ads | `paid`, `cpc` | `taaft`, `shopify`, `g2`, `capterra` | - **Consistent naming**: Lowercase, hyphens; document conventions; never tag internal links (overwrites session attribution) - **Apply everywhere**: Every link in emails, social posts, ads - **Avoid**: Typos, inconsistent values; causes fragmentation ## Traffic Diversification | Principle | Guideline | |-----------|-----------| | **Search share** | Keep organic search below ~75% of total traffic | | **Health** | Higher direct + referral share = healthier profile | | **Brand sites** | Diversified traffic is common for strong brands | | **Engagement** | Content, email, social, free tools drive return visits | See **seo-monitoring** for full SEO data analysis framework. ## Natural Traffic Benchmark **Location**: GA4 > Reports > Acquisition > Traffic acquisition 1. Review organic traffic trend 2. Record baseline (e.g., monthly total) 3. Compare periodically to detect growth or decline ## Output Format - **Traffic source** breakdown - **Dark traffic** estimate and actions - **UTM** tagging recommendations - **Segmentation** approach for reporting ## Related Skills - **analytics-tracking**: Implement UTM, events, conversions; attribution models - **google-ads, paid-ads-strategy**: Paid channels; attribution informs budget allocation - **ai-traffic-tracking**: AI search traffic - **google-search-console**: GSC performance and indexing analysis - **seo-monitoring**: Full SEO data analysis system, benchmark, article database - **email-marketing**: Email strategy; UTM for email links
When the user wants to track AI search traffic in GA4 or GSC. Also use when the user mentions "AI traffic," "ChatGPT referral," "Perplexity traffic," "AI Ove...
--- name: ai-traffic-tracking description: When the user wants to track AI search traffic in GA4 or GSC. Also use when the user mentions "AI traffic," "ChatGPT referral," "Perplexity traffic," "AI Overviews," "GA4 AI sources," "AI search analytics," "track AI referrals," "AI search traffic," "Claude traffic," or "how to track AI traffic." metadata: version: 1.0.0 --- # Analytics: AI Traffic Guides tracking of AI-driven search traffic in Google Analytics 4 and Google Search Console. **When invoking**: On **first use**, if helpful, open with 1–2 sentences on what this skill covers and why it matters, then provide the main output. On **subsequent use** or when the user asks to skip, go directly to the main output. ## Scope - **AI search traffic**: Track in GA4 and GSC; separate AI sources from organic referral - **Google AI Overviews**: AI summary box in Google search (formerly SGE) - **AI-driven search**: Traffic from ChatGPT, Perplexity, Gemini, Claude, Copilot, etc. ## Why Track Separately - AI traffic is growing but GA4 often groups it as Referral, Organic, or Direct - AI visitors may have stronger intent and higher conversion - Separating AI Overviews from organic helps assess AI impact ## GA4: AI-Driven Search ### Option 1: Exploration Report (Recommended) 1. **Explore** →**Free form** 2. **Dimensions**: `Session source` (or `Session source / medium`) 3. **Metrics**: Sessions, Engagement rate, Event count, etc. 4. **Filters**: Add filter →`Session source` **Matches regex** →use regex below 5. Configure table, save report **Regex (common AI sources):** ``` chatgpt\.com|openai\.com|openai|perplexity\.ai|perplexity|doubao\.com|chat\.qwen\.ai|copilot\.microsoft\.com|copilot\.com|(business\.)?gemini\.google|chat\.deepseek\.com|deepseek\.com|poe\.com|anthropic\.com|claude\.ai|bard\.google\.com|edgeservices\.bing\.com ``` ### Option 2: Custom Channel Group 1. **Admin** →**Data Display** →**Channel Groups** 2. Copy default group, name e.g. "Default and AI Chatbots" 3. Add channel "AI Chatbots": `Source` **Matches regex** (same regex) 4. **Important**: Place "AI Chatbots" above "Referral" so it matches first 5. Save and use in Traffic Acquisition ### Option 3: Custom Report 1. **Reports** →**Library** →Create Detail Report 2. Use Traffic Acquisition template 3. Add filter: `Session source` **Matches regex** (same regex) 4. Save and add to menu ## Common AI Source Domains | Platform | GA4 Source examples | |----------|---------------------| | ChatGPT | chatgpt.com, openai | | Perplexity | perplexity.ai, perplexity | | Copilot | copilot.com, copilot.microsoft.com | | Gemini | business.gemini.google, gemini.google | | Claude | claude.ai, anthropic.com | | Bing Chat | edgeservices.bing.com | ## Google AI Overviews - **GA4 + URL fragment**: Some AI Overview clicks add URL fragments; can use GTM (partial coverage) - **GSC**: For AI Overviews analysis in GSC (filter, limitations), see **google-search-console** ## Checklist - [ ] AI sources identified in GA4 (Session Source) - [ ] AI traffic Exploration report created - [ ] Channel group updated with AI above Referral (if used) - [ ] Custom report added to Library (optional) - [ ] GTM + URL fragment for AI Overviews (optional) - [ ] GSC AI-oriented query filter (optional; see **google-search-console**) ## Output Format - **GA4 setup**: Exploration, channel group, or custom report - **Regex**: Adapted to user's observed sources ## Related Skills - **generative-engine-optimization**: GEO strategy; AI traffic tracking measures GEO impact - **traffic-analysis**: Traffic sources, attribution, UTM - **analytics-tracking**: GA4 events and conversions - **google-search-console**: GSC AI traffic analysis - **robots-txt**: AI crawler allow/block strategy
When the user wants to build an SEO data analysis system, monitor indexing/traffic/keywords/backlinks, or set up benchmarks. Also use when the user mentions...
--- name: seo-monitoring description: When the user wants to build an SEO data analysis system, monitor indexing/traffic/keywords/backlinks, or set up benchmarks. Also use when the user mentions "SEO data analysis," "SEO monitoring," "article database," "traffic benchmark," "penalty recovery," "SEO work document," "SEO dashboard," "keyword tracking," "ranking monitoring," "indexing report," or "backlink monitoring." metadata: version: 1.0.0 --- # Analytics: SEO Monitoring Guides building a holistic SEO data analysis system. Covers four core metrics (indexing, traffic, keywords, backlinks), benchmark setup, article database, tool selection, traffic diversification, penalty recovery, and work document management. **When invoking**: On **first use**, if helpful, open with 1-2 sentences on what this skill covers and why it matters, then provide the main output. On **subsequent use** or when the user asks to skip, go directly to the main output. ## Scope - **Core metrics**: Indexing, traffic, keywords, backlinks - **Benchmark**: Natural traffic baseline; trend comparison - **Article database**: Per-article performance tracking - **Tool selection**: GA4, GSC, SEO tools, analytics platforms - **Traffic diversification**: Healthy source mix - **Penalty recovery**: Algorithm impact, fix workflow - **Work documents**: Monthly records, responsibility tracking ## Four Core Metrics ### 1. Indexing | Metric | Purpose | Data Source | |--------|---------|-------------| | **Pages indexed / not indexed** | Coverage; early focus: all target pages indexed | GSC, site: command, SEO tools | | **Keyword count per page** | More keywords = more potential traffic | SEO tools | | **Index coverage** | Target pages indexed; functional pages findable | GSC, site: command | **Early priority**: Ensure all pages that need to rank are indexed. ### 2. Traffic | Metric | Purpose | Data Source | |--------|---------|-------------| | **Total traffic** | Growth; keyword relevance (irrelevant traffic has little value) | GA4, SEO tools | | **Subdirectory traffic** | Per-section performance; concentration vs dispersion | SEO tools, GA4 | | **Competitive comparison** | Organic, keyword traffic, total clicks vs competitors | SEO tools | | **Organic by page / country** | Granular breakdown | GA4, GSC | ### 3. Keywords | Metric | Purpose | Data Source | |--------|---------|-------------| | **Rank changes** | Target keyword movement | GSC, SEO tools | | **Keyword count** | New gains / losses per page | SEO tools, GSC | ### 4. Backlinks | Metric | Purpose | Data Source | |--------|---------|-------------| | **Referring domains vs backlinks** | Ratio; directory links can be high volume but low value | SEO tools | | **Backlink quality** | Do links drive traffic? Low ROI = deprioritize | SEO tools, GA4 (referral) | ## Natural Traffic Benchmark **Location**: GA4 > Reports > Acquisition > Traffic acquisition 1. Review organic traffic trend 2. Record baseline (e.g., monthly total) 3. Compare periodically to detect growth or decline **Tip**: Add CTA events on key articles to track content ROI (see **analytics-tracking**). ## Article Database Track per-article performance to find high/low patterns: | Field | Use | |-------|-----| | **URL, publish date, target keywords** | Content metadata | | **Index status, rank, traffic, backlinks** | Performance | | **vs benchmark or competitors** | Context | Use to guide topic selection, optimization, and resource allocation. ## Tool Selection *Tool examples are illustrative; no endorsement implied.* | Use | Tools | |-----|-------| | **Precise attribution** | GA4, GSC, Bing Webmaster, Yandex Webmaster | | **Visit analytics** | Analytics platforms (e.g. Umami, Plausible) | | **Third-party estimates** | SEO tools | | **SEO data** | SEO tools | **Attribution config**: - **User ID**: Cross-device, cross-session identification; send to GA4 - **GSC API**: Index, clicks, impressions, coverage for automation, dashboards Choose by privacy, cost, and team workflow. ## Traffic Diversification | Principle | Guideline | |-----------|-----------| | **Search share** | Keep organic search below ~75% of total | | **Health** | Higher direct + referral share = healthier | | **Brand sites** | Diversified traffic is common for strong brands | | **Non-brand** | Possible without brand (e.g., tool sites) | | **Reputation** | Site/brand reputation matters; Google assessors evaluate it | | **Engagement** | Content, email, social, free tools drive return visits | ## Penalty Recovery | Step | Action | |------|--------| | **Identify** | Which algorithm update caused the impact | | **Analyze** | Site issues; draft fix plan | | **Assess cost** | Decide if fixes are worth it; sometimes abandoning is best | | **Execute** | Implement changes; wait at least 3 months until next major update | | **Parallel** | Use other channels for quality traffic; improve engagement data for Google | | **Data window** | Google typically uses ~6 months of data for site quality | | **Recovery** | Outcome is uncertain; do what you can, then wait | ## Monitoring Metrics Table ### Traffic | Metric | Source | Notes | |--------|--------|-------| | Total sessions | GA4 | | | Channel share | GA4 | | | Channel absolute | GA4 | | | Country % and absolute | GA4 | | | Top pages | SEO tools | Compare with competitors | | Key page traffic | GA4 | Define "key pages" first | ### Engagement | Metric | Source | Notes | |--------|--------|------| | Pages per session | GA4 | Use GA for own site; third-party for competitors | | Avg session duration | GA4 | | | Bounce rate | GA4 | | ### Backlinks | Metric | Source | Notes | |--------|--------|------| | Domain authority | SEO tools | | | Backlinks, referring domains | SEO tools | | | Top referring domains by authority | SEO tools | | | Important links | Manual log | Track loss | | Link graph | SEO tools | Health check | | New quality links (self + competitors) | SEO tools | Outreach | | Indexed pages | SEO tools | High-authority pages; internal linking | | Outbound domains | SEO tools | Partnership opportunities | ### Keywords | Metric | Source | Notes | |--------|--------|------| | Keyword count | SEO tools | How many keywords rank | ### Content Output | Metric | Source | Notes | |--------|--------|------| | Articles published | Manual | Weekly count | | Published vs indexed | GSC | New content indexing | | New page traffic | GA4 | Fresh content performance | ## Monthly Record Template | Category | Metric | Source | Notes | Month 1 | Month 2 | |----------|--------|--------|-------|---------|--------| | Traffic | Total sessions | GA4 | | | | | Traffic | Channel share | GA4 | | | | | Engagement | Pages per session | GA4 | | | | | Backlinks | Referring domains | SEO tools | | | | | Content | Articles published | Manual | | | | Adjust rows as needed. ## Work Document Management - **Structure**: Metrics, sources, notes, monthly values - **Benefits**: Regular review, month-over-month trends, clear ownership - **Format**: Spreadsheet or doc; assign owners per metric ## Output Format - **Core metrics** summary (indexing, traffic, keywords, backlinks) - **Benchmark** and trend - **Article database** structure (if applicable) - **Tool** recommendations - **Monitoring table** (customized) - **Action items** and owners ## Related Skills - **traffic-analysis**: Traffic sources, attribution, diversification - **analytics-tracking**: GA4, events, CTA attribution, User ID - **google-search-console**: GSC reports, indexing, API - **ai-traffic-tracking**: AI search traffic - **backlink-analysis**: Backlink audit, toxic links - **indexing**: Fix indexing issues
When the user wants to analyze Google Search Console data, use GSC API, or interpret search performance. Also use when the user mentions "GSC," "Search Conso...
--- name: google-search-console description: When the user wants to analyze Google Search Console data, use GSC API, or interpret search performance. Also use when the user mentions "GSC," "Search Console," "indexing report," "Core Web Vitals," "Enhancements," "Insights report," "search performance," "search queries," "search performance report," "URL inspection," "impressions," "CTR," "average position," "index coverage," "title tag," "meta description," "GSC data analysis," "Search Console API," or "searchanalytics.query." metadata: version: 1.3.0 --- # Analytics: Google Search Console Guides analysis of Google Search Console (GSC) data: performance metrics, indexing, sitemaps, Core Web Vitals, and rich results. Covers best practices for monthly monitoring and actionable insights. **When invoking**: On **first use**, if helpful, open with 1-2 sentences on what this skill covers and why it matters, then provide the main output. On **subsequent use** or when the user asks to skip, go directly to the main output. ## Scope - **Performance**: Clicks, impressions, CTR, average position; API for export - **Insights**: Simplified overview; top/trending content and queries - **Indexing**: Pages indexed, pages not indexed, reasons (Coverage) - **Technical**: Sitemaps, Core Web Vitals, Enhancements - **API**: searchanalytics.query for programmatic access - **Methodology**: How to read charts, avoid common mistakes, correlate with releases ## Analysis Best Practices ### Chart Reading | Practice | Why | |----------|-----| | **Focus one metric at a time** | Stacked bar charts hide fluctuations; toggle off other metrics to see each clearly | | **Don't compare just two points** | End-of-month vs prior month misses mid-month drama; examine full trend | | **Check beyond top 10** | Many reports default to top 10; scroll or paginate for more rows | | **Screenshot charts** | GSC retains limited history; save images for future reference | | **Record in spreadsheet** | Export at month-end; use formulas to track correlations over time | | **Track release dates** | Join dev standups, read release notes; correlate GSC shifts with deployments | ### Investigation Workflow 1. **Pinpoint date**: When did the metric change? 2. **Correlate**: Any releases, CMS changes, server maintenance, third-party code? 3. **Decide**: Investigate, correct, overlook, or monitor closely 4. **Loop in**: Product or dev team for root cause ## Key Reports & Metrics ### 1. Performance (Search Results) **Location**: Performance ? Search results | Metric | Use | |--------|-----| | **Clicks** | Traffic from Google Search | | **Impressions** | How often site appeared in results | | **CTR** | Whether users think page answers query | | **Average position** | Ranking trend | **Dimensions**: Query, page, country, device, date. Filter by search type: web, image, video, news. Use to find low-CTR high-impression pages (title/meta optimization opportunities). **Search appearance**: AMP, blue link, rich results (filterable in UI and API). #### CTR Benchmarks by Position Use to compare actual CTR vs expected. Benchmarks vary by SERP features (AI Overviews, featured snippets). **Zero-click**: When SERP features satisfy intent without a click, organic CTR drops; factor into expectations. See **serp-features** (Zero-Click section), **featured-snippet**. Clean SERPs: | Position | Expected CTR (baseline) | With AI Overviews (lower) | |----------|-------------------------|---------------------------| | 1 | 25-35% | ~19% | | 2 | 12-18% | ~12% | | 3 | 8-12% | ~7% | | 4-5 | 5-7% | ~5% | | 6-10 | 2-5% | 2-5% | **Interpretation**: If actual CTR is below expected for your position, prioritize title/meta optimization. Over 90% of first-page results have CTR below 10%; significant upside exists. #### Low CTR, High Impressions: Optimization Workflow 1. **Identify**: Sort by impressions; filter positions 1-10; 1,000+ monthly impressions 2. **Compare**: Actual CTR vs expected for position (see table above) 3. **Gap**: e.g., position 4 at 2% CTR vs expected 5-7% ? ~3-5% uplift potential 4. **Action**: Optimize title and meta per **title-tag**, **meta-description**; add schema for rich results (+10–20% clicks) #### Rich Results & CTR Pages with review stars, FAQ schema, or other rich snippets see 10-20% more clicks. See **schema-markup**. ### 2. Insights Report **Location**: Performance ? Insights (or Overview) Simplified overview; replaces standalone Search Console Insights. Data from GSC only (no GA since Dec 2024). | Card | Use | |------|-----| | **Clicks and impressions** | Site visibility and click effectiveness | | **Your content** | Top, trending up, trending down pages | | **Queries leading to your site** | Top, trending up, trending down queries | | **Top countries** | Geographic audience | | **Branded vs non-branded** | Brand recognition (AI-labeled; may mislabel) | | **Additional traffic sources** | Image, Video, News search, Discover | **Trending**: Based on click change vs previous period. Click items to jump to Performance report filtered to that item. **Query groups**: Similar queries grouped; group name = best-performing query. Not available for sub-properties or low-impression sites. ### 3. Page Indexing (Coverage) **Location**: Indexing ? Page indexing **Status grouping** (updated): Valid + Valid with warning ? **Indexed**. Error + Excluded ? **Not indexed**. **Indexed vs Not indexed are complementary**: Not all site content should be indexed. Login, admin, duplicate content, legal boilerplate, and low-value pages often intentionally use noindex. Indexed and non-indexed pages can reference each other (e.g., sitemap includes indexable URLs; noindex pages still exist and link internally). Non-indexed is not inherently a problem--investigate only when important pages are excluded. See indexing (noindex usage) and robots-txt (crawl control) for when to exclude. | Metric | Action | |--------|--------| | **Pages indexed** | Turn off "Pages not indexed" to view alone; watch for drops | | **Pages not indexed** | Turn off "Pages indexed" to view alone; watch for spikes. Distinguish intentional (noindex, robots) from accidental | **Filter**: All submitted pages / Unsubmitted pages only (dropdown near top). **Source column**: Indicates whether issue is caused by website or Google. **Why pages are not indexed**: Drill into reasons and example URLs. Common culprits: - Duplicate content - Noindex tags - Redirect errors - 5xx errors - 404 errors - Blocked by robots.txt - Discovered ? currently not indexed - Crawled ? currently not indexed **Quick check**: If trend line is stable, spend ~3 seconds; move on. Investigate if fourth column (trend) shifts. **Diagnosis workflow**: GSC Coverage ? click Issue ? view sample URLs ? identify pattern ? fix (see indexing for fix actions). **Coverage issue types**: | Issue | Meaning | Next step | |-------|---------|-----------| | Crawled - currently not indexed | Crawled but not indexed | See indexing | | Excluded by "noindex" tag | Intentionally excluded; often valid (login, admin, legal, etc.) | Ignore if expected; verify important pages not accidentally noindexed | | Blocked by robots.txt | Crawl blocked | See **robots-txt**; may be intentional | | Redirect / 404 | Redirect or missing | Fix URL or redirect | | Duplicate / Canonical | Duplicate content | Usually OK; keep canonical | **URL Inspection**: Verdicts: "URL is on Google," "URL is on Google, but has issues," "URL is not on Google." Use for important pages; verify canonical, internal links, sitemap; Request indexing if needed. ### 4. Video Indexing (If Applicable) **Location**: Indexing ? Video indexing - **Videos indexed** / **Videos not indexed**: Toggle off the other for clear view - **Why videos are not indexed**: Thumbnail blocked, invalid size/format, not in main content, etc. See **video-optimization** for video SEO; **youtube-seo** for YouTube. ### 5. XML Sitemaps **Location**: Indexing ? Sitemaps | Check | Action | |------|--------| | Status | Confirm each sitemap says "Success" | | URLs indexed | Click sitemap ? see indexed count; drops indicate indexing issues | | Bellwether sitemaps | For large sites, monitor templated sitemaps (by country, language, division) | Enterprise: Glitches can block new URL crawling, cause hreflang confusion, delay fresh content discovery. ### 6. Core Web Vitals **Location**: Experience ? Core Web Vitals **Priority**: Mobile first (Google's higher expectations for mobile). | Metric | Mobile | Desktop | |--------|-------|---------| | **Good URLs** | Target | Secondary | | **Needs improvement** | Fix | Monitor | | **Poor URLs** | Fix | Monitor | **Why URLs don't have good score**: Click "Open report" → grouped example URLs by issue type. For threshold values and fixes, see **core-web-vitals**. **Tip**: Historical chart is short; export to spreadsheet for longer trends. Share with dev team regularly; correlate dates with releases. **Layout** (updated): Two tables--Poor or Need improvement; Good (click "View data about usable pages"). ### 7. Enhancements (Rich Results) **Location**: Experience ? Enhancements (Product snippets, Merchant listings under Shopping) **Status** (updated): Two-tier?*invalid* (critical issues, may not appear) vs **valid** (no critical issues; may still have warnings). Warnings no longer top-level. | Type | Examples | |------|----------| | Content | Breadcrumbs, FAQ, Events, Videos (see **video-optimization**), Job postings, Review snippets, Q&A, Discussion forums | | Shopping | Product snippets, Merchant listings | | Other | Recipes, Datasets, Hotels, Vacation rentals, Profile pages, Practice problems, Math solvers, Image metadata | **Note**: Reports show sample items, not full list. Use URL Inspection for unlisted URLs. ### 8. AI Overviews (GSC Limitation) - **GSC**: AI Overviews clicks/impressions are not separated from organic in Performance report. - **Workaround**: Filter queries that tend to trigger AI Overviews to estimate AI-driven visibility: ``` (?i)^(who|what|where|when|why|how|which|is|are|can|does|should)|\b(vs|versus|compare|difference|pros and cons|guide|tutorial|best|top|list)\b ``` For GA4 AI traffic tracking, see **ai-traffic-tracking**. ### 9. Links & Disavow **Location**: Links (inbound links), Security & Manual Actions - **Links report**: View links to site and pages; anchor text distribution. - **Disavow file**: Submit via GSC when necessary (manual penalty, toxic links). Use sparingly; over-disavowing can harm. See **backlink-analysis** for when to disavow. ## Search Console API **Method**: `searchanalytics.query()` --exposes all Performance report data. ### Metrics Clicks, Impressions, CTR, Position. ### Dimensions date, query, page, country, device. Search appearance (AMP, blue link, rich results). Filter by search type: web, image, video, news. ### Limits | Limit | Value | |-------|-------| | Rows per day per search type per property | 50,000 | | Rows per response | 25,000 (use pagination: startRow, rowLimit) | | Data availability | 2-3 days after | **Tip**: Run daily queries for one day of data to avoid quota. Verify data presence first (dimensions: date only, no filters). **Optimization**: Gzip compression; `fields` parameter for partial responses; pagination for large datasets. **References**: [Search Console API](https://developers.google.com/webmaster-tools/about), [searchanalytics.query](https://developers.google.com/webmaster-tools/v1/how-tos/search_analytics) ## Monthly Audit Checklist - [ ] Performance: Clicks, impressions, CTR, position trends - [ ] Insights: Top/trending content and queries (if available) - [ ] Page indexing: Indexed vs not indexed (isolated views) - [ ] Why not indexed: Trend lines for key reasons - [ ] Sitemaps: All "Success"; indexed URL counts stable - [ ] Core Web Vitals: Mobile good/needs improvement/poor - [ ] Enhancements: No new invalid items (critical issues) - [ ] Links: No manual actions; disavow only if needed (see **backlink-analysis**) - [ ] Data exported to spreadsheet (month-end snapshot) - [ ] Charts screenshotted for history - [ ] Release notes reviewed for correlation ## Output Format - **Summary**: Key findings, trends, anomalies - **Metrics**: Specific numbers and date ranges - **CTR analysis**: Actual vs expected by position; low-CTR high-impression pages - **Title/meta opportunities**: Pages with CTR gap; specific optimization suggestions - **Action items**: Prioritized fixes (indexing, CWV, sitemaps, enhancements, title/meta) - **Correlation**: Suspected causes (releases, config changes) - **Next steps**: Monitoring plan, dev handoff ## Related Skills - **title-tag, meta-description, page-metadata**: Title and meta optimization for low-CTR pages; hreflang - **xml-sitemap**: Fix sitemap errors - **indexing**: Resolve indexing issues - **core-web-vitals**: CWV optimization; fix LCP, INP, CLS - **mobile-friendly**: Mobile Usability report; mobile-first indexing - **schema-markup**: Fix structured data / rich results - **backlink-analysis**: When to disavow; backlink audit - **seo-monitoring**: Full SEO data analysis, benchmark
When the user wants to add or optimize structured data (Schema.org, JSON-LD). Also use when the user mentions "schema," "structured data," "JSON-LD," "rich r...
---
name: schema-markup
description: When the user wants to add or optimize structured data (Schema.org, JSON-LD). Also use when the user mentions "schema," "structured data," "JSON-LD," "rich results," "rich snippets," "Google rich snippets," "featured snippet schema," "add schema to page," "missing structured data," "schema validation error," "Schema Markup Validator," "Google Rich Results Test," "FAQ schema," "Article schema," "Organization schema," "JobPosting," "HowTo," "Event," "SoftwareApplication," "BreadcrumbList," "WebSite," "Recipe," "Product," "Dataset," or "GEO."
metadata:
version: 1.3.0
---
# SEO On-Page: Schema / Structured Data
Guides implementation of Schema.org structured data (JSON-LD) for rich snippets, enhanced search results, and Generative Engine Optimization (GEO).
**When invoking**: On **first use**, if helpful, open with 1–2 sentences on what this skill covers and why it matters, then provide the main output. On **subsequent use** or when the user asks to skip, go directly to the main output.
## Scope (On-Page SEO)
- **Schema markup**: Schema.org types for rich results, AI search visibility, and machine-readable content
- **Schema.org vs. search engines**: Schema.org defines 800+ types; each search engine supports only a subset for rich results
## Schema.org vs. Search Engine Support
**Schema.org and Google Structured Data are not fully aligned.** Schema.org is an open vocabulary (800+ types); Google, Bing, and other engines each support only a curated subset for rich results.
| Engine | Support | Notes |
|--------|---------|-------|
| **Google** | Subset only | Only types in [Google's search gallery](https://developers.google.com/search/docs/guides/search-gallery) generate rich results. Valid Schema.org markup not in Google's list won't produce enhanced snippets—even if technically correct. |
| **Bing** | Subset; different | Supports JSON-LD, Microdata, RDFa, Open Graph. Some types (e.g., Product, Offer) have format-specific support. Check [Bing Webmaster docs](https://www.bing.com/webmasters/help/marking-up-your-site-with-structured-data-3a93e731). |
| **Other engines** | Varies | Yandex, DuckDuckGo, AI search tools (Perplexity, etc.) may use Schema.org for understanding even when they don't display rich results. |
**Practical implication**: Implement Schema.org markup for your content type. If Google doesn't show rich results for that type, Bing or AI systems may still use it. Always verify against [Google's developer docs](https://developers.google.com/search/docs) for Google-specific rich result eligibility.
## Rich Results: Google Support (2025)
**High-impact types**: Product, Review snippets, HowTo (desktop), Article/News, Video, Recipe, LocalBusiness, Event, Breadcrumb, Sitelinks searchbox, JobPosting.
**Limited or context-dependent**: HowTo (mobile), FAQ (government/health sites for many queries), Education Q&A, Course, SoftwareApplication, Speakable (news), DiscussionForumPosting.
**Deprecated**: COVID data panels, some AMP-only formats, data-vocabulary.org.
**Implementation**: JSON-LD preferred; include `@context`, `@type`, stable `@id`; ISO 8601 dates; match structured data to visible content. Validate with [Rich Results Test](https://search.google.com/test/rich-results). Rich results can increase CTR up to ~35% and improve AI citation. [AISO Hub](https://aiso-hub.com/insights/google-rich-results-types/), [Digital Applied](https://www.digitalapplied.com/blog/structured-data-seo-2026-rich-results-guide)
## Schema ↔ SERP Features ↔ Rich Results (Strongly Related)
**Schema, SERP features, and rich results are strongly related.** Schema is the **necessary condition** for most rich results. When targeting a SERP feature, implement the corresponding schema type. See **serp-features** for the full SERP feature list and optimization.
### Rich Results vs Featured Snippets
- **Rich results**: Schema-powered enhancements to standard listings (stars, breadcrumbs, FAQ dropdowns, product info). Appear within organic positions; do not require top-10 rank.
- **Featured snippets**: Google-extracted answer boxes at position zero. No schema required; content structure matters. Schema (FAQPage, HowTo, Article) can support extraction.
| Schema Type | SERP Feature / Rich Result | Notes |
|-------------|----------------------------|-------|
| **FAQPage** | PAA, Featured Snippet | FAQ dropdown; Q&A-style snippet. Eligibility restricted for many sites (e.g. government/health) |
| **BreadcrumbList** | Breadcrumbs | Path display in result |
| **AggregateRating, Review** | Reviews / Stars | Star ratings |
| **HowTo** | Featured Snippet (list) | Step-based snippet; desktop support; mobile may be limited |
| **Article** | In-Depth Articles, Snippet | Article rich result |
| **VideoObject** | Video | Video thumbnail; see **video-optimization** |
| **Product, Offer** | Shopping, Product | Product/shopping results |
| **Recipe** | Recipe | Recipe rich result |
| **JobPosting** | Google Jobs | Job listings |
| **Event** | Event | Event rich result |
| **WebSite + SearchAction** | Sitelinks searchbox | Site links for brand queries |
| **Organization, Person** | Knowledge Panel | Entity info; see **entity-seo** |
**Workflow**: 1) Use **serp-features** to identify target SERP feature; 2) Look up schema type in this table; 3) Implement and validate with Rich Results Test.
## Generative Engine Optimization (GEO)
**GEO** = optimizing content so AI systems (Google AI Overviews, Perplexity, ChatGPT, Gemini) choose, cite, and quote your content in generated answers. Structured data makes content machine-readable; AI engines extract and cite more accurately. Key schema types for GEO: Organization, Person/Author, WebSite, WebPage, FAQPage, HowTo, Article, Product, AggregateRating. See **generative-engine-optimization** for full GEO strategy.
## Initial Assessment
**Check for project context first:** If `.claude/project-context.md` or `.cursor/project-context.md` exists, read it for product type and content.
Identify:
1. **Page type**: Article, Product, FAQ, Organization, JobPosting, Event, etc.
2. **Content**: What entities to describe
3. **Goal**: Rich snippets, AI Overview visibility, Knowledge Panel
## Schema Type Classification
### Core Types (General Use)
| Type | Use case |
|------|----------|
| **Organization** | Site-wide; company info, logo, sameAs; see placement below |
| **WebSite** | Site-wide; search action, site name; pair with Organization on homepage |
| **Article** | Blog posts, news, tool intros |
| **BreadcrumbList** | Breadcrumb navigation |
| **FAQPage** | FAQ sections; triggers PAA-style results |
| **Person** | Author info; pairs with Article |
| **ImageObject** | Image metadata for rich results |
| **HowTo** | Tutorials, step-by-step guides. **Note**: Google may have deprecated HowTo rich results (2023–2024); Schema.org still supports it; Bing/AI may use it |
### Exclusive Types (Specific Scenarios)
| Type | Use case |
|------|----------|
| **JobPosting** | Recruitment sites, AI Job Matching |
| **Product** | E-commerce product pages |
| **Event** | Event pages, ticketing (not general blogs) |
| **SoftwareApplication** | App pages, tool pages |
| **LocalBusiness** | Local business pages |
| **Dataset** | Data platforms, datasets |
| **DiscussionForumPosting** | Forums, community posts |
| **Quiz** | Education, flashcards |
| **MathSolver** | Math tools |
| **CaseStudy** | Case study pages |
| **Recipe** | Recipes, meal plans, cooking instructions |
**Rule**: Use core types for most sites. Use exclusive types only when page content matches (e.g., don't use Event on a blog; don't use JobPosting on a product page).
### Organization & WebSite Schema Placement
| Where | Organization | WebSite | Notes |
|-------|--------------|---------|-------|
| **Homepage** | Minimum | Minimum | Add both Organization and WebSite to homepage at least. Organization describes the entity that owns the site; WebSite enables sitelinks searchbox and site identity. |
| **Root layout / global** | Optimal | Optimal | Place in site-wide layout (e.g. `layout.tsx`, `_document`, global header/footer) so schema appears on every page. Google uses the first instance found; one instance per site is sufficient. |
| **About page** | No | No | About page uses **AboutPage** schema (page-specific: headline, description, author, about). Organization is entity-level, not page-level—do not confine it to About. See **about-page-generator**. |
**Implementation**: JSON-LD in `<head>`; use `@id` (e.g. `https://example.com/#organization`) to link Organization ↔ WebSite ↔ WebPage for entity graph. See **entity-seo** for @id and Knowledge Panel.
## Action: Website/Product Type → Schema Mapping
**Use this table to recommend which exclusive schema types fit a site.** Match the site's content and product type to the most relevant schema. When in doubt, start with core types (Organization, WebSite, Article); add exclusive types only when content clearly matches.
| Website / Product type | Recommended exclusive schema | Why |
|------------------------|------------------------------|-----|
| **AI meal planner, recipe site, food blog, cooking app** | **Recipe** | Ingredients, instructions, cook time, servings—highly relevant for food/meal content. Google supports Recipe rich results. |
| **Job board, recruitment site, careers page** | **JobPosting** | Title, company, location, salary, employment type. Required for Google Jobs. |
| **Event platform, ticketing, webinar, conference** | **Event** | Date, location, price. Use only on actual event pages. |
| **SaaS, app, Chrome extension, tool, software product page** | **SoftwareApplication** | App name, category, rating, price, OS. Fits product/feature pages. |
| **E-commerce product page** | **Product** | Price, availability, brand, reviews. Use with Offer, AggregateRating. |
| **Forum, community, Reddit-style, Q&A** | **DiscussionForumPosting** | Post content, author, comments. For user-generated discussion. |
| **Data platform, dataset repository, Scale AI / Surge AI** | **Dataset** | Dataset name, creator, license, distribution format. For data catalog pages. |
| **Education site, flashcards, Quizlet-style** | **Quiz** | Question-answer pairs. For educational Q&A content. |
| **Math solver, calculator, equation tool** | **MathSolver** | Math problem input, solution output. For math tools. |
| **Restaurant, local service, store locator** | **LocalBusiness** | Address, hours, NAP. For local SEO. |
| **Case study, customer story page** | **CaseStudy** | Client, outcome, methodology. For B2B case studies. |
| **FAQ page, product FAQ, support FAQ** | **FAQPage** | Question + acceptedAnswer pairs. Triggers PAA-style results. |
| **Tutorial, how-to guide, step-by-step** | **HowTo** | Steps, tools, time. Note: Google may have deprecated rich results; Bing/AI may still use. |
| **News article, press release** | **NewsArticle** | Use instead of Article for news. |
| **Video page, podcast episode** | **VideoObject** / **PodcastEpisode** | For video/audio content. See **video-optimization** for VideoObject, thumbnail, key moments. |
**Examples:**
- **AI meal planner** (e.g., generates weekly meal plans with recipes) → Add **Recipe** schema to each recipe/meal page; **Article** or **WebPage** for landing pages
- **AI writing tool** → **SoftwareApplication** on product page; **Article** on blog
- **Recruitment SaaS** → **JobPosting** on job listing pages; **SoftwareApplication** on product page
- **Recipe blog** → **Recipe** on each recipe post; **Article** for non-recipe posts
**Output**: When recommending schema, state: (1) which exclusive types fit the site/product, (2) which page types get which schema, (3) core types to add site-wide (Organization, WebSite, BreadcrumbList).
### Article / BlogPosting / NewsArticle: Type Selection & Implementation
Choose the **most specific** type that matches content:
| Type | Use case |
|------|----------|
| **BlogPosting** | Informal blog posts; individual authors; regularly updated |
| **Article** | Formal, evergreen content; tool intros; encyclopedic |
| **NewsArticle** | Time-sensitive news; recognized publishers |
**Required properties**: headline (max 110 chars), image (min 1200px wide; absolute URL), datePublished (ISO 8601), author (Person or Organization), publisher (Organization with logo).
**Recommended**: dateModified, description, mainEntityOfPage (canonical URL).
**Date display for CTR**: Google recommends showing **only one date** on the page. If both datePublished and dateModified are visible, Google may pick the wrong date for SERP display—Search Engine Land saw ~22% CTR drop. Best practice: show dateModified if it exists, otherwise datePublished. Keep both in JSON-LD; the rule applies to **visible** date only.
**JSON-LD example** (BlogPosting):
```json
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": "The Ultimate SEO Checklist for 2025",
"description": "A complete guide to optimizing blog posts for search and AI.",
"image": "https://example.com/image.jpg",
"datePublished": "2025-01-15T09:00:00Z",
"dateModified": "2025-02-01T14:30:00Z",
"author": { "@type": "Person", "name": "Jane Doe", "url": "https://example.com/author/jane" },
"publisher": { "@type": "Organization", "name": "Example", "logo": { "@type": "ImageObject", "url": "https://example.com/logo.png" } }
}
```
Place in `<head>` via `<script type="application/ld+json">`. For article pages, use `og:type: article` with og:article:published_time, og:article:modified_time, og:article:author. See **article-page-generator**, **open-graph**.
### BreadcrumbList
For breadcrumb navigation. Schema must match visible breadcrumbs exactly. See **breadcrumb-generator** for UI, placement, and semantic HTML.
| Requirement | Guideline |
|-------------|-----------|
| **Format** | JSON-LD in `<script type="application/ld+json">` |
| **URLs** | Absolute URLs with https:// for each item |
| **Position** | Sequential integers starting from 1 |
| **Match** | Schema must match visible breadcrumbs exactly |
**JSON-LD example**:
```json
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "name": "Home", "item": "https://example.com/" },
{ "@type": "ListItem", "position": 2, "name": "Category", "item": "https://example.com/category/" },
{ "@type": "ListItem", "position": 3, "name": "Current Page", "item": "https://example.com/category/current-page/" }
]
}
```
**Multiple paths**: Google supports multiple BreadcrumbList objects on the same page when a page is reachable via multiple paths (e.g., product in multiple categories). Use an array of BreadcrumbList objects.
## Best Practices
| Principle | Guideline |
|-----------|-----------|
| **Accuracy** | Data must match visible page content; never add invisible or misleading data |
| **Completeness** | Include all required properties per type |
| **Most specific type** | Use NewsArticle over Article when applicable |
| **JSON-LD** | Preferred format; place in `<script type="application/ld+json">` |
| **@id for entities** | Use @id for Organization, Person to enable entity linking; see **entity-seo** |
| **Phased implementation** | Add required properties first; then optional for optimization |
| **Validation** | Test with Rich Results Test and Schema Markup Validator |
| **inLanguage (multilingual)** | Add `"inLanguage": "en-US"` (IETF BCP 47) to match hreflang; localize names, descriptions, FAQs for rich snippets per locale |
### Multilingual Schema (inLanguage)
For multilingual sites, add `inLanguage` to JSON-LD to reinforce language targeting. Align with hreflang values (e.g. `"inLanguage": "zh-CN"` with `hreflang="zh-CN"`).
**Localize schema data**: Translate structured data fields (name, description, FAQ acceptedAnswer, etc.) for each locale to improve rich snippet CTR in that language.
**Types that support inLanguage**: Article, BlogPosting, WebApplication, FAQPage, HowTo, Product, Organization.
## Implementation Workflow
1. **Analyze** page type and content; choose matching Schema type
2. **Select format** — JSON-LD recommended (Google, Bing, AI tools support it)
3. **Write** structured data; start with required properties
4. **Validate** with [Rich Results Test](https://search.google.com/test/rich-results), [Schema Markup Validator](https://validator.schema.org/)
5. **Deploy and monitor** via Search Console enhanced reports
## Common Errors and Fixes
| Error | Fix |
|-------|-----|
| **Data doesn't match visible content** | Schema must describe only what users see |
| **Missing required properties** | Check Google/Schema.org docs for each type |
| **Wrong type for page** | Don't use Event on non-event pages; don't use JobPosting on product pages |
| **Format/syntax errors** | Validate JSON-LD; check quotes, brackets, commas |
| **Over-markup** | Mark only relevant content; avoid stuffing unrelated types |
## Implementation
### Next.js (metadata)
```tsx
export const metadata = {
other: {
'script:ld+json': JSON.stringify({
"@context": "https://schema.org",
"@type": "Article",
"headline": "...",
"description": "...",
"inLanguage": "en-US",
"image": "https://example.com/image.jpg",
"datePublished": "2024-01-01T00:00:00Z",
"dateModified": "2024-01-15T00:00:00Z",
"author": { "@type": "Person", "name": "..." },
"publisher": { "@type": "Organization", "name": "...", "logo": { "@type": "ImageObject", "url": "..." } }
}),
},
};
```
### HTML (generic)
```html
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "...",
"description": "...",
"inLanguage": "en-US",
"author": { "@type": "Person", "name": "..." },
"publisher": { "@type": "Organization", "name": "...", "logo": { "@type": "ImageObject", "url": "..." } }
}
</script>
```
## Validation Tools
| Tool | Purpose |
|------|---------|
| [Google Rich Results Test](https://search.google.com/test/rich-results) | Check if Google can generate rich results |
| [Schema Markup Validator](https://validator.schema.org/) | Validate against Schema.org spec |
| Search Console | Enhanced reports; monitor validity over time |
## Output Format
- **Action first**: Use the Website/Product Type → Schema Mapping table to recommend which exclusive schema fits the site (e.g., AI meal planner → Recipe; SaaS tool → SoftwareApplication)
- **Schema type** recommendation (core vs. exclusive)
- **Page-level mapping**: Which pages get which schema
- **JSON-LD** structure with required properties
- **Validation** steps
- **References**: [Schema.org](https://schema.org/), [Google Structured Data](https://developers.google.com/search/docs/appearance/structured-data/intro-structured-data), [Bing Markup](https://www.bing.com/webmasters/help/marking-up-your-site-with-structured-data-3a93e731)
## Related Skills
- **article-page-generator**: Article structure; Article/BlogPosting/NewsArticle schema; date display
- **serp-features**: **Strongly related**—schema maps to SERP features; see mapping table above
- **faq-page-generator**: FAQPage schema; FAQ content structure
- **breadcrumb-generator**: BreadcrumbList schema implementation
- **featured-snippet**: FAQPage, HowTo for snippets
- **video-optimization**: VideoObject, video sitemap, thumbnail, key moments
- **entity-seo**: Organization, Person for entity recognition; @id; Knowledge Panel
- **homepage-generator**: Organization + WebSite schema on homepage or root layout
- **indexing**: Google Indexing API for JobPosting, BroadcastEvent
When the user wants to create, optimize, or audit a careers or jobs page. Also use when the user mentions "careers," "jobs," "hiring," "open positions," "com...
--- name: careers-page-generator description: When the user wants to create, optimize, or audit a careers or jobs page. Also use when the user mentions "careers," "jobs," "hiring," "open positions," "company culture," "careers page," "job listings," "we're hiring," "join our team," or "recruitment page." metadata: version: 1.0.0 --- # Pages: Careers Guides careers page content, structure, and employer branding for recruitment. **When invoking**: On **first use**, if helpful, open with 1–2 sentences on what this skill covers and why it matters, then provide the main output. On **subsequent use** or when the user asks to skip, go directly to the main output. ## Initial Assessment **Check for project context first:** If `.claude/project-context.md` or `.cursor/project-context.md` exists, read it for company values, culture, and differentiators. Identify: 1. **Audience**: Job seekers, passive candidates 2. **Open roles**: List or link to ATS 3. **Employer brand**: Culture, benefits, perks ## Best Practices ### Essential Elements | Element | Purpose | |---------|---------| | **Open positions** | List or link to job board/ATS | | **Company culture** | Values, team, work environment | | **Benefits** | Health, remote, PTO, learning | | **Process** | What to expect when applying | | **CTA** | Apply, view roles, contact recruiting | ### Structure - **Hero**: Employer value proposition; "Join us" - **Open roles**: List or embed; filter by department/location - **Why us**: Culture, benefits, growth - **Team**: Photos, quotes, diversity - **Process**: Application steps ### SEO - Target "company name careers," "jobs at company" - Schema: JobPosting for each role - Internal links from About, Home ## Output Format - **Structure** outline - **Employer brand** messaging - **Open roles** section approach - **SEO** metadata and schema ## Related Skills - **about-page-generator**: Culture and team overlap - **schema-markup**: JobPosting schema - **title-tag, meta-description, page-metadata**: Careers page metadata
When the user wants to plan, implement, or optimize creator program strategy. Also use when the user mentions "creator program," "creator partnership," "cont...
--- name: creator-program description: When the user wants to plan, implement, or optimize creator program strategy. Also use when the user mentions "creator program," "creator partnership," "content co-creation," "creator ambassador," "creator economy," "creator collaboration," "UGC program," "creator incentives," or "creator community." metadata: version: 1.1.0 --- # Channels: Creator Program Guides creator program strategy for AI/SaaS products. Long-term partnerships with creators for content co-creation and brand building. Differs from affiliate (sales focus) and influencer (paid promotion focus). **When invoking**: On **first use**, if helpful, open with 1–2 sentences on what this skill covers and why it matters, then provide the main output. On **subsequent use** or when the user asks to skip, go directly to the main output. ## Initial Assessment **Check for project context first:** If `.claude/project-context.md` or `.cursor/project-context.md` exists, read it for product, audience, and content needs. Identify: 1. **Product type**: AI tool, design tool, CMS, marketplace 2. **Content need**: Tutorials, templates, use cases 3. **Creator target**: Followers, niche, content quality ## Creator vs. Affiliate vs. Influencer | Dimension | Creator Program | Affiliate | Influencer | |-----------|-----------------|-----------|------------| | **Goal** | Brand + content co-creation | Direct sales | Brand exposure | | **Incentive** | Credits, free use, revenue share | Commission | Paid, product | | **Content** | Must use product to create | Links | Influencer original | | **Relationship** | Long-term | Transactional | Flexible | ## Incentive Models | Model | Use | Examples | |-------|-----|----------| | **Credits** | AI tools; cost control | Credit-based AI tools | | **Payment** | High-quality content; budget available | Paid creator programs | | **Hybrid** | Credits + commission, brand partnership | Common for SaaS | | **Marketplace** | Template/plugin sales; revenue share | Design tools, CMS marketplaces | ## Implementation Phases | Phase | Weeks | Tasks | |-------|-------|-------| | **Plan** | 1–2 | Goals, incentives, application form, resources | | **Launch** | 3–4 | Landing page, promotion, tracking | | **Recruit** | 5–8 | Screen applications, outreach, onboarding | | **Co-create** | 9–12 | Content publishing, support, promotion | | **Optimize** | Ongoing | Metrics, feedback, incentive tweaks | ## Best Practices - **Showcase creator work**: Dedicated page; recognize top creators - **Quality over quantity**: 1K+ followers + high content quality for AI tools - **Clear terms**: Content policy, NSFW rules, brand guidelines - **Communication**: Community chat, email; regular updates - **Timeline**: 3–6 months to see results; patience required ## Ecosystem Operations | Principle | Use | |-----------|-----| | **Value for all** | Each participant (creators, content, integrations) gains value—not just the platform | | **Integrations** | Product must integrate with upstream/downstream tools; enables solution bundling | | **Multi-product** | Form solution suites; support partners including you in their stacks | **Creators + community**: Free tools + high-quality creator content; mutual promotion; user-generated quality often exceeds in-house. ## Common Challenges | Challenge | Solution | |-----------|----------| | Content quality | Clear standards; review; suspend non-compliant | | Brand consistency | Guidelines; content review; unified tags | | Measurement | UTM; KPIs: applications, approval rate, content output | | Cost control | Credit model; tier incentives; limit creator count | ## Output Format - **Incentive model** recommendation - **Landing page** elements - **Recruitment** approach - **Phase** timeline - **KPI** framework ## Related Skills - **affiliate-marketing**: Can run both; different goals - **influencer-marketing**: Influencers can join creator program - **employee-generated-content**: Employee content; creator program is external - **affiliate-page-generator**: If creator program has commission component - **landing-page-generator**: Creator program signup page; apply landing page structure
When the user wants to track AI search traffic in GA4 or GSC. Also use when the user mentions "AI traffic," "ChatGPT referral," "Perplexity traffic," "AI Ove...
--- name: ai-traffic-tracking description: When the user wants to track AI search traffic in GA4 or GSC. Also use when the user mentions "AI traffic," "ChatGPT referral," "Perplexity traffic," "AI Overviews," "GA4 AI sources," "AI search analytics," "track AI referrals," "AI search traffic," "Claude traffic," or "how to track AI traffic." metadata: version: 1.0.0 --- # Analytics: AI Traffic Guides tracking of AI-driven search traffic in Google Analytics 4 and Google Search Console. **When invoking**: On **first use**, if helpful, open with 1–2 sentences on what this skill covers and why it matters, then provide the main output. On **subsequent use** or when the user asks to skip, go directly to the main output. ## Scope - **AI search traffic**: Track in GA4 and GSC; separate AI sources from organic referral - **Google AI Overviews**: AI summary box in Google search (formerly SGE) - **AI-driven search**: Traffic from ChatGPT, Perplexity, Gemini, Claude, Copilot, etc. ## Why Track Separately - AI traffic is growing but GA4 often groups it as Referral, Organic, or Direct - AI visitors may have stronger intent and higher conversion - Separating AI Overviews from organic helps assess AI impact ## GA4: AI-Driven Search ### Option 1: Exploration Report (Recommended) 1. **Explore** →**Free form** 2. **Dimensions**: `Session source` (or `Session source / medium`) 3. **Metrics**: Sessions, Engagement rate, Event count, etc. 4. **Filters**: Add filter →`Session source` **Matches regex** →use regex below 5. Configure table, save report **Regex (common AI sources):** ``` chatgpt\.com|openai\.com|openai|perplexity\.ai|perplexity|doubao\.com|chat\.qwen\.ai|copilot\.microsoft\.com|copilot\.com|(business\.)?gemini\.google|chat\.deepseek\.com|deepseek\.com|poe\.com|anthropic\.com|claude\.ai|bard\.google\.com|edgeservices\.bing\.com ``` ### Option 2: Custom Channel Group 1. **Admin** →**Data Display** →**Channel Groups** 2. Copy default group, name e.g. "Default and AI Chatbots" 3. Add channel "AI Chatbots": `Source` **Matches regex** (same regex) 4. **Important**: Place "AI Chatbots" above "Referral" so it matches first 5. Save and use in Traffic Acquisition ### Option 3: Custom Report 1. **Reports** →**Library** →Create Detail Report 2. Use Traffic Acquisition template 3. Add filter: `Session source` **Matches regex** (same regex) 4. Save and add to menu ## Common AI Source Domains | Platform | GA4 Source examples | |----------|---------------------| | ChatGPT | chatgpt.com, openai | | Perplexity | perplexity.ai, perplexity | | Copilot | copilot.com, copilot.microsoft.com | | Gemini | business.gemini.google, gemini.google | | Claude | claude.ai, anthropic.com | | Bing Chat | edgeservices.bing.com | ## Google AI Overviews - **GA4 + URL fragment**: Some AI Overview clicks add URL fragments; can use GTM (partial coverage) - **GSC**: For AI Overviews analysis in GSC (filter, limitations), see **google-search-console** ## Checklist - [ ] AI sources identified in GA4 (Session Source) - [ ] AI traffic Exploration report created - [ ] Channel group updated with AI above Referral (if used) - [ ] Custom report added to Library (optional) - [ ] GTM + URL fragment for AI Overviews (optional) - [ ] GSC AI-oriented query filter (optional; see **google-search-console**) ## Output Format - **GA4 setup**: Exploration, channel group, or custom report - **Regex**: Adapted to user's observed sources ## Related Skills - **generative-engine-optimization**: GEO strategy; AI traffic tracking measures GEO impact - **traffic-analysis**: Traffic sources, attribution, UTM - **analytics-tracking**: GA4 events and conversions - **google-search-console**: GSC AI traffic analysis - **robots-txt**: AI crawler allow/block strategy
When the user wants to analyze Google Search Console data, use GSC API, or interpret search performance. Also use when the user mentions "GSC," "Search Conso...
--- name: google-search-console description: When the user wants to analyze Google Search Console data, use GSC API, or interpret search performance. Also use when the user mentions "GSC," "Search Console," "indexing report," "Core Web Vitals," "Enhancements," "Insights report," "search performance," "search queries," "search performance report," "URL inspection," "impressions," "CTR," "average position," "index coverage," "title tag," "meta description," "GSC data analysis," "Search Console API," or "searchanalytics.query." metadata: version: 1.2.0 --- # Analytics: Google Search Console Guides analysis of Google Search Console (GSC) data: performance metrics, indexing, sitemaps, Core Web Vitals, and rich results. Covers best practices for monthly monitoring and actionable insights. **When invoking**: On **first use**, if helpful, open with 1-2 sentences on what this skill covers and why it matters, then provide the main output. On **subsequent use** or when the user asks to skip, go directly to the main output. ## Scope - **Performance**: Clicks, impressions, CTR, average position; API for export - **Insights**: Simplified overview; top/trending content and queries - **Indexing**: Pages indexed, pages not indexed, reasons (Coverage) - **Technical**: Sitemaps, Core Web Vitals, Enhancements - **API**: searchanalytics.query for programmatic access - **Methodology**: How to read charts, avoid common mistakes, correlate with releases ## Analysis Best Practices ### Chart Reading | Practice | Why | |----------|-----| | **Focus one metric at a time** | Stacked bar charts hide fluctuations; toggle off other metrics to see each clearly | | **Don't compare just two points** | End-of-month vs prior month misses mid-month drama; examine full trend | | **Check beyond top 10** | Many reports default to top 10; scroll or paginate for more rows | | **Screenshot charts** | GSC retains limited history; save images for future reference | | **Record in spreadsheet** | Export at month-end; use formulas to track correlations over time | | **Track release dates** | Join dev standups, read release notes; correlate GSC shifts with deployments | ### Investigation Workflow 1. **Pinpoint date**: When did the metric change? 2. **Correlate**: Any releases, CMS changes, server maintenance, third-party code? 3. **Decide**: Investigate, correct, overlook, or monitor closely 4. **Loop in**: Product or dev team for root cause ## Key Reports & Metrics ### 1. Performance (Search Results) **Location**: Performance ? Search results | Metric | Use | |--------|-----| | **Clicks** | Traffic from Google Search | | **Impressions** | How often site appeared in results | | **CTR** | Whether users think page answers query | | **Average position** | Ranking trend | **Dimensions**: Query, page, country, device, date. Filter by search type: web, image, video, news. Use to find low-CTR high-impression pages (title/meta optimization opportunities). **Search appearance**: AMP, blue link, rich results (filterable in UI and API). #### CTR Benchmarks by Position Use to compare actual CTR vs expected. Benchmarks vary by SERP features (AI Overviews, featured snippets). **Zero-click**: When SERP features satisfy intent without a click, organic CTR drops; factor into expectations. See **serp-features** (Zero-Click section), **featured-snippet**. Clean SERPs: | Position | Expected CTR (baseline) | With AI Overviews (lower) | |----------|-------------------------|---------------------------| | 1 | 25-35% | ~19% | | 2 | 12-18% | ~12% | | 3 | 8-12% | ~7% | | 4-5 | 5-7% | ~5% | | 6-10 | 2-5% | 2-5% | **Interpretation**: If actual CTR is below expected for your position, prioritize title/meta optimization. Over 90% of first-page results have CTR below 10%; significant upside exists. #### Low CTR, High Impressions: Optimization Workflow 1. **Identify**: Sort by impressions; filter positions 1-10; 1,000+ monthly impressions 2. **Compare**: Actual CTR vs expected for position (see table above) 3. **Gap**: e.g., position 4 at 2% CTR vs expected 5-7% ? ~3-5% uplift potential 4. **Action**: Optimize title and meta (see below); add schema for rich results (+10-20% clicks) #### Title Tag Best Practices | Aspect | Guideline | |--------|-----------| | **Length** | 50-60 chars to avoid truncation; Google reads full tag, weights beginning | | **Front-load** | Main phrase first; branding at end | | **Clarity** | Match search intent; avoid keyword stuffing | | **Engagement** | Numbers, power words, questions can boost CTR ~36% | | **Example** | Bad: "SEO Tips for Small Business" ? Better: "11 SEO Tips That Actually Work (2026)" | Google may rewrite titles if they mismatch content or intent. H1 should align with title. #### Meta Description Best Practices | Aspect | Guideline | |--------|-----------| | **Length** | 120-158 chars (~150 sweet spot); ~920px desktop, ~680px mobile | | **Unique** | One per page; no duplicate descriptions | | **Intent** | Answer "why should I click?"; match search intent | | **Content** | Include author, date, price where relevant | | **Impact** | Does not affect ranking; well-written descriptions improve CTR 5-10% | #### Rich Results & CTR Pages with review stars, FAQ schema, or other rich snippets see 10-20% more clicks. See **schema-markup**. ### 2. Insights Report **Location**: Performance ? Insights (or Overview) Simplified overview; replaces standalone Search Console Insights. Data from GSC only (no GA since Dec 2024). | Card | Use | |------|-----| | **Clicks and impressions** | Site visibility and click effectiveness | | **Your content** | Top, trending up, trending down pages | | **Queries leading to your site** | Top, trending up, trending down queries | | **Top countries** | Geographic audience | | **Branded vs non-branded** | Brand recognition (AI-labeled; may mislabel) | | **Additional traffic sources** | Image, Video, News search, Discover | **Trending**: Based on click change vs previous period. Click items to jump to Performance report filtered to that item. **Query groups**: Similar queries grouped; group name = best-performing query. Not available for sub-properties or low-impression sites. ### 3. Page Indexing (Coverage) **Location**: Indexing ? Page indexing **Status grouping** (updated): Valid + Valid with warning ? **Indexed**. Error + Excluded ? **Not indexed**. **Indexed vs Not indexed are complementary**: Not all site content should be indexed. Login, admin, duplicate content, legal boilerplate, and low-value pages often intentionally use noindex. Indexed and non-indexed pages can reference each other (e.g., sitemap includes indexable URLs; noindex pages still exist and link internally). Non-indexed is not inherently a problem--investigate only when important pages are excluded. See indexing (noindex usage) and robots-txt (crawl control) for when to exclude. | Metric | Action | |--------|--------| | **Pages indexed** | Turn off "Pages not indexed" to view alone; watch for drops | | **Pages not indexed** | Turn off "Pages indexed" to view alone; watch for spikes. Distinguish intentional (noindex, robots) from accidental | **Filter**: All submitted pages / Unsubmitted pages only (dropdown near top). **Source column**: Indicates whether issue is caused by website or Google. **Why pages are not indexed**: Drill into reasons and example URLs. Common culprits: - Duplicate content - Noindex tags - Redirect errors - 5xx errors - 404 errors - Blocked by robots.txt - Discovered ? currently not indexed - Crawled ? currently not indexed **Quick check**: If trend line is stable, spend ~3 seconds; move on. Investigate if fourth column (trend) shifts. **Diagnosis workflow**: GSC Coverage ? click Issue ? view sample URLs ? identify pattern ? fix (see indexing for fix actions). **Coverage issue types**: | Issue | Meaning | Next step | |-------|---------|-----------| | Crawled - currently not indexed | Crawled but not indexed | See indexing | | Excluded by "noindex" tag | Intentionally excluded; often valid (login, admin, legal, etc.) | Ignore if expected; verify important pages not accidentally noindexed | | Blocked by robots.txt | Crawl blocked | See **robots-txt**; may be intentional | | Redirect / 404 | Redirect or missing | Fix URL or redirect | | Duplicate / Canonical | Duplicate content | Usually OK; keep canonical | **URL Inspection**: Verdicts: "URL is on Google," "URL is on Google, but has issues," "URL is not on Google." Use for important pages; verify canonical, internal links, sitemap; Request indexing if needed. ### 4. Video Indexing (If Applicable) **Location**: Indexing ? Video indexing - **Videos indexed** / **Videos not indexed**: Toggle off the other for clear view - **Why videos are not indexed**: Thumbnail blocked, invalid size/format, not in main content, etc. Skip if video SEO is not in roadmap. ### 5. XML Sitemaps **Location**: Indexing ? Sitemaps | Check | Action | |------|--------| | Status | Confirm each sitemap says "Success" | | URLs indexed | Click sitemap ? see indexed count; drops indicate indexing issues | | Bellwether sitemaps | For large sites, monitor templated sitemaps (by country, language, division) | Enterprise: Glitches can block new URL crawling, cause hreflang confusion, delay fresh content discovery. ### 6. Core Web Vitals **Location**: Experience ? Core Web Vitals **Priority**: Mobile first (Google's higher expectations for mobile). | Metric | Mobile | Desktop | |--------|-------|---------| | **Good URLs** | Target | Secondary | | **Needs improvement** | Fix | Monitor | | **Poor URLs** | Fix | Monitor | **Why URLs don't have good score**: Click "Open report" ? grouped example URLs by issue type. | Issue | Threshold (mobile) | |-------|--------------------| | LCP | > 2.5s (good), > 4s (poor) | | INP | > 200ms (good), > 500ms (poor) | | CLS | > 0.1 (needs improvement), > 0.25 (poor) | **Tip**: Historical chart is short; export to spreadsheet for longer trends. Share with dev team regularly; correlate dates with releases. **Layout** (updated): Two tables--Poor or Need improvement; Good (click "View data about usable pages"). ### 7. Enhancements (Rich Results) **Location**: Experience ? Enhancements (Product snippets, Merchant listings under Shopping) **Status** (updated): Two-tier?*invalid* (critical issues, may not appear) vs **valid** (no critical issues; may still have warnings). Warnings no longer top-level. | Type | Examples | |------|----------| | Content | Breadcrumbs, FAQ, Events, Videos, Job postings, Review snippets, Q&A, Discussion forums | | Shopping | Product snippets, Merchant listings | | Other | Recipes, Datasets, Hotels, Vacation rentals, Profile pages, Practice problems, Math solvers, Image metadata | **Note**: Reports show sample items, not full list. Use URL Inspection for unlisted URLs. ### 8. AI Overviews (GSC Limitation) - **GSC**: AI Overviews clicks/impressions are not separated from organic in Performance report. - **Workaround**: Filter queries that tend to trigger AI Overviews to estimate AI-driven visibility: ``` (?i)^(who|what|where|when|why|how|which|is|are|can|does|should)|\b(vs|versus|compare|difference|pros and cons|guide|tutorial|best|top|list)\b ``` For GA4 AI traffic tracking, see **ai-traffic-tracking**. ### 9. Links & Disavow **Location**: Links (inbound links), Security & Manual Actions - **Links report**: View links to site and pages; anchor text distribution. - **Disavow file**: Submit via GSC when necessary (manual penalty, toxic links). Use sparingly; over-disavowing can harm. See **backlink-analysis** for when to disavow. ## Search Console API **Method**: `searchanalytics.query()` --exposes all Performance report data. ### Metrics Clicks, Impressions, CTR, Position. ### Dimensions date, query, page, country, device. Search appearance (AMP, blue link, rich results). Filter by search type: web, image, video, news. ### Limits | Limit | Value | |-------|-------| | Rows per day per search type per property | 50,000 | | Rows per response | 25,000 (use pagination: startRow, rowLimit) | | Data availability | 2-3 days after | **Tip**: Run daily queries for one day of data to avoid quota. Verify data presence first (dimensions: date only, no filters). **Optimization**: Gzip compression; `fields` parameter for partial responses; pagination for large datasets. **References**: [Search Console API](https://developers.google.com/webmaster-tools/about), [searchanalytics.query](https://developers.google.com/webmaster-tools/v1/how-tos/search_analytics) ## Monthly Audit Checklist - [ ] Performance: Clicks, impressions, CTR, position trends - [ ] Insights: Top/trending content and queries (if available) - [ ] Page indexing: Indexed vs not indexed (isolated views) - [ ] Why not indexed: Trend lines for key reasons - [ ] Sitemaps: All "Success"; indexed URL counts stable - [ ] Core Web Vitals: Mobile good/needs improvement/poor - [ ] Enhancements: No new invalid items (critical issues) - [ ] Links: No manual actions; disavow only if needed (see **backlink-analysis**) - [ ] Data exported to spreadsheet (month-end snapshot) - [ ] Charts screenshotted for history - [ ] Release notes reviewed for correlation ## Output Format - **Summary**: Key findings, trends, anomalies - **Metrics**: Specific numbers and date ranges - **CTR analysis**: Actual vs expected by position; low-CTR high-impression pages - **Title/meta opportunities**: Pages with CTR gap; specific optimization suggestions - **Action items**: Prioritized fixes (indexing, CWV, sitemaps, enhancements, title/meta) - **Correlation**: Suspected causes (releases, config changes) - **Next steps**: Monitoring plan, dev handoff ## Related Skills - **title-tag, meta-description, page-metadata**: Title, meta description, hreflang implementation - **xml-sitemap**: Fix sitemap errors - **indexing**: Resolve indexing issues (fix actions) - **schema-markup**: Fix structured data / rich results - **backlink-analysis**: When to disavow; backlink audit - **traffic-analysis**: Traffic sources, attribution - **analytics-tracking**: GA4 events (correlate with GSC) - **ai-traffic-tracking**: GA4 AI traffic tracking - **seo-monitoring**: Full SEO data analysis system, benchmark, article database - **serp-features**: SERP features; CTR benchmarks by feature type - **featured-snippet**: Featured Snippet optimization; snippet performance