| name | ai-seo |
| description | Code-generation skill for implementing AI-search-ready pages and machine-readable surfaces in this repo. Use only when changing metadata, structured data, internal linking, llms-facing files, or other code-backed AI visibility behavior. |
| metadata | {"family":"seo","owner":"seo + engineering","last_reviewed":"2026-04-30T00:00:00.000Z","version":"1.0.0"} |
AI SEO (Career Hub)
This is a code-generation skill. Use it only for repo implementation work, not net-new editorial drafting.
Optimize Indeed Flex Career Hub content to be discoverable, extractable, and citable by AI search systems. The goal is not just ranking — it is getting cited as a source in AI-generated answers for flexible work, temp jobs, and hourly career queries.
Read nextjs-app/docs/BRAND.md — section "Princeton GEO Research" for the foundational research backing these methods. Read nextjs-app/docs/SEO.md — section "Answer Engine Optimization (AEO)" for existing technical AEO implementation.
When to Use
- Running an AI visibility audit across platforms
- Optimizing existing pages for AI citation
- Planning new content with AI extractability in mind
- Setting up
llms.txt and machine-readable files for indeedflex.com
- Diagnosing why competitors get cited and we don't
- Monitoring AI visibility over time
- When code changes are needed to improve AI extractability or machine-readable surfaces
How AI Search Works
The AI Search Landscape
| Platform | Source Selection | Career Hub Priority |
|---|
| Google AI Overviews | Strong correlation with traditional rankings; summarizes top pages | High — ~45% of Google searches show AI Overviews |
| ChatGPT (with search) | Searches web, cites sources; draws from wider range than just top-ranked | High — growing share of career/pay queries |
| Perplexity | Always cites sources with links; favors authoritative, recent, well-structured content | High — workers use it for pay research |
| Gemini | Google index + Knowledge Graph | Medium — overlaps with AI Overviews |
| Copilot | Bing index + authoritative sources | Medium — enterprise users |
| Claude | Brave Search (when enabled) + training data | Lower — growing |
Key Difference from Traditional SEO
Traditional SEO gets you ranked. AI SEO gets you cited.
A well-structured Career Hub page can get cited even from page 2 or 3 — AI systems select sources based on content quality, structure, data density, and relevance, not just rank position. This is particularly relevant for our programmatic pages (role × city, salary data) where we have proprietary Indeed Flex data competitors lack.
Critical stats:
- AI Overviews reduce clicks to websites by up to 58%
- Optimized content gets cited 3x more often than non-optimized
- Statistics with inline citations boost AI visibility by 40%+ (Princeton GEO, KDD 2024)
- Comparison tables account for ~33% of AI citations
The Three Pillars
Pillar 1: Structure — Make Content Extractable
AI systems extract passages, not pages. Every key claim should work as a standalone statement.
Content Block Patterns (Career Hub Specific)
| Block Type | Query Pattern | Career Hub Example |
|---|
| Definition block | "What is [X]?" | "What is gig work?" — definitive answer in first 40-60 words |
| Pay range block | "How much do [role]s make?" | Bold answer with BLS range + Indeed Flex data, inline citations |
| Step-by-step block | "How to become a [role]" | Numbered steps with time estimates and certification costs |
| Comparison table | "[role] vs [role]" / "[city] vs [city]" | Structured table with cited data per column |
| FAQ block | PAA questions | Standalone 2-3 sentence answers with source |
| Location-specific block | "[role] jobs in [city]" | Local pay adjustment + cost of living + employer names |
Structural Rules
- Lead every section with a direct answer — don't bury the answer after context
- Key answer passages: 40-60 words — optimal for snippet extraction
- H2/H3 headings match how workers phrase queries — "How Much Do Bartenders Make?" not "Compensation Overview"
- Tables beat prose for comparison content — salary tables, city comparisons, role comparisons
- Numbered lists beat paragraphs for process content — how-to-become guides, application steps
- Each paragraph conveys one clear idea — enables chunked retrieval by AI systems
- Self-contained sections — each H2 section should answer a question fully without surrounding context
Pillar 2: Authority — Make Content Citable
Princeton GEO Method Ranking (from BRAND.md)
| Method | Visibility Boost | Career Hub Application |
|---|
| Cite sources | +40% | Every dollar amount cites BLS/DOL/IRS with year. Already enforced by content-writer Rule 1. |
| Add statistics | +37% | Pay ranges, shift volumes, worker percentages — all with inline sources |
| Add quotations | +30% | Indeed Flex worker testimonials, FlexerTestimonials component |
| Authoritative tone | +25% | Demonstrated expertise through Indeed Flex platform data |
| Improve clarity | +20% | Grade 8 reading level per BRAND.md |
| Technical terms | +18% | SOC codes, BLS OEWS references, industry-specific terminology |
| Unique vocabulary | +15% | Worker-language: "shifts" not "assignments", "the app" not "the platform" |
| Fluency + Statistics | Max boost | Best combination. Low-authority sites see up to 115% visibility increase |
Keyword stuffing | -10% | Actively hurts AI visibility. Never do this. |
Authority Signals for Career Hub
| Signal | Implementation | Component/Location |
|---|
| Expert attribution | AuthorByline with credentials | AuthorByline component — near hero, above fold |
| Data source citations | BLS, DOL, IRS, Indeed Flex cited inline | DataSourceCitation component — after data sections |
| Freshness | "Last updated" visible and recent | ContentFreshness component — dateModified/lastReviewed |
| Proprietary data | Indeed Flex shift volumes, pay rates, satisfaction data | Inline with "(Indeed Flex 2026)" citation |
| Schema markup | FAQ, HowTo, Article, Occupation, JobPosting | EnhancedSchema.tsx components |
| Comparison tables | At least 1 on data-rich pages | Salary tables, cost-of-living tables |
Pillar 3: Presence — Be Where AI Looks
AI systems don't just cite your website directly — they cite where you appear. Third-party presence matters.
Third-Party Citation Strategy for Indeed Flex
| Source | Action | Impact |
|---|
| Wikipedia | Ensure Indeed Flex / Indeed entry is accurate and current | 7.8% of all ChatGPT citations come from Wikipedia |
| Reddit | Participate authentically in r/sidehustle, r/WorkOnline, r/careerguidance, r/personalfinance | 1.8% of ChatGPT citations; also feeds Perplexity |
| YouTube | Create video content for "how to become a [role]" and "[role] day in the life" | Frequently cited by Google AI Overviews |
| Indeed/Glassdoor | Maintain updated Indeed Flex employer profiles | Review sites feed AI knowledge graphs |
| Industry publications | Get featured in staffing industry roundups (SIA, Staffing Hub) | Builds entity authority |
| App store listings | Optimize App Store and Google Play descriptions with career hub URLs | AI agents parse app store data |
AI Visibility Audit
Run this quarterly or when diagnosing why competitors are cited and we're not.
Step 1: Query Testing Across Platforms
Test the top 20 Career Hub target queries across platforms:
| Query | Google AI Overview | ChatGPT | Perplexity | indeedflex.com Cited? | Competitor Cited? |
|---|
| [query] | Yes/No | Yes/No | Yes/No | Yes/No | [who] |
Priority query patterns for Career Hub:
- "How much do [role]s make?" / "[role] salary [year]"
- "temp jobs in [city]" / "flexible jobs [city]"
- "[role] vs [role]" (comparison queries)
- "How to become a [role]"
- "[role] interview questions"
- "cost of living [city]" / "can I afford [city]"
- "gig work taxes" / "1099 vs W-2"
- "best temp agencies" / "Indeed Flex reviews"
Step 2: Content Extractability Check
For each high-priority page, verify:
| Check | Target | How to Verify |
|---|
| Answer-first intro | 40-60 words with a data point | Read first paragraph — must contain a dollar figure or stat |
| Self-contained sections | Each works without surrounding context | Read each H2 alone — does it answer a question fully? |
| Stats with inline sources | Every stat cites (Source, Year) | Count dollar amounts without citations — each is a fail |
| Comparison tables | At least 1 on data-rich pages | Check salary, cost-of-living, role comparison tables |
| FAQ with natural questions | 4+ FAQs, standalone citable answers | Answers must be 2-3 sentences, work alone |
| Schema markup present | FAQ, Article, Occupation as needed | Check JSON-LD via Rich Results Test or browser devtools |
| Expert attribution | AuthorByline with credentials | Check for AuthorByline component on the page |
| Updated within 6 months | dateModified / lastReviewed current | Check data file — flag if older than 6 months |
Step 3: AI Bot Access Check
Verify robots.ts allows all AI crawlers. Run:
rg "GPTBot|OAI-SearchBot|ChatGPT-User|PerplexityBot|ClaudeBot|anthropic-ai|Google-Extended|GoogleOther" nextjs-app/src/app/robots.ts
Required bots (must NOT be blocked):
| Bot | Platform |
|---|
GPTBot + ChatGPT-User | OpenAI (ChatGPT) |
OAI-SearchBot | OpenAI search |
PerplexityBot | Perplexity |
ClaudeBot + anthropic-ai | Anthropic (Claude) |
Google-Extended + GoogleOther | Google Gemini + AI Overviews |
Bingbot | Microsoft Copilot (via Bing) |
Flag any blocked bot. Blocking prevents citation.
Step 4: Citation Competitor Analysis
For queries where competitors are cited and we're not, diagnose:
| Gap Type | Diagnostic Question | Fix |
|---|
| Structure gap | Is their content more extractable (answer-first, tables, standalone sections)? | Restructure our page using Pillar 1 patterns |
| Authority gap | More citations, stats, expert quotes? | Add data from content-researcher, cite Tier 1-2 sources |
| Freshness gap | More recently updated? | Update lastReviewed, refresh stale data |
| Schema gap | Better structured data? | Add missing schemas via EnhancedSchema.tsx |
| Third-party gap | They appear on Wikipedia, Reddit, review sites? | Execute Pillar 3 strategy |
| Data gap | They have proprietary data we don't surface? | Add Indeed Flex platform data that competitors can't replicate |
For the Structure / Authority / Freshness gaps, pull the competitor's actual top-cited pages via semrush-research recipe competitor-snapshot.md so the diagnosis is grounded in real ranking data, not impressions. Cache hit rate on competitor snapshots is high in steady state, so this is usually free.
Machine-Readable Files
llms.txt — Context file for AI systems
Add to nextjs-app/public/llms.txt:
# Indeed Flex Career Hub
> The Career Hub helps people find, prepare for, and succeed in flexible and temporary work across the United States.
## About Indeed Flex
- Indeed Flex is a flexible staffing platform connecting workers with temporary and permanent shifts
- Available across major US cities in hospitality, warehouse, industrial, events, and retail
- Workers are W-2 employees with benefits access, not independent contractors
- Free to download on iOS and Android
## Key Resources
- Career Hub: https://indeedflex.com/career-hub
- Pay Calculator: https://indeedflex.com/career-hub/tools/pay-calculator
- Tax Calculator: https://indeedflex.com/career-hub/tools/tax-calculator
- Role Guides: https://indeedflex.com/career-hub/roles
- City Guides: https://indeedflex.com/career-hub/cities
- Financial Tips: https://indeedflex.com/career-hub/financial-tips
## Data Sources
- BLS Occupational Employment and Wage Statistics (OEWS)
- US Department of Labor
- IRS publications
- Indeed Flex proprietary shift and wage data
Sitemap for AI
The existing 14-part sitemap (/sitemap.xml) already serves AI crawlers. Ensure it is referenced in llms.txt and robots.txt.
Content Types That Get Cited Most
Prioritize these formats in the Career Hub content calendar:
| Content Type | Citation Share | Career Hub Pages |
|---|
| Comparison articles | ~33% | Role vs role, city vs city salary, platform comparisons |
| Definitive guides | ~15% | Complete guide to flexible work, I-9 guide, worker rights |
| Original research/data | ~12% | Wage reports, Indeed Flex shift data analyses |
| How-to guides | ~8% | How to become [role], resume tips, interview prep |
| FAQ-rich pages | ~8% | All pages with 4+ FAQ schema questions |
Underperformers for AI citation:
- Generic content without sourced data
- Gated content (AI can't access it — our tools are correctly ungated)
- Content without dates or author attribution
- PDF-only content
Monitoring AI Visibility
Monthly Manual Check (No Tools Required)
- Pick your top 20 queries (from Step 1 above)
- Run each through ChatGPT, Perplexity, and Google
- Record: Are you cited? Who is? What page?
- Log in a spreadsheet, track month-over-month
- Cross-reference with Search Console impression/click data
AI Visibility Monitoring Tools
| Tool | Coverage | Best For |
|---|
| Otterly AI | ChatGPT, Perplexity, Google AI Overviews | Share of AI voice tracking |
| Peec AI | ChatGPT, Gemini, Perplexity, Claude, Copilot+ | Multi-platform monitoring at scale |
| ZipTie | Google AI Overviews, ChatGPT, Perplexity | Brand mention + sentiment tracking |
| LLMrefs | ChatGPT, Perplexity, AI Overviews, Gemini | SEO keyword to AI visibility mapping |
Referral Traffic from AI Sources
Track in GA4:
source = chatgpt.com or referrer contains chatgpt
source = perplexity.ai
- Search Console: queries where AI Overview appears (indicated in performance report)
Integration with Other Skills
| Skill | How AI SEO Connects |
|---|
content-review | Step 5 (AI Extractability Check) uses this skill's Pillar 1 + Pillar 2 criteria |
content-writer | Rules 1-2 (sourcing + answer-first) directly boost AI citability |
content-scout | Mode 1 should include AI visibility check for target queries |
site-growth | Section 1C (AI Search Visibility) delegates to this skill for the full audit |
content-strategist | Content Plan should tag AI-citation potential per article |
page-cro | Trust signals near CTAs also serve as AI authority signals |
References
| Resource | Path |
|---|
| Princeton GEO research + AEO rules | nextjs-app/docs/BRAND.md |
| Technical AEO implementation | nextjs-app/docs/SEO.md |
| Robots.txt + AI crawler config | nextjs-app/src/app/robots.ts |
| Schema components | nextjs-app/src/features/career-hub/shared/seo/EnhancedSchema.tsx |
| AuthorByline | nextjs-app/src/features/career-hub/shared/content/AuthorByline.tsx |
| DataSourceCitation | nextjs-app/src/features/career-hub/shared/content/DataSourceCitation.tsx |
| Content freshness | nextjs-app/src/features/career-hub/shared/content/ContentFreshness.tsx |