# SaaStock — SEO, AEO & GEO Master Playbook The single reference for how every page on saastock.com should be built, linked, and optimized for traditional search, AI answer engines, and generative search. --- ## 1. URL Architecture ``` saastock.com/ ├── europe/ ← Series hub │ ├── 2016/ ← Historical event │ ├── 2017/ │ ├── ... │ ├── 2025/ │ │ ├── speakers/ ← Speaker list for this event │ │ └── talks/ ← Talk list for this event │ │ └── [talk-slug]/ ← Individual talk with transcript │ └── 2026/ ← Upcoming event │ ├── usa/ ← Series hub │ ├── 2023/ │ ├── 2024/ │ ├── 2025/ │ │ ├── speakers/ │ │ └── talks/ │ │ ├── churnzero-icp-discovery-ai/ │ │ └── [talk-slug]/ │ └── 2026/ │ ├── speakers/ │ └── talks/ │ ├── local/ ← Local events hub │ ├── amsterdam/ ← City rollup │ ├── barcelona/ │ ├── dublin/ │ └── ... │ ├── speakers/ ← Global speaker directory │ ├── sarah-kiley/ ← Individual speaker profile │ ├── mark-walker/ │ └── ... │ ├── talks/ ← Global talks directory │ ├── podcast/ ← SaaS Revolution Show hub │ └── [episode-slug]/ ← Individual episode with transcript │ ├── about/ │ └── our-story/ ← Timeline narrative │ └── llms.txt ← Site-wide AI summary ``` **Rules:** - Event pages live under their series (`/usa/2026`, `/europe/2024`), never at root. - Speaker profiles live at `/speakers/[slug]` globally, not nested under events. A speaker speaks at multiple events — their profile is the canonical page, and each event links to it. - Talk pages live under their event (`/usa/2025/talks/[slug]`). The talk happened at a specific event — that's its canonical location. - Podcast episodes live at `/podcast/[slug]`. They're not tied to a specific event. - The `/speakers/` and `/talks/` hubs are index pages that aggregate across all events and all time. --- ## 2. Page Types and Content Requirements ### 2a. Historical Event Page (`/usa/2026`) This is the page we've already designed. Requirements: - Full-bleed hero image with overlaid stats (exact numbers, never rounded with "+") - **Event highlight video embed** — the 2–3 minute highlight reel from YouTube, embedded prominently (below the hero or above the photo strip). These are the highest-traffic YouTube assets (68K–107K views) and create a two-way authority bridge between the YouTube video and the event page. Include `VideoObject` schema (see below). - Photo strip (5 images) - 6 featured speakers with name, title, company, talk title — each name links to their `/speakers/` profile - Key themes / tracks (3–6 with descriptions) - Floor plan or venue section - Full sponsor list by tier (text names required, not just logos — AI crawlers can't read images) - Links to `/usa/2026/talks/` and `/usa/2026/speakers/` - CTA to next edition - Previous/next edition navigation - Full footer with all editions linked **SEO content rule:** First 100 words must contain event name, date, venue name, city, and exact attendee count. **Event highlight video schema:** Every event page with an embedded highlight reel must include a `VideoObject` in the JSON-LD. This is separate from the main `Event` schema — it's an additional block. ```json { "@context": "https://schema.org", "@type": "VideoObject", "name": "SaaStock USA 2025 — Event Highlights", "description": "Highlights from SaaStock USA 2025 in Austin, TX. 1,376 SaaS founders, operators, and investors gathered for two days of tactical content, networking, and deal-making.", "uploadDate": "2025-07-11", "duration": "PT3M", "thumbnailUrl": "https://img.youtube.com/vi/[VIDEO_ID]/maxresdefault.jpg", "embedUrl": "https://www.youtube.com/embed/[VIDEO_ID]", "contentUrl": "https://www.youtube.com/watch?v=[VIDEO_ID]", "interactionStatistic": { "@type": "InteractionCounter", "interactionType": "https://schema.org/WatchAction", "userInteractionCount": 68115 }, "recordedAt": { "@type": "BusinessEvent", "name": "SaaStock USA 2025", "url": "https://saastock.com/usa/2025" }, "publisher": { "@type": "Organization", "name": "SaaStock", "url": "https://saastock.com" } } ``` The `interactionStatistic` with `WatchAction` tells Google this video has significant engagement. The `recordedAt` links the video entity to the event entity. Together with the YouTube embed on the page, this creates three reinforcing signals: the embed itself (Google can see it), the schema (structured data), and the YouTube video's own metadata (which should link back to this event page in its description). **Why this matters:** Google treats YouTube embeds as a ranking signal. A page with an embedded video that has 68K views sends a much stronger engagement signal than a page with only images. For AI answer engines, the `VideoObject` schema gives them a direct path from "What was SaaStock USA 2025 like?" to both the event page and the video. ### 2b. Speaker Profile Page (`/speakers/sarah-kiley`) This is a new page type. One page per speaker, covering their entire SaaStock history. **Content:** - **H1:** `Sarah Kiley — SaaStock Speaker` - **Headshot image** — high-resolution, minimum 800×800px, file named `sarah-kiley-headshot.jpg` (see Image SEO below) - **Current title and company:** Chief Sales Officer, ChurnZero - **Bio:** 2–3 sentences. Can be pulled from the event program, LinkedIn, or the speaker's own site. - **SaaStock appearances:** A list of every event they've spoken at, with: - Event name (linked to event page) - Talk title (linked to talk page) - Date - **Featured talk embed:** YouTube embed of their most-viewed talk - **Key quotes:** 2–3 pull quotes extracted from transcripts (factual, citable statements — not motivational fluff) - **Related speakers:** 3–4 speakers from the same events or same topic area (creates internal linking mesh) **Target queries:** - `[speaker name] keynote` — the page title, H1, and meta description must all contain the word "keynote" or the event context - `[speaker name] headshot` — the headshot image must be optimized for image search (see Section 8) - `[speaker name] SaaStock` — entity connection between person and event brand - `[speaker name] [topic]` — transcript content on the linked talk page captures long-tail queries **Title tag:** `[Speaker Name] — Keynote Speaker at SaaStock | [Company]` **Meta description:** `[Speaker Name], [Title] at [Company], has spoken at [N] SaaStock events. Watch their keynote on [topic] from SaaStock [Event] [Year].` **Schema:** ```json { "@context": "https://schema.org", "@type": "Person", "name": "Sarah Kiley", "jobTitle": "Chief Sales Officer", "affiliation": { "@type": "Organization", "name": "ChurnZero" }, "image": "https://saastock.com/speakers/sarah-kiley/sarah-kiley-headshot.jpg", "url": "https://saastock.com/speakers/sarah-kiley", "sameAs": [ "https://www.linkedin.com/in/sarahkiley" ], "performerIn": [ { "@type": "BusinessEvent", "name": "SaaStock USA 2025", "url": "https://saastock.com/usa/2025" } ] } ``` ### 2c. Talk Page (`/usa/2025/talks/churnzero-icp-discovery-ai`) This is where the transcript lives. Each talk gets its own page. **Content:** - **H1:** `[Talk Title] — [Speaker Name], [Company] | SaaStock [Event] [Year]` - **Talk metadata bar:** Speaker name(s), title(s), company(ies), event name, date, duration - **YouTube embed** - **Key takeaways:** 3–5 bullet points summarizing the most important insights. These should be written as standalone citable facts, not vague summaries. Example: - "ChurnZero does not use a single sales qualification methodology — they evaluate discovery depth and whether the prospect has a problem large enough to drive active exploration of alternatives." - "Sarah Kiley recommends stepping into agentic SDR tools gradually, starting with website engagement, rather than deploying autonomous outbound immediately." - **Full transcript:** Cleaned up from raw, with speaker labels, paragraph breaks, and timestamps. Must be in the HTML (not loaded via JavaScript — search crawlers won't execute JS). Can be in a collapsible/accordion element as long as the HTML is in the source. - **Links to:** Speaker profile(s), event page, 3–4 related talks (same topic or same event) **Title tag:** `[Talk Title] | [Speaker Name] Keynote at SaaStock [Event] [Year]` **Meta description:** `[Speaker Name] ([Title], [Company]) keynote at SaaStock [Event] [Year]. Full transcript and key takeaways on [topic keywords].` **Target queries:** - `[speaker name] keynote` — title tag contains "keynote" - `[speaker name] [topic]` — transcript contains every relevant keyword naturally - `[topic] SaaS conference talk` — long-tail - `[specific quote or insight from the talk]` — AI systems can cite directly from the transcript **Schema:** ```json { "@context": "https://schema.org", "@type": "VideoObject", "name": "[Talk Title]", "description": "[2-sentence summary]", "uploadDate": "2026-02-06", "duration": "PT25M", "thumbnailUrl": "[YouTube thumbnail URL]", "embedUrl": "https://www.youtube.com/embed/[video-id]", "contentUrl": "https://www.youtube.com/watch?v=[video-id]", "transcript": "[Full cleaned transcript text]", "author": { "@type": "Person", "name": "[Speaker Name]", "jobTitle": "[Title]", "affiliation": { "@type": "Organization", "name": "[Company]" }, "url": "https://saastock.com/speakers/[slug]" }, "recordedAt": { "@type": "BusinessEvent", "name": "SaaStock USA 2025", "url": "https://saastock.com/usa/2025" }, "publisher": { "@type": "Organization", "name": "SaaStock", "url": "https://saastock.com" } } ``` The `recordedAt` property is critical — it tells Google and AI systems this video was recorded at a SaaStock event, connecting the talk content back to the event entity. The `transcript` property is the AEO power move — it gives AI systems the full text to quote from, attributed to a named speaker at a named event. ### 2d. Speaker Directory Page (`/speakers/`) Index page listing all speakers who have ever appeared at a SaaStock event. **Content:** - H1: `SaaStock Speakers — Every Keynote Speaker Since 2016` - Filterable grid of speaker cards: headshot, name, title, company, number of appearances, most recent event - Each card links to the speaker profile page - Sorted by most recent appearance first (keeps the page fresh) - Total count in the opening paragraph: "Since 2016, SaaStock has hosted [N] speakers across [N] events in [N] cities." **Title tag:** `SaaStock Speakers — Keynote Speakers from 10 Years of SaaS Conferences` **Meta description:** `Browse every keynote speaker who has appeared at SaaStock since 2016. [N] speakers from companies like [top 3 logos]. Full talk transcripts and headshots.` ### 2e. Talks Directory Page (`/talks/`) Index page listing all talks with transcripts. **Content:** - H1: `SaaStock Talks — Keynotes, Panels & Interviews with Full Transcripts` - Filterable list: by event, by year, by topic/theme, by speaker - Each entry shows: talk title, speaker name(s), event, date, view count, link to full talk page - Opening paragraph with total count: "Watch and read [N] talks from SaaStock conferences and the SaaS Revolution Show podcast." ### 2f. Series Hub (`/usa` or `/europe`) - Next edition details (date, venue, CTA) - Year-over-year table with attendee counts - Links to every historical edition - Links to `/usa/speakers/` or the global `/speakers/` filtered by series - Brief series description for GEO targeting ### 2g. City Page (`/local/barcelona`) - Every event held in that city, most recent first - City-specific SaaS ecosystem content - Link to Local hub - CTA for attending or hosting ### 2h. Timeline Page (`/about/our-story`) - Chronological narrative from 2016 to present - Key milestones with dates and exact numbers - Links to every flagship event page - Growth metrics over time --- ## 3. Schema Markup (JSON-LD) Every page carries the schemas listed in its section above. Additionally, every page on the site carries these two universal blocks: ### BreadcrumbList (adjust per page) ```json { "@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [ { "@type": "ListItem", "position": 1, "name": "SaaStock", "item": "https://saastock.com" }, { "@type": "ListItem", "position": 2, "name": "[Section]", "item": "https://saastock.com/[section]" }, { "@type": "ListItem", "position": 3, "name": "[Page]", "item": "https://saastock.com/[section]/[page]" } ] } ``` ### Organization (site-wide) ```json { "@context": "https://schema.org", "@type": "Organization", "name": "SaaStock", "url": "https://saastock.com", "foundingDate": "2016", "description": "SaaStock is the world's largest community of B2B SaaS founders scaling to $10M ARR and beyond.", "sameAs": [ "https://twitter.com/SaaStock", "https://www.linkedin.com/company/saastock", "https://www.youtube.com/@SaaStock" ] } ``` --- ## 4. Meta Tags ### Title tag formulas | Page type | Formula | |-----------|---------| | Event | `SaaStock [Series] [Year] — [Month Day–Day], [City] [State] | SaaStock` | | Speaker profile | `[Name] — Keynote Speaker at SaaStock | [Company]` | | Talk page | `[Talk Title] | [Speaker] Keynote at SaaStock [Series] [Year]` | | Speaker directory | `SaaStock Speakers — Keynote Speakers from 10 Years of SaaS Conferences` | | Talks directory | `SaaStock Talks — Keynotes & Interviews with Full Transcripts` | | Series hub | `SaaStock [Series] — The Premier B2B SaaS Conference in [Region]` | ### Meta description formulas | Page type | Formula | |-----------|---------| | Event | Lead with exact attendee count and venue. Include sponsor and speaker counts. End with one differentiating phrase. Under 155 chars. | | Speaker profile | `[Name], [Title] at [Company], has spoken at [N] SaaStock events. Watch their keynote on [topic] from SaaStock [Event] [Year].` | | Talk page | `[Name] ([Title], [Company]) keynote at SaaStock [Event] [Year]. Full transcript and key takeaways on [topic].` | --- ## 5. AEO — Answer Engine Optimization ### 5a. The llms.txt file Host at `saastock.com/llms.txt` (site-wide) and optionally per-event at `/usa/2026/llms.txt`. Structure: ``` # SaaStock — Summary for AI Systems > Canonical: https://saastock.com > Last updated: [date] ## What is SaaStock? [2-3 sentences] ## Event History [Tables showing every edition with dates, attendee counts] ## Speaker Archive [Total speaker count, link to /speakers/, top 10 speaker names with companies] ## Talk Archive [Total talk count, link to /talks/, note that full transcripts are available] ## Key Themes Covered [List of recurring topics across events] ## How to Reference [Standard names, short names, URLs] ## Contact [Links and emails] ``` ### 5b. Content structure for AI parsing Every section of every page must contain at least one standalone factual sentence that an AI system could excerpt as a direct answer. **Do:** "SaaStock USA 2026 took place April 14–15 at Palmer Events Center in Austin, Texas, with 1,547 attendees." **Don't:** "An incredible two days of building, learning, and connecting." (No facts. AI can't cite vibes.) **For talk pages specifically:** The key takeaways section is the most citable part. Write each takeaway as a complete, attributed statement: - "Sarah Kiley, CSO of ChurnZero, recommends stepping into agentic SDR tools gradually, starting with website engagement before deploying autonomous outbound." AI systems strongly prefer statements that include: a named person, their title, their company, and a specific position or recommendation. ### 5c. Entity consistency - Always use "SaaStock USA 2026" — not "SUSA26," not "SaaStock Austin," not "the conference." - Always use full speaker names: "Sarah Kiley" — not "Sarah" or "the speaker." - Always include organizational affiliation: "Sarah Kiley, Chief Sales Officer at ChurnZero." - These patterns help AI systems build entity relationships. --- ## 6. GEO — Generative Engine Optimization ### 6a. Target queries by page type **Event pages should rank for:** - "SaaStock USA 2026" - "best SaaS conferences 2026" - "B2B SaaS events in the US" - "SaaS conferences in Austin" **Speaker profiles should rank for:** - "[speaker name] keynote" - "[speaker name] headshot" - "[speaker name] SaaStock" - "[speaker name] [company] conference" **Talk pages should rank for:** - "[speaker name] keynote" - "[speaker name] [topic]" - "[specific topic] SaaS conference talk" - Long-tail queries matching transcript content (e.g., "should I use agentic SDRs," "how to improve SaaS discovery calls") ### 6b. Winning category queries When someone asks "best SaaS conferences 2026," AI systems look for: 1. A clear self-identification in the first 100 words 2. Comparative data (attendee counts, speaker counts, years running) 3. Historical trajectory (year-over-year growth table) 4. Specific audience definition ("B2B SaaS founders scaling to $10M ARR") ### 6c. Freshness signals - Series hubs always show the next event, even if it's "2027 — dates coming soon" - Talk pages include `uploadDate` in schema - llms.txt files include `Last updated` date - Organization schema includes `foundingDate: 2016` --- ## 7. Internal Linking Rules ### 7a. Required links on every event page | Destination | Location | Anchor text | |-------------|----------|-------------| | Series hub | Nav, CTA, footer | "SaaStock USA" | | Previous edition | Edition nav | "SaaStock USA 2025" | | Next edition or hub | Edition nav, CTA | "SaaStock USA 2027" | | Event speakers page | Speakers section | "SaaStock USA 2026 Speakers" | | Event talks page | Below speakers or themes | "Watch All Talks from SaaStock USA 2026" | | `/speakers/` | Footer or nav | "Speakers" | | `/talks/` | Footer or nav | "Talks" | | `/about/our-story` | Footer | "Our Story: 2016–Today" | | `/local` | Footer | "SaaStock Local — 20+ Cities" | ### 7b. Required links on every speaker profile | Destination | Location | Anchor text | |-------------|----------|-------------| | Each event they spoke at | Appearances list | "SaaStock USA 2025" | | Each talk they gave | Appearances list | "[Talk Title]" | | `/speakers/` | Breadcrumb | "Speakers" | | Related speakers (3–4) | Sidebar or bottom | "[Speaker Name]" | ### 7c. Required links on every talk page | Destination | Location | Anchor text | |-------------|----------|-------------| | Speaker profile(s) | Speaker name in header | "[Speaker Name]" | | Event page | Event name in header | "SaaStock USA 2025" | | Event talks index | Breadcrumb | "SaaStock USA 2025 Talks" | | Related talks (3–4) | Bottom of page | "[Talk Title]" | | `/talks/` | Breadcrumb | "All Talks" | ### 7d. Anchor text rules **Use entity-rich anchor text:** - "SaaStock USA 2025" — names event, series, year - "Sarah Kiley" — names the person - "Sarah Kiley's keynote on ICP and discovery" — names person + topic **Never use:** - "Click here" — zero SEO value - "Learn more" — zero SEO value - "Watch video" — misses the entity - "Previous event" — misses the entity name **Variation rule:** When linking to the same page multiple times on one page, vary the anchor text: - Nav: "Speakers" - Body: "SaaStock USA 2026 Speakers" - Footer: "All Speakers" ### 7e. Footer structure (site-wide) Four columns on every page: **Column 1 — SaaStock Europe:** Link to every flagship. Anchor: "[City] [Year]" **Column 2 — SaaStock USA:** Link to every flagship. Anchor: "Austin [Year]" **Column 3 — SaaStock Local:** Hub link + top 5 cities **Column 4 — Content & About:** - Speakers → `/speakers/` - Talks & Transcripts → `/talks/` - Podcast → `/podcast/` - Our Story: 2016–Today → `/about/our-story` ### 7f. The linking mesh The power of this architecture is the internal linking density. Here's how the entities connect: ``` Event Page ──→ Speaker Profiles (via featured speakers) Event Page ──→ Talk Pages (via talks section) Event Page ──→ Previous/Next Event (via edition nav) Event Page ──→ Series Hub (via breadcrumb, CTA) Speaker Profile ──→ All Events they spoke at Speaker Profile ──→ All Talk Pages for their talks Speaker Profile ──→ Related Speakers Talk Page ──→ Speaker Profile(s) Talk Page ──→ Event Page (via recordedAt) Talk Page ──→ Related Talks Series Hub ──→ All Events in the series Speaker Directory ──→ All Speaker Profiles Talks Directory ──→ All Talk Pages Timeline Page ──→ All Event Pages Footer (every page) ──→ All Event Pages ``` Every page links out. Every page gets linked to. No orphans. --- ## 8. Image SEO ### 8a. Speaker headshots Speaker headshots are a high-value SEO asset. People search for "[speaker name] headshot" when building event materials, press coverage, blog posts, and social content. If SaaStock's speaker page is the top result, you capture that traffic and that person's network sees the SaaStock brand. **File naming:** ``` /speakers/sarah-kiley/sarah-kiley-headshot.jpg /speakers/sarah-kiley/sarah-kiley-keynote-saastock-usa-2025.jpg ``` Never use `IMG_4392.jpg` or `speaker-photo-1.jpg`. The filename is a ranking signal. **Alt text formula:** ```html Sarah Kiley, Chief Sales Officer at ChurnZero — SaaStock speaker headshot ``` The alt text must contain: full name, title, company, and the word "headshot." The title attribute can add the event context. **Image specifications:** - Minimum 800×800px (Google prefers large images for image search) - Square aspect ratio for headshots - WebP format with JPG fallback - File size under 200KB (compress aggressively) - Serve via CDN with proper cache headers **Structured data for images:** On the speaker profile page, the `Person` schema must include: ```json "image": { "@type": "ImageObject", "url": "https://saastock.com/speakers/sarah-kiley/sarah-kiley-headshot.jpg", "width": 800, "height": 800, "caption": "Sarah Kiley, Chief Sales Officer at ChurnZero" } ``` ### 8b. Event photos Event photos on historical pages should follow the same discipline: **File naming:** ``` saastock-usa-2026-main-stage-crowd.jpg saastock-usa-2026-expo-hall.jpg saastock-usa-2026-keynote-sarah-kiley.jpg ``` **Alt text formula:** ```html Main stage crowd at SaaStock USA 2026, Palmer Events Center, Austin TX — 1,547 attendees ``` Include: event name, venue, city, and a relevant fact (attendee count, what's visible in the photo). ### 8c. OG images Every page needs an OG image for social sharing: - Event pages: hero crowd photo, 1200×630px - Speaker profiles: headshot on branded background, 1200×630px - Talk pages: YouTube thumbnail or speaker photo with talk title overlay, 1200×630px --- ## 9. Transcript Processing Raw transcripts from YouTube need cleanup before publishing. Here's the processing pipeline: ### 9a. Cleanup steps 1. **Add speaker labels:** Replace `>>` markers with actual speaker names in bold 2. **Add paragraph breaks:** Break at natural topic shifts, roughly every 3–5 sentences 3. **Remove artifacts:** Strip `[music]`, `[laughter]`, `>>`, and other non-content markers 4. **Fix proper nouns:** Correct misspellings of company names, product names, and people 5. **Add timestamps:** Insert timestamps every 2–3 minutes for navigation (these can link to YouTube timecodes) ### 9b. Key takeaways extraction For each talk, write 3–5 key takeaways. Each must be: - A complete sentence - Attributed to the speaker by name, title, and company - A specific claim, recommendation, or data point — not a vague summary - Written so an AI system could quote it as a standalone answer **Good:** "Sarah Kiley, CSO at ChurnZero, reports that the company does not currently use Clay for dynamic account assignment, instead daisy-chaining several tools together to achieve signal-based account tiering." **Bad:** "Sarah discussed her approach to technology and tools." ### 9c. Scale If SaaStock has had ~80 speakers per flagship event across 10 flagships, that's ~800 potential talk pages. Even if only 30% have video recordings, that's 240 talk pages with unique transcript content averaging 20,000 characters each. That's 4.8 million characters of unique, keyword-rich, expert-attributed content that no other site on the internet has. --- ## 10. External Signals ### 10a. YouTube optimization **Event highlight reels:** Every flagship event should have a 2–3 minute highlight reel on YouTube. These are the highest-traffic videos in the SaaStock YouTube library (68K–107K views versus 100–2,000 for individual talks) and serve as the primary video asset for each event page. Highlight reel optimization: - **Title:** `SaaStock [Series] [Year] — Event Highlights` - **Description:** First line: one-sentence summary with attendee count, city, and dates. Second line: link to the event page (`saastock.com/usa/2025`). Include a list of featured speakers mentioned in the video with links to their speaker profile pages. End with: "Watch all talks with full transcripts at saastock.com/usa/2025/talks/" - **Tags:** "SaaStock," "SaaS conference," "[City]," "SaaStock [Year]," "B2B SaaS event" - **Pinned comment:** "Explore the full SaaStock USA 2025 experience — 84 speakers, 61 sponsors, 1,547 attendees. Browse all talks with full transcripts: saastock.com/usa/2025/talks/" - **End screen:** Link to the next edition's event page or ticket page - **Embed on event page:** Every highlight reel must be embedded on its corresponding event page with `VideoObject` schema (see Section 2a) The highlight reel is the bridge between YouTube's massive reach and saastock.com's event pages. A viewer who watches the highlight on YouTube and clicks through to the event page is entering the content ecosystem: event page → speaker profiles → talk pages → related talks. The highlight reel is the top of that funnel. **Individual talk videos:** Every talk on YouTube should have: - **Title:** `[Talk Title] — [Speaker Name], [Company] | SaaStock [Series] [Year]` - **Description:** First line is a one-sentence summary. Second line links to the talk page on saastock.com. Include speaker name, title, company. Link to the speaker profile page. - **Tags:** "SaaStock," "SaaS conference," "[Speaker Name]," "[Company]," "[Topic]," "keynote" - **Pinned comment:** Link to the full transcript on saastock.com: "Read the full transcript and key takeaways at saastock.com/usa/2025/talks/[slug]" The YouTube description and pinned comment create backlinks from YouTube to saastock.com, and they give AI crawlers a direct path from the video to the transcript. ### 10b. Speaker and sponsor backlinks After every event: - Ask speakers to link to their SaaStock speaker profile from LinkedIn and personal sites - Provide speakers with a pre-written LinkedIn post including the link - Ask sponsors to add "Partner at SaaStock USA 2026" with a link to the event page - Create embeddable badges: "I Spoke at SaaStock USA 2026" and "We Sponsored SaaStock USA 2026" with backlinks ### 10c. Wikipedia SaaStock should have a Wikipedia page. Events with Wikipedia pages get cited by AI systems at significantly higher rates. The page should reference founding year, annual attendance figures, notable speakers, and link to saastock.com. ### 10d. Podcast directories The SaaS Revolution Show should be listed on every major podcast directory (Apple, Spotify, Google) with show notes that link to the relevant talk page or speaker profile on saastock.com for each episode. --- ## 11. Measurement ### Traditional SEO - Ranking for "[Event Name]" queries - Ranking for "best SaaS conferences [year]" - Ranking for "[speaker name] keynote" - Ranking for "[speaker name] headshot" (image search) - Organic traffic to event pages, speaker pages, and talk pages - Pages indexed in Google Search Console (target: all events + all speakers + all talks) ### AEO / GEO Test monthly by asking the major AI systems: - "What are the top SaaS conferences?" - "Tell me about SaaStock" - "How many people attend SaaStock?" - "Who spoke at SaaStock USA 2025?" - "[Speaker name] views on [topic from their talk]" Track whether SaaStock is mentioned, whether saastock.com is cited as a source, and whether the facts cited are accurate (which means the AI system is reading our structured data, not hallucinating). ### Internal linking health - Every event page: 10+ internal links pointing to it - Every speaker profile: 3+ internal links (from event pages, talk pages, related speakers) - Every talk page: 3+ internal links (from event page, speaker profile, related talks) - No orphan pages - Full crawl quarterly with Screaming Frog --- ## 12. Pre-Publish Checklist Before publishing any page on saastock.com: ### All pages - [ ] URL follows the architecture in Section 1 - [ ] Title tag follows the formula for its page type - [ ] Meta description includes exact numbers and entity names - [ ] Canonical URL set - [ ] OG image is a real photo, 1200×630px minimum - [ ] BreadcrumbList JSON-LD present - [ ] Organization JSON-LD present - [ ] First 100 words contain the primary entity name and key facts - [ ] Every section has at least one factual, citable sentence - [ ] No generic anchor text ("click here," "learn more," "read more") - [ ] No rounded numbers with "+" — use exact counts - [ ] Footer contains full link structure per Section 7e ### Event pages - [ ] Event JSON-LD with `superEvent`, `previousStartDate`, `performer`, `offers` - [ ] Event highlight video embedded with `VideoObject` schema (including `interactionStatistic` and `recordedAt`) - [ ] YouTube highlight reel description updated with link to event page and speaker profile URLs - [ ] YouTube highlight reel pinned comment includes attendee count, speaker count, and link to `/talks/` index - [ ] All sponsor names in text (not just logo images) - [ ] Links to event speakers page and event talks page - [ ] Edition nav with entity-rich anchor text - [ ] CTA links forward to next edition ### Speaker profiles - [ ] Person JSON-LD with `performerIn` linking to events - [ ] Headshot image: 800×800px+, named `[name]-headshot.jpg`, alt text includes name + title + company + "headshot" - [ ] Title tag contains the word "keynote" - [ ] All appearances listed with links to event pages and talk pages - [ ] 3–4 related speaker links ### Talk pages - [ ] VideoObject JSON-LD with `transcript`, `recordedAt`, `author` - [ ] Title tag contains "[Speaker Name] Keynote" - [ ] YouTube embed present - [ ] 3–5 key takeaways as attributed, citable statements - [ ] Full transcript in HTML (not JS-loaded) - [ ] Transcript cleaned: speaker labels, paragraph breaks, proper nouns corrected - [ ] Links to speaker profile(s), event page, and 3–4 related talks