Skip to content
cccskills
FreePublished on GitHub

rendering-strategies

When the user wants to choose or optimize rendering strategy for SEO. Also use when the user mentions "SSR," "SSG," "CSR," "ISR," "static rendering," "dynamic rendering," "server-side rendering," "client-side rendering," "JavaScript rendering," "pre-rendering," "prerender," "content in initial HTML," or "crawler visibility." For crawl issues, use site-crawlability.

The English summary is being prepared. Showing the original description.

Works withVercel

Run score Not tested

See how to install

Files included (1)

  • SKILL.md6.2 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

SEO Technical: Rendering Strategies

Guides rendering strategy selection and optimization for search engine and AI crawler visibility. Golden rule: Page data and metadata must be available on page load without JavaScript execution for optimal SEO.

When invoking: On first use, if helpful, open with 1–2 sentences on what this skill covers and why it matters, then provide the main output. On subsequent use or when the user asks to skip, go directly to the main output.

Scope (Technical SEO)

  • Static vs dynamic: SSG, SSR, ISR, CSR; when to use each
  • Crawler behavior: Googlebot renders JS (with delays); AI crawlers do not
  • Component-level: Content in initial HTML; tabs, carousels, nav
  • Dynamic rendering: Prerender for bots when full SSR/SSG is not feasible

Rendering Methods

MethodWhen HTML generatedSEOBest for
SSG (Static Site Generation)Build time✅ BestBlog, docs, marketing pages; content rarely changes
SSR (Server-Side Rendering)Request time✅ GoodNews, product pages; dynamic, personalized content
ISR (Incremental Static Regeneration)Build + revalidate✅ GoodLarge sites; static with periodic updates
CSR (Client-Side Rendering)Browser (after JS)❌ PoorDashboards, account pages; no SEO needed
Dynamic renderingOn-demand for bots✅ FallbackSPAs; prerender for crawlers, SPA for users

SSG (Static Site Generation)

HTML generated at build time; same HTML for every request. Best for SEO: crawlers receive full HTML immediately; optimal performance.

  • Use when: Blog, docs, marketing pages, content that doesn't change frequently
  • Framework: Next.js getStaticProps, Astro, Gatsby

SSR (Server-Side Rendering)

HTML generated on each request. Good for SEO: crawlers receive complete HTML; supports dynamic, personalized content.

  • Use when: News, product pages, user-specific content
  • Tradeoff: Higher server load; slower TTFB than SSG
  • Framework: Next.js getServerSideProps, Remix

ISR (Incremental Static Regeneration)

Static at build; pages can revalidate after a period. Good for SEO: combines static performance with freshness.

  • Use when: Large sites (millions of pages); content updates periodically
  • Framework: Next.js revalidate in getStaticProps

CSR (Client-Side Rendering)

Server sends minimal HTML shell; content renders in browser after JS loads. Not for SEO: crawlers may see empty content; indexing delays or failures.

  • Use when: Dashboards, account pages, internal tools—no search visibility needed
  • Avoid for: Public content, marketing pages, blog

Dynamic Rendering

Serve prerendered HTML to crawlers; serve SPA to users. Fallback when full SSR/SSG is not feasible (e.g. legacy SPA migration).

  • How: Detect crawler user-agent; route to prerender service (e.g. Prerender.io) or headless render
  • When: JavaScript-heavy sites; migration period; product/docs with CSR
  • Note: Google permits this; prerendered content should match user experience

Crawler Behavior

CrawlerJavaScriptContent in initial HTML
GooglebotRenders JS (Chrome); may have multi-day queueFull weight; SSR/SSG preferred
AI crawlers (GPTBot, ClaudeBot, PerplexityBot)Do not execute JSRequired—CSR content invisible
BingbotRenders JSSame as Googlebot

AI crawlers: ~28% of Googlebot's crawl volume. Critical content (articles, meta, nav) must be in initial HTML. See site-crawlability for AI crawler optimization; generative-engine-optimization for GEO.

Component-Level: Content in Initial HTML

Google does not simulate user clicks (tabs, carousels, "Load more"). Content loaded via AJAX or on interaction is not discoverable.

ComponentRequirementImplementation
Tabs / AccordionAll tab content in DOM at loadServer-render; use <details>/<summary> or CSS show/hide
CarouselAll slides in initial HTMLServer-render; CSS/JS for show/hide only
HeroHeadline, CTA, LCP image in HTMLNo JS-only rendering
NavigationAll nav links in first paintNo JS-injected menus for critical links

Recommendation: Server-render (SSR/SSG) all critical content; use JS only for interaction (show/hide, animation). Content loaded on click = not indexed.

Decision Guide

Content typeRenderingReason
Blog, docs, marketingSSG or ISRBest SEO; fast; static
Product, news, dynamicSSRFresh content; crawler-ready
Dashboard, accountCSRNo SEO; auth required
Legacy SPADynamic renderingBridge until SSR/SSG migration

Output Format

  • Current setup: SSG, SSR, CSR, or hybrid
  • Recommendation: By page type
  • Component checks: Tabs, carousel, nav—content in initial HTML?
  • References: Next.js Rendering, Vercel SSR vs SSG

Related Skills

  • site-crawlability: AI crawler optimization; SSR for critical content; URL management
  • generative-engine-optimization: GEO; AI crawlers don't execute JS
  • core-web-vitals: LCP; SSR/SSG for above-fold; client-side hurts LCP
  • mobile-friendly: Mobile-first indexing; content parity
  • tab-accordion: Content in DOM at load; server-render tabs
  • carousel: Content in initial HTML; server-render slides
  • hero-generator: Hero in initial HTML; avoid JS-only
  • navigation-menu-generator: Nav in first paint; no JS-only menus

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Deprecated compatibility entry for 404 Page construction. This page is now maintained in Pagina; install and use page-builder to build a new 404 Page.

The English summary is being prepared. Showing the original description.

kostja94/marketing-skills1.1KUpdated Oct 21, 2026

Deprecated compatibility entry for About Page construction. This page is now maintained in Pagina; install and use page-builder to build a new About Page.

The English summary is being prepared. Showing the original description.

kostja94/marketing-skills1.1KUpdated Oct 21, 2026

When the user wants to plan, implement, or optimize affiliate marketing strategy. Also use when the user mentions "affiliate marketing," "affiliate program strategy," "CPS model," "affiliate recruitment," "commission structure," "affiliate partners," "affiliate network," "affiliate tracking," "affiliate commission," or "partner marketing." For affiliate page, use affiliate-page-generator.

The English summary is being prepared. Showing the original description.

kostja94/marketing-skills1.1KUpdated Oct 21, 2026

Deprecated compatibility entry for Affiliate Program Page construction. This page is now maintained in Pagina; install and use page-builder to build a new Affiliate Program Page.

The English summary is being prepared. Showing the original description.

kostja94/marketing-skills1.1KUpdated Oct 21, 2026

Compatibility pointer for AI assistant referrals and generative search visibility; maintained in Open Analytics.

The English summary is being prepared. Showing the original description.

kostja94/marketing-skills1.1KUpdated Oct 21, 2026

Deprecated compatibility entry for Alternatives Page construction. This page is now maintained in Pagina; install and use page-builder to build a new Alternatives Page.

The English summary is being prepared. Showing the original description.

kostja94/marketing-skills1.1KUpdated Oct 21, 2026

See all skills by kostja94

Report a problem with this skill