1. Compare source HTML against rendered HTML
- Check whether the initial HTML contains meaningful body text instead of only an empty app shell.
- Confirm the initial HTML includes a non-empty title and meta description before JavaScript runs.
- Compare the rendered H1, primary copy, product details, pricing, review snippets, and internal links against source HTML.
- Record every critical element that appears only after hydration, client routing, click, scroll, or delayed rendering.
2. Check crawlable links and route patterns
- Prefer real anchors with crawlable `href` values for navigation and discovery paths.
- Flag `onclick`, `javascript:`, button-only navigation, load-more controls, and fragment-only links.
- Review hash routes such as `#/products` and decide whether distinct crawlable URLs or pre-rendered route snapshots are needed.
- Make sure category, product, docs, locale, and paginated routes can be discovered without a user action.
3. Review lazy content and blocked resources
- Flag critical text, images, reviews, recommendations, tabs, or accordions that require click or scroll to load.
- Check `data-src`, IntersectionObserver, delayed imports, and component-level lazy-loading for above-the-fold content.
- Confirm `robots.txt`, CDN rules, WAF rules, and auth-like user-agent filters do not block JS, CSS, chunks, fonts, or required render resources.
- Capture remediation ownership: frontend, SEO, platform, CDN, content, or migration owner.
4. Owner handoff template
JavaScript SEO QA handoff
URL or route:
Template type:
Initial HTML issue:
Rendered-only content:
Crawlable link issue:
Hash/fragment route issue:
Lazy/user-action issue:
Blocked JS/CSS/resource issue:
Required fallback:
Owner:
Decision:
Retest date:
JavaScript Rendering QA Briefs turns pasted samples into this owner-ready handoff.
It is not a crawler, Search Console replacement, Googlebot emulator, or ranking guarantee.
5. Quick risk matrix