This is the final project of the Rankyl course. You will audit a real site, step by step, using what every module taught you, and finish with a prioritized findings table and a one-page summary. It is the same method professionals use (see Technical SEO Audits), scaled to a site you know.
Budget about 6 to 10 hours spread over a week. Some data, like a log sample or a prompt baseline, needs a few days to collect.
Pick your site#
Best: a site you own or work on, where you can verify Search Console and Bing Webmaster Tools. Fine: a friend's site or a non-profit, with the owner's permission. Fallback: a public site you do not control. You can run the outside checks (crawl politely, PageSpeed Insights, robots.txt, structured data, prompts) but not the Search Console steps, so mark those "not testable".
Create a working document with three parts you will fill as you go: a baseline (Step 1), a findings log (every step) and the deliverable (the end of this page).
How each step works#
Every step lists what to check, the tool, pass and fail criteria, and the guide that teaches it. The criteria are Rankyl's rubric for this project, based on Google's documentation where Google publishes a threshold. When a check fails, add a row to your findings log with evidence: a URL, a screenshot or a number.
Step 1: Setup and baseline#
| Check | Tool | Pass | Fail |
|---|---|---|---|
| Search Console verified | Search Console (Domain property if you can) | Verified, data flowing | Not verified, or only a sub-folder property |
| Bing Webmaster Tools verified | Bing Webmaster Tools (import from Search Console) | Verified | Not set up |
| Analytics with conversions | GA4 or your analytics tool | At least one key conversion tracked | Pageviews only |
| Baseline recorded | Search Console Performance, last 3 months | Clicks, impressions, top pages and top queries saved with a date | No baseline |
| Manual actions and security | Search Console > Security & Manual actions | "No issues detected" | Any active issue (Critical finding) |
Learn it: Your SEO Toolkit, Free SEO & Marketing Tools.
Step 2: Crawling and indexing#
| Check | Tool | Pass | Fail |
|---|---|---|---|
| Indexed vs intended | Search Console > Indexing > Pages, plus your own count | Indexed is within about 10% of the pages you want indexed | Large gap either way (missing pages or index bloat) |
| Exclusion reasons | Same report, "Why pages aren't indexed" | Every reason is expected (redirects, intended noindex, duplicates you chose) | Money pages under "Crawled - currently not indexed", "Excluded by noindex" or server errors |
| Key URLs | URL Inspection on your 10 most important pages | Indexed, Google-selected canonical = yours, rendered HTML shows the main content | Different canonical chosen, content missing after rendering |
| robots.txt | /robots.txt and the robots.txt report in Search Console | Fetched, no Disallow on pages that should rank | Important paths blocked |
| Sitemaps | Search Console > Sitemaps | Submitted, success, only canonical 200 URLs | Errors, or lists redirects and noindexed URLs |
Learn it: Crawling & Indexing, JavaScript SEO.
Step 3: Site architecture and duplicates#
| Check | Tool | Pass | Fail |
|---|---|---|---|
| Click depth | Crawler (Screaming Frog is free up to 500 URLs) | Key pages within 3 clicks of the homepage | Key pages at depth 4+ or orphaned |
| Status codes | Crawler | No internal links to 4xx; redirects are single hops | Broken internal links, chains, 5xx |
| Duplicate variants | Crawler, plus manual checks of http/https, www/non-www, trailing slash | One version returns 200, the rest 301 to it | Several variants return 200 |
| Canonicals | Crawler | Self-referencing on indexable pages; none point to redirects or 404s | Missing, conflicting or site-wide canonicals to the homepage |
Learn it: Site Architecture, Duplicate Content.
Step 4: Core Web Vitals and mobile#
| Check | Tool | Pass | Fail |
|---|---|---|---|
| Field data | Search Console > Core Web Vitals; PageSpeed Insights or CrUX Vis | LCP ≤ 2.5 s, INP ≤ 200 ms, CLS ≤ 0.1 at the 75th percentile ("Good") | Any URL group "Poor" or "Needs improvement" |
| Lab diagnosis | PageSpeed Insights (Lighthouse insights) on your top template | You can name the cause of each failing metric | Failing metric with no diagnosis |
| Mobile parity | URL Inspection rendered HTML, real phone | Same content, links and structured data on mobile | Content or links missing on mobile |
Small sites often have no field data. Then note "insufficient data" and use lab results, clearly labelled as lab.
Learn it: Core Web Vitals, Mobile-First Indexing.
Step 5: Structured data#
| Check | Tool | Pass | Fail |
|---|---|---|---|
| Validity | Rich Results Test and Schema Markup Validator on one URL per template | No errors; markup matches visible content | Errors, or markup describing content not on the page |
| Right types | Google's search gallery | Types match what the page is (Organization, Article, Product, BreadcrumbList and so on) | Wrong type, or Product markup on pages that sell nothing |
| No retired expectations | Your notes | No plan depends on FAQ rich results (gone since 2026-05-07) or HowTo (gone since 2023) | Roadmap promises rich results that no longer exist |
Remember: Google says no special markup is needed for AI Overviews or AI Mode. Structured data earns rich results and helps understanding, nothing more.
Learn it: Structured Data, Entity SEO.
Step 6: Keywords and intent#
| Check | Tool | Pass | Fail |
|---|---|---|---|
| Intent map | Search Console queries plus a keyword tool | 20 target queries, each mapped to one URL and an intent | Targets with no page, or two pages targeting one query |
| Intent match | Manual SERP review for each of the 20 | Your page type matches what ranks (guide, product, list, tool) | Mismatch, such as a product page for an informational query |
| Branded split | Search Console branded filter (or a regex fallback) | Branded and non-branded clicks recorded separately | Not separated |
Learn it: Search Intent, Keyword Research Process.
Step 7: On-page and content quality#
Review your 10 most important pages.
| Check | Tool | Pass | Fail |
|---|---|---|---|
| Titles and descriptions | Crawler, SERP preview tool | Unique, descriptive, fit without truncation, match intent | Missing, duplicated or truncated at scale |
| Headings and answer | Manual | One clear H1; the main answer appears early | Answer buried or missing |
| Freshness | Manual, Search Console trends | Facts and dates current; decaying pages identified | Outdated facts, falling pages ignored |
| Trust signals | Manual | Clear author or company, about page, sources for claims | Anonymous content on topics that need expertise |
| AI-assisted content | Manual | Any AI-drafted text was fact-checked, including titles and alt text | Unreviewed AI output |
Learn it: Titles & Meta, Content Optimization, Content Refresh & Decay, AI-Assisted Content Without Penalties, E-E-A-T.
Step 8: Internal links#
| Check | Tool | Pass | Fail |
|---|---|---|---|
| Links to money pages | Crawler (inlinks per URL) | Each key page has several contextual inlinks from related pages | Key pages linked only from navigation or footer |
| Anchor text | Crawler | Descriptive anchors | "Click here" or identical anchors everywhere |
| Crawlable links | Crawler with JS off vs on | Links are real <a href> elements present without JavaScript | Navigation only appears after JS or on click |
Learn it: Internal Linking.
Step 9: Off-page and brand#
| Check | Tool | Pass | Fail |
|---|---|---|---|
| Link profile | Search Console > Links; Ahrefs Webmaster Tools (free for verified sites) | Links come from relevant sites; top linked pages still return 200 | Linked pages that 404; patterns of paid or spammy links |
| Brand presence | Google your brand name | Your site, profiles and genuine reviews or coverage fill page one | Page one dominated by others or outdated info |
| Local (if relevant) | Google Business Profile | Complete, correct hours and categories, recent reviews answered | Unclaimed or inconsistent name, address and phone |
Learn it: Link Building, Digital PR & Brand Signals, Local SEO.
Step 10: AI crawler access#
| Check | Tool | Pass | Fail |
|---|---|---|---|
| robots.txt policy | AI crawler checker | Search bots (OAI-SearchBot, Claude-SearchBot, PerplexityBot) allowed; training bots (GPTBot, ClaudeBot) set by a deliberate decision | Search bots blocked by accident, or no decision recorded |
| CDN and WAF | Cloudflare or your CDN dashboard | Bot settings match your robots.txt intent | CDN blocks AI search bots your robots.txt allows (Cloudflare blocks AI crawlers by default on new domains since July 2025) |
| Google AI features setting | Search Console > Settings > Search generative AI | Set to the value you intend (default is Include) | Excluded by mistake |
| Logs (if available) | Server or CDN logs, 7 to 30 days | You can see which AI bots visit and what status they get | Allowed bots get 403s or never appear |
Learn it: AI Crawlers & Bot Access.
Step 11: AEO and GEO readiness#
| Check | Tool | Pass | Fail |
|---|---|---|---|
| Extractable answers | Manual review of your 10 key pages | Each answers its main question clearly near the top, with supporting detail below | Answers buried, vague or missing |
| Snippet controls | View source | No accidental nosnippet or very low max-snippet on pages you want quoted | Controls set that block AI use without a decision |
| AI feature impressions | Search Console > Generative AI performance report | Baseline recorded by page | Not checked |
| Prompt baseline | 20 prompts in ChatGPT, Gemini or AI Mode, Perplexity and Copilot | Dated record of whether you are mentioned or cited, and who is | No baseline |
| Bing AI citations | Bing Webmaster Tools > AI Performance | Baseline recorded | Not checked |
Being cited is an outcome, not a pass criterion. The step passes when access is open and a baseline exists to improve against. Skip llms.txt as a Google tactic: Google says Search does not use it.
Learn it: Answer Engine Optimization, SEO for AI Mode & AI Overviews, GEO Playbook, Measuring AI Visibility.
Step 12: Measurement#
| Check | Tool | Pass | Fail |
|---|---|---|---|
| Annotations | Search Console Performance chart (right-click > Add annotation) | Launches, migrations and known data breaks annotated, including mid-September 2025 (&num=100) if your data spans it | Unexplained jumps in the chart |
| AI referrals | GA4 traffic acquisition, AI Assistant channel | AI assistant sessions visible and separate from Referral | AI visits unidentified |
| KPI tiers | Your working doc | Business, performance and diagnostic KPIs defined | Only rankings or traffic tracked |
Learn it: Analytics & Forecasting, SEO Testing.
The deliverable#
Your capstone output has two parts.
1. Prioritized findings table#
Use the severity definitions from Technical SEO Audits: Critical (active harm now), High (meaningful loss), Medium (compounding hygiene), Low (polish). Rate effort as S (hours), M (days) or L (weeks or other teams). Sort by severity, then effort.
| ID | Step | Finding | Evidence | Severity | Effort | Fix | Owner | Guide |
|-----|------|-------------------------------------------|---------------------------------------|----------|--------|------------------------------------------|-------|-------------------------------|
| F01 | 2 | Product template ships noindex | 40/40 excluded by noindex (GSC) | Critical | S | Remove robots meta from template | Dev | /docs/technical/crawling-and-indexing |
| F02 | 10 | CDN blocks AI search bots | 0 OAI-SearchBot hits in 30 days | High | S | Allow search-tier bots in CDN rules | Ops | /docs/technical/ai-crawlers |
| F03 | 4 | Mobile LCP 3.4 s on article template | CrUX p75, PSI LCP breakdown | High | M | Preload hero image, cut render-blocking CSS | Dev | /docs/technical/core-web-vitals |
| F04 | 7 | 12 key pages have outdated 2024 facts | Manual review, list attached | Medium | M | Refresh content, update dates | Content | /docs/on-page/content-refresh |
| F05 | 3 | 18 internal links to 404s | Crawl export | Medium | S | Update links to final URLs | Content | /docs/technical/site-architecture |Priority falls out of the table:
- Do now: Critical at any effort, High with S effort
- Schedule: High with M or L effort, Medium with S effort
- Batch: remaining Medium and all Low
2. One-page summary#
Write it for someone who will not read the table:
- Where the site stands in three sentences, with the baseline numbers from Step 1.
- The top 3 to 5 findings, each with impact in plain language ("40 product pages cannot appear in Google").
- What you need: time, people or decisions (for example, the training-bot policy).
- How you will measure success: which numbers you will re-check at +30 and +90 days.
SEO Strategy & Stakeholder Reporting shows how to turn this into a roadmap and a report people act on.
Self-check before you finish#
- Every step has a pass, a fail with a finding, or "not testable" with a reason.
- Every Critical and High finding has evidence and a fix specific enough to become a ticket.
- You re-scheduled a check at +30 and +90 days.
Then take the final exam. Pass it with your capstone complete and you have earned the Rankyl certificate of completion.