Chapter 19 — Self-Check Quiz

Twenty-four questions: multiple choice and short answer. Answers are in the collapsed block at the bottom — try each before you look.

Multiple choice

1. Since 2019, Googlebot renders JavaScript using: - A) a fixed, old browser engine frozen years ago - B) an "evergreen" rendering engine based on a current version of Chromium - C) no browser engine — it reads only raw HTML - D) a proprietary engine that ignores modern JavaScript

2. The safest place for content that must rank is: - A) in JavaScript that runs after the page loads - B) in the raw HTML that arrives before any JavaScript runs - C) in a robots.txt comment - D) behind a "Load more" button

3. In client-side rendering, the server initially sends: - A) a fully-formed HTML page with all content - B) a minimal HTML shell plus scripts, with content built later in the browser - C) a PDF - D) nothing at all

4. Which pair does Google actually recommend for content that must be indexed? - A) client-side rendering and hash routing - B) dynamic rendering and client-side rendering - C) server-side rendering and static site generation - D) prerendering-for-bots only

5. Dynamic rendering crosses into cloaking when: - A) it serves pre-rendered HTML to bots - B) the content served to bots differs in substance from what users see - C) it uses a headless browser - D) it is used on a WordPress site

6. The Web Rendering Service does not: - A) run JavaScript - B) load CSS - C) scroll, click, or wait indefinitely for interactions - D) fetch the page's HTML

7. A link Google can follow and pass authority through looks like: - A) <div onclick="go('/x')">X</div> - B) <button data-route="/x">X</button> - C) <a href="/x">X</a> - D) <span class="link">X</span>

8. URLs like example.com/#/products/123 are a problem because: - A) the # fragment isn't sent to the server, so Google treats them all as the same page - B) they load too fast - C) Google penalizes the # character - D) they cannot use HTTPS

9. The most authoritative free way to see what Google rendered for a URL is: - A) viewing the page in your own browser - B) the rendered HTML in Search Console's URL Inspection Tool - C) asking the developer - D) checking the sitemap

10. Hydration is: - A) the server rebuilding the page on every request - B) the framework attaching interactivity to already-rendered HTML without rebuilding it - C) blocking Googlebot - D) compressing images

11. Static site generation renders pages to HTML: - A) in the user's browser - B) at build time, then serves them as static files - C) only for logged-in users - D) never

12. Blocking your JavaScript folder in robots.txt on a client-rendered site most likely causes Google to index: - A) the fully rendered content - B) the near-empty HTML shell - C) a competitor's page - D) nothing changes

13. Which surface is a fine candidate for client-side rendering? - A) a public blog post that needs to rank - B) a location landing page - C) a logged-in dashboard behind authentication that Google won't index anyway - D) a service page targeting "furnace repair"

14. Content revealed only by a user scrolling to trigger infinite scroll is at risk because: - A) infinite scroll is banned by Google - B) Googlebot doesn't scroll, so it may never trigger the content to load - C) scrolling breaks HTTPS - D) it slows the sitemap

15. Native loading="lazy" on images is: - A) dangerous for SEO and should never be used - B) handled correctly by Google and good for performance - C) the same thing as hash routing - D) a form of cloaking

16. "Google renders JavaScript perfectly now, so JavaScript SEO is solved" is: - A) true and complete - B) a myth — rendering ability doesn't fix missing hrefs, interaction-gated content, or hash routing - C) Google's official position - D) true only for WordPress

Short answer

17. Explain, in two sentences, the three ways the render step can hurt you: delay, partial rendering, and failure.

18. Why is the framework you choose (React, Vue, Angular) far less important to SEO than the rendering mode you configure on top of it?

19. Give the four rungs of the "can Google see it?" ladder, cheapest to most authoritative.

20. State one SEO cost of client-side rendering that has nothing to do with Google's own indexing (i.e., a cost involving other machines that read the web).

21. A developer says a client-rendered page "is fine — I can see the content in my browser." Why is that not evidence, and what would count as evidence?

22. Name the two named meta-frameworks that add server-side rendering / static generation to React, and the one that pairs with Vue.

23. Rivertown runs on WordPress. In one sentence, why does that mean its core pages don't have a rendering problem — and in one more, name the kind of bolt-on that is the usual exception.

24. Why is rebuilding a working, server-rendered site (like WordPress) into a client-rendered single-page application usually a bad trade for SEO?

Answer key 1. **B** — evergreen Chromium-based renderer (2019). 2. **B** — content in the raw HTML has no rendering dependency. 3. **B** — a shell plus scripts; the browser builds the content. 4. **C** — SSR and SSG both put real content in the HTML for everyone. 5. **B** — divergent content for bots vs. users is cloaking; equivalent content is not. 6. **C** — it doesn't scroll, click, or wait for interactions. 7. **C** — a real anchor with an `href`. 8. **A** — the fragment isn't sent to the server; Google collapses them to one URL. 9. **B** — URL Inspection's rendered HTML is the ground truth. 10. **B** — attaching interactivity to server-rendered markup. 11. **B** — at build time, served as static files. 12. **B** — Google can't fetch the JS to render, so it indexes the shell. 13. **C** — a page that doesn't need to rank (behind login) is a fine CSR candidate. 14. **B** — Googlebot doesn't scroll to trigger it. 15. **B** — native lazy-loading is fine and good for performance; the danger is content gated behind *interaction*. 16. **B** — a flawless renderer still can't follow a missing link, click a button, or split one URL into many. 17. **Delay:** JS-only content is indexed only after the later render pass, whenever that comes. **Partial:** the render can complete with a slow or failing piece simply missing. **Failure:** a script error, blocked resource, or a page that never signals "done" can leave Google with the empty shell. 18. Because the same library can be client-rendered (risky) or server-rendered/statically generated (safe); "we use React" says nothing, while "our public pages are server-rendered with the content in the initial HTML" says almost everything. 19. (1) View Source vs. the Elements panel; (2) disable JavaScript and reload; (3) the `site:` phrase search; (4) URL Inspection's rendered HTML (the authoritative one). 20. Any of: social/link-preview scrapers read only raw HTML, so the page pastes as a blank card; many AI/LLM crawlers don't run JavaScript at all, so a CSR page is invisible to them; Bing renders JS less reliably than Google. 21. It proves only that *the developer's browser* rendered it — never in doubt. Evidence is Google's own view: the rendered HTML in URL Inspection, and/or the page returning for a `site:` phrase search. 22. **Next.js** (React) and **Gatsby** (React, static generation); **Nuxt** for Vue. 23. WordPress sends fully-formed HTML with the content already in it (server-rendered by default), so core pages have no rendering dependency; the usual exception is a JavaScript-injected third-party widget (e.g., a reviews or booking widget) whose content is not in the raw HTML. 24. You take on the entire JavaScript-rendering risk surface (delay, failure, fake links, hash routing, invisibility to non-Google crawlers) in exchange for benefits that rarely touch SEO — and any replatform is also a migration, with its own traffic risk (Chapter 21).