🌍 SEO · subject
SEO Technical SEO Syllabus
The Technical SEO syllabus for SEO in full: 6 chapters and 24 topics, every one listed below, plus 51 Technical SEO flashcards with answers.
Technical SEO syllabus: all 6 chapters
Expand any chapter to see its topics and sub-topics.
-
Crawling and Indexing Control
4 topics- Robots.txt Configuration
- XML Sitemaps
- Crawl Budget Optimization
- Noindex, Nofollow, and Meta Robots Directives
-
Site Architecture and Crawlability
4 topics- Flat vs Deep Site Structures
- Pagination and Faceted Navigation
- Orphan Pages and Crawl Depth
- Log File Analysis
-
Page Speed and Core Web Vitals
4 topics- Core Web Vitals
- Page Speed Optimization Techniques
- Caching, CDN, and Compression
- PageSpeed Insights and Lighthouse
-
Mobile and Rendering
4 topics- Mobile-First Indexing
- Responsive Design and Mobile Usability
- JavaScript SEO and Rendering
- Dynamic Rendering and Server-Side Rendering
-
Structured Data and Schema
4 topics- Schema.org Vocabulary
- Structured Data Formats
- Common Schema Types (FAQ, Product, Article, Review)
- Rich Results Testing and Validation
-
HTTPS, Security, and International SEO
4 topics- HTTPS and SSL Certificates
- Redirects (301, 302) and Redirect Chains
- Canonicalization and Duplicate Content
- International SEO
SEO Technical SEO flashcards — 51 questions with answers
What is the primary purpose of a robots.txt file, and where must it be located?
It instructs crawlers which URLs they may or may not request (crawl management, not indexing control). It must be placed at the root of the host, e.g. https://example.com/robots.txt, and applies only to that protocol, host, and port.
In robots.txt, what is the difference between the Disallow and Allow directives, and how are conflicts resolved?
Disallow blocks a path from crawling; Allow permits it. When rules conflict, Google follows the most specific (longest matching path) rule; if equally specific, the least restrictive (Allow) wins.
Does a Disallow rule in robots.txt guarantee a page will not appear in search results?
No. Robots.txt only blocks crawling. A blocked URL can still be indexed (often without a description) if other pages link to it. To keep a page out of the index, use a noindex meta tag or header, which requires the page to be crawlable.
What wildcard characters does Google support in robots.txt path matching, and what do they mean?
$ matches the end of a URL, and * matches any sequence of characters. Example: Disallow: /*.pdf$ blocks all URLs ending in .pdf.
What is the recommended way to reference an XML sitemap so all crawlers can find it?
Add a Sitemap: directive with the full absolute URL in robots.txt (e.g. Sitemap: https://example.com/sitemap.xml), and/or submit it directly in Google Search Console.
What are the size and URL-count limits for a single XML sitemap file?
A single sitemap may contain at most 50,000 URLs and must not exceed 50 MB uncompressed. Larger sites split into multiple sitemaps referenced by a sitemap index file (also capped at 50,000 sitemaps).
List the four child elements of a <url> entry in an XML sitemap and which one is required.
<loc> (the URL, required), <lastmod> (last modification date), <changefreq> (expected change frequency), and <priority> (0.0-1.0 relative importance). Google largely ignores changefreq and priority and relies on lastmod.
Define crawl budget and name its two governing components as described by Google.
Crawl budget is the number of URLs a search engine will crawl on a site in a given period. It is governed by crawl capacity limit (how much crawling the site can handle without harming server performance) and crawl demand (how much Google wants to crawl based on popularity and staleness).
Name four common techniques to optimize crawl budget on a large site.
1) Remove or consolidate duplicate/low-value URLs; 2) block non-essential URLs (e.g., infinite faceted parameters) via robots.txt; 3) improve server speed so more URLs can be fetched; 4) keep sitemaps and internal links pointing to canonical, high-value pages and return proper 404/410 for removed pages.
For which type of site does Google say crawl budget is generally NOT a concern?
Sites with fewer than a few thousand URLs (small to medium sites) are usually crawled efficiently and do not need to worry about crawl budget. It mainly matters for large sites (100k+ URLs) or sites with many rapidly changing pages.
Contrast the effect of a noindex meta robots directive versus a robots.txt Disallow on whether a page is crawled.
noindex requires the page to be crawled so the crawler can see the tag, then it is dropped from the index. robots.txt Disallow prevents crawling entirely, so a noindex tag on a disallowed page is never seen and cannot take effect.
What does the meta robots directive 'nofollow' instruct a crawler to do, and how does it differ from the rel="nofollow" link attribute?
Page-level meta robots nofollow tells the crawler not to follow ANY links on that page. The rel="nofollow" attribute applies to a single specific link, signaling the crawler not to pass link equity or follow just that one link.
Write the HTML meta tag that keeps a page out of the index while still allowing its links to be followed.
<meta name="robots" content="noindex, follow">
What is the difference between the 'noindex' and 'none' values of the meta robots tag?
'noindex' blocks indexing but links may still be followed. 'none' is shorthand equivalent to 'noindex, nofollow' — it blocks both indexing and link following.
How can you apply robots directives to a non-HTML resource like a PDF where you cannot add a meta tag?
Use the X-Robots-Tag HTTP response header, e.g. X-Robots-Tag: noindex, which can carry any directive (noindex, nofollow, noarchive, etc.) at the server response level for any file type.
Compare a flat site structure with a deep site structure and state which is generally preferred for SEO.
A flat structure keeps most pages a few clicks from the homepage (shallow click depth); a deep structure buries pages many clicks down. Flat structures are generally preferred because important pages get crawled more often and receive more link equity, reducing crawl depth.
Define click depth (crawl depth) and give the commonly cited threshold beyond which pages risk poor indexing.
Click depth is the minimum number of clicks from the homepage to reach a page. Pages deeper than about 3-4 clicks tend to be crawled less frequently and are at greater risk of poor or no indexing.
What is faceted navigation, and why is it a technical SEO risk?
Faceted navigation lets users filter listings by attributes (color, size, price). It is a risk because combining filters generates a combinatorial explosion of near-duplicate URLs, wasting crawl budget and causing duplicate-content and index-bloat problems.
Name three methods to control the crawling/indexing of faceted-navigation URLs.
1) rel="canonical" pointing filtered URLs to the main category page; 2) noindex on low-value filter combinations; 3) robots.txt disallow of specific filter parameters, and/or using nofollow on filter links or serving them as non-crawlable (e.g., POST/JS) navigation.
What is rel="next"/rel="prev" pagination, and what is Google's current stance on it?
rel="next" and rel="prev" were link markup indicating a paginated sequence. Google announced in 2019 it no longer uses these signals; it now treats paginated pages as individual pages, so each should be indexable with unique content and self-referencing canonicals (not canonicalized to page 1).
Show the other 31 Technical SEO flashcards
What is an orphan page, and why is it problematic?
An orphan page is a page with no internal links pointing to it. It is problematic because crawlers discover pages mainly by following links, so orphan pages may never be crawled/indexed (unless found via sitemap or external link) and receive no internal link equity.
What is log file analysis in technical SEO, and what key insights does it provide?
It is the examination of raw server access logs to see exactly which URLs bots requested, when, how often, and with what status codes. It reveals real crawl behavior: crawl budget allocation, most/least crawled pages, crawl of error pages, and orphan pages that bots find but aren't linked.
When analyzing log files for SEO, how do you confirm a request truly came from Googlebot rather than a spoofed user agent?
Perform a reverse DNS lookup on the requesting IP (it should resolve to a googlebot.com or google.com hostname), then a forward DNS lookup on that hostname to confirm it maps back to the same IP. Alternatively, verify the IP against Google's published crawler IP ranges.
Name the three Core Web Vitals metrics (as of 2024) and what each measures.
Largest Contentful Paint (LCP) measures loading performance; Interaction to Next Paint (INP) measures responsiveness; Cumulative Layout Shift (CLS) measures visual stability. INP replaced First Input Delay (FID) as a Core Web Vital in March 2024.
State the 'good' threshold for Largest Contentful Paint (LCP).
LCP is considered good at $\leq 2.5$ seconds, needs improvement between $2.5$ and $4.0$ seconds, and poor at $> 4.0$ seconds (measured at the 75th percentile of page loads).
State the 'good' threshold for Interaction to Next Paint (INP).
INP is good at $\leq 200$ ms, needs improvement between $200$ ms and $500$ ms, and poor at $> 500$ ms (75th percentile).
State the 'good' threshold for Cumulative Layout Shift (CLS), and give its scoring formula.
CLS is good at $\leq 0.1$, needs improvement up to $0.25$, and poor at $> 0.25$. For each unexpected shift, $\text{layout shift score} = \text{impact fraction} \times \text{distance fraction}$; CLS is the largest burst of such scores.
At what percentile does Google evaluate Core Web Vitals for the 'good/needs improvement/poor' assessment, and why?
At the 75th percentile of page loads (across mobile and desktop separately). This ensures most users (75%) experience at least that level of performance, rather than judging by an easily skewed average.
List five common page speed optimization techniques.
1) Minify and compress CSS/JS/HTML; 2) optimize and lazy-load images (modern formats like WebP/AVIF); 3) leverage browser caching and a CDN; 4) eliminate render-blocking resources and defer non-critical JS; 5) reduce server response time (TTFB) and preload critical assets.
What does Time to First Byte (TTFB) measure, and what is a commonly cited 'good' target?
TTFB measures the time from the request until the first byte of the response is received, reflecting server responsiveness and network latency. A good target is generally $\leq 800$ ms.
Distinguish browser caching, CDN, and compression as performance techniques.
Browser caching stores static assets locally so repeat visits avoid re-downloading. A CDN serves assets from edge servers geographically close to the user, cutting latency. Compression (e.g., Gzip, Brotli) shrinks file transfer size, reducing bytes sent over the network.
Which HTTP header controls browser caching duration, and what does its max-age directive specify?
The Cache-Control header. Its max-age directive specifies, in seconds, how long a resource is considered fresh (e.g., Cache-Control: max-age=31536000 caches for one year).
Compare Gzip and Brotli compression.
Both are lossless text-compression algorithms for HTTP. Brotli (developed by Google) typically achieves higher compression ratios than Gzip, especially for text/HTML/CSS/JS, at comparable or slightly higher CPU cost, and is widely supported over HTTPS. Gzip is older and universally supported.
How do lab data and field data differ in PageSpeed Insights?
Lab data comes from Lighthouse running a simulated single load in a controlled environment (reproducible, good for debugging). Field data comes from the Chrome User Experience Report (CrUX) — real users' Core Web Vitals over the trailing 28 days — and is what determines the CWV assessment.
What are the categories Lighthouse audits, and what is the score range?
Lighthouse audits five categories: Performance, Accessibility, Best Practices, SEO, and Progressive Web App (PWA). Each is scored from 0 to 100. The Performance score is a weighted blend of metrics like FCP, LCP, TBT, CLS, and Speed Index.
What is mobile-first indexing?
Mobile-first indexing means Google predominantly uses the mobile version of a page's content for crawling, indexing, and ranking. If content, structured data, or metadata exists only on the desktop version, it may not be indexed.
For mobile-first indexing, what is the key requirement regarding content parity between mobile and desktop versions?
The mobile version must contain the same primary content, structured data, and metadata (titles, descriptions, images with alt text) as the desktop version. Hiding or reducing content on mobile can cause it to be ignored for ranking.
What is responsive web design, and which CSS feature is central to implementing it?
Responsive design is an approach where one URL and HTML adapts its layout fluidly to any screen size. It is implemented primarily with CSS media queries (e.g., @media (max-width: 600px)) plus flexible grids and images. Google recommends responsive design as the preferred mobile configuration.
What is the purpose of the viewport meta tag in mobile usability?
It tells the browser to size the page to the device's width and set the initial zoom, preventing desktop-width rendering on mobile. The standard tag is <meta name="viewport" content="width=device-width, initial-scale=1">.
Name three mobile usability issues Google flags that hurt mobile-friendliness.
1) Text too small to read; 2) clickable elements (tap targets) too close together; 3) content wider than the screen (horizontal scrolling). A missing viewport tag typically triggers these.
Why is JavaScript SEO challenging, and what two-phase process does Google use to handle JS-heavy pages?
Content injected by client-side JS isn't in the raw HTML, so it must be rendered to be seen. Google uses two waves: first it crawls and indexes the raw HTML, then queues the page for rendering (executing JS via a headless Chromium) in a second wave when resources allow, which can delay indexing of JS content.
Compare Client-Side Rendering (CSR) and Server-Side Rendering (SSR) for SEO.
In CSR the server sends minimal HTML plus JS that builds content in the browser, so crawlers must render it (slower, riskier for SEO). In SSR the server generates fully-formed HTML on each request, so crawlers get complete content immediately (better and faster for indexing).
What is dynamic rendering, and what is Google's current position on it?
Dynamic rendering serves a pre-rendered static HTML version to bots while serving the JS app to users. Google now considers it a workaround/legacy solution (not a long-term recommendation) and advises SSR, static rendering, or hydration instead.
Distinguish pre-rendering (static rendering / SSG) from server-side rendering.
Pre-rendering / Static Site Generation (SSG) produces HTML at build time, serving the same cached HTML to all requests (fast, best for content that changes infrequently). SSR generates HTML per request at runtime (better for personalized or frequently changing content) at higher server cost.
What is Schema.org, and who backs it?
Schema.org is a shared, collaborative vocabulary of types and properties for marking up structured data on the web. It is a joint initiative founded by Google, Bing, Yahoo, and Yandex to help search engines understand page content.
Name the three structured data formats search engines support, and which one Google recommends.
JSON-LD, Microdata, and RDFa. Google recommends JSON-LD because it is added as a separate <script type="application/ld+json"> block, keeping the markup decoupled from the visible HTML and easier to maintain.
What is the difference between Schema.org (the vocabulary) and JSON-LD (a format)?
Schema.org defines WHAT you can describe (types like Product, Article, Recipe and their properties). JSON-LD, Microdata, and RDFa define HOW you encode that vocabulary in the page. You use a format to express Schema.org types.
Give the minimal JSON-LD skeleton required to declare a structured-data type, naming its two mandatory keys.
It must include @context (usually "https://schema.org") and @type (e.g., "Product"). Example: <script type="application/ld+json">{"@context":"https://schema.org","@type":"Product","name":"Widget"}</script>
What is the SEO benefit of valid structured data, and does it directly boost rankings?
Structured data can make a page eligible for rich results (star ratings, FAQs, breadcrumbs, product info) that improve visibility and click-through rate. It is not a direct ranking factor by itself, but rich results and better CTR can indirectly help performance.
Which Google tool validates structured data eligibility for rich results, and what replaced the older Structured Data Testing Tool?
The Rich Results Test validates whether markup is eligible for Google rich results. It (along with the Schema.org validator) replaced the deprecated Structured Data Testing Tool. Search Console's Enhancements reports also monitor structured data at scale.
How does a crawler treat a page returning HTTP 200 with a noindex tag versus one returning HTTP 410, in terms of index removal?
A 200 page with noindex is crawled, kept accessible, but excluded from the index (and can be revived by removing the tag). A 410 (Gone) signals the resource is permanently removed, prompting faster de-indexing than a 404, and the URL is dropped from the index.
SEO Technical SEO FAQ
What is in the SEO Technical SEO syllabus?
SEO Technical SEO is split into 6 chapters: Crawling and Indexing Control, Site Architecture and Crawlability, Page Speed and Core Web Vitals, Mobile and Rendering, Structured Data and Schema and HTTPS, Security, and International SEO. Together they contain 24 topics.
How many chapters are in SEO Technical SEO?
6 chapters, containing 24 topics. The largest chapter is Crawling and Indexing Control, with 4 topics.
Are there flashcards for SEO Technical SEO?
Yes — a 51-card Technical SEO deck, printed in full in the flashcards section of this page and available in the Examius app with spaced repetition. The free plan covers one exam of your choice, including its flashcards; Examius Pro, a one-time purchase, unlocks every other exam and deck.