kostja94/marketing-skills

rendering-strategies

When the user wants to choose or optimize rendering strategy for SEO.

ソースを見る

使い方

  1. インストールコマンドをコピーし、自分の環境へ導入する前にソースを確認します。
  2. 必要なツール、認証情報、対応環境を原文で確認します。
  3. 入力と成果物を指定し、出力を資料と照合します。
npx skills add https://github.com/kostja94/marketing-skills --skill rendering-strategies

開始前の確認

  • 導入にはモデル契約、API枠、ファイルへのアクセス許可は含まれません。
  • スター数や導入数は活動の指標であり、独立した品質・安全性試験ではありません。
リポジトリの原文

見出し、例、コード、表、リンク、参照画像を含む原文を表示しています。

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

タスクに関連する項目

同じリポジトリから

関連する Skills

すべての Skills
kostja94
コミュニティ

google-search-console

When the user wants to analyze Google Search Console data, use the GSC API, or interpret search performance. Also use when the user mentions "GSC," "Search Console," "indexing report," "Core Web Vitals," "Enhancements," "Insights report," "search performance," "search queries," "search performance report," "URL inspection," "impressions," "CTR," "average position," "index coverage," "GSC data analysis," "Search Console API," or "searchanalytics.query." When the user wants to rewrite title tags (

導入数
1
GitHub Stars
1054
更新日
10月6日
kostja94
コミュニティ

indie-hacker-strategy

When the user wants indie hacker or bootstrapping founder strategy—growth, channels, Build in Public, or solo founder tactics. Also use when the user mentions "indie hacker," "indie developer," "bootstrapping," "bootstrapped founder," "solo founder," "Build in Public," "scratch your own itch," "Micro-SaaS," "first 100 users," or "solo company." For cold start, use cold-start-strategy.

導入数
1
GitHub Stars
1054
更新日
10月6日
kostja94
コミュニティ

google-ads

When the user wants to set up, optimize, or manage Google Ads campaigns. Also use when the user mentions "Google Ads," "Google Search Ads," "PPC," "SEM," "PMF testing with ads," "test product-market fit," "Responsive Search Ads," "RSA," "Performance Max," "Quality Score," "keyword bidding," or "Google Display/YouTube ads." For paid mix, use paid-ads-strategy.

導入数
3
GitHub Stars
1055
更新日
10月6日
kostja94
コミュニティ

growth-funnel

When the user wants to plan growth using the AARRR framework, diagnose growth bottlenecks, or map actions across the customer lifecycle. Also use when the user mentions "growth funnel," "AARRR," "pirate metrics," "acquisition activation retention," "customer lifecycle metrics," or "growth framework." For retention tactics, use retention-strategy.

導入数
3
GitHub Stars
1055
更新日
10月6日