Hướng dẫn về Static Site Generators

Cách Hugo, Jekyll, Eleventy, Hexo, Gatsby, và Astro pre-xây dựng mỗi trang vào static HTML — bypassing Google JS kết xuất queue so nội dung là indexable on đó đầu tiên fetch.

Xuất bản lần đầu: 26 thg 6, 2026 · Cập nhật lần cuối: 8 thg 8, 2026 · Advanced
Ngôn ngữ
1 tín hiệu bằng chứng trên trang này

MỘT static site generator (SSG) xây dựng mỗi trang vào finished HTML tại xây dựng time, so nội dung của bạn là đã trong đó thô HTML trước một crawler bao giờ asks cho điều này — không JavaScript kết xuất queue, không Wave 2 delay, immediately indexable. đó là đó cốt lõi SEO advantage over client-side các framework. Hugo, Jekyll, Eleventy, Hexo, Gatsby, và Astro all share điều này; they differ trong language, cách nhiều JS they ship để đó trình duyệt, và được xây dựng-trong image/sitemap tooling. Đó một real gotcha là xây dựng freshness: một static site là chỉ as hiện tại as của nó cuối cùng xây dựng, so nội dung thay đổi cần một rebuild và redeploy để reach các công cụ tìm kiếm. I được xây dựng này site (và patrickstox.com) với Astro cho chính xác những reasons.

Tóm tắt — SSG pre-renders mỗi route để static HTML tại xây dựng time, so nội dung tồn tại trong phản hồi trước khi đầu tiên crawler yêu cầu — không Web Kết xuất Service, không kết xuất queue, không “Wave 2” delay. đó single biggest indexability advantage Bạn có thể cho trang web. SSGs differ từ CSR các framework (mà xây dựng trang trong trình duyệt) và từ meta-các framework (mà có thể SSR theo yêu cầu). six trong điều này cluster — Hugo, Jekyll, Eleventy, Hexo, Gatsby, Astro — all ship static HTML; họ vary trong language, JS payload, và được xây dựng-trong sitemap/image tooling. thực thất bại chế độ không phải kết xuất, nó xây dựng freshness: static trang web là chỉ as hiện tại as của nó cuối cùng xây dựng, so changed nội dung đó không trigger rebuild silently phục vụ stale HTML để các công cụ tìm kiếm. I chạy điều này trang web on Astro cho chính xác điều này đặt của trade-offs.

Điều gì “static” thực ra có nghĩ là

static trang web generator chạy của bạn nội dung và templates qua xây dựng step và emits folder của finished HTML, CSS, và assets. crucial part Đối với SEO là Khi HTML là produced: tại xây dựng time, sau khi, cho mọi người — không theo yêu cầu, và không trong trình duyệt. Google JavaScript hướng dẫn mô tả crawling, kết xuất, và lập chỉ mục as distinct processing stages. SSG xóa client-side kết xuất từ cốt yếu path cho của nó generated nội dung vì HTML là đã hoàn tất. Evidence for this claim Google processes JavaScript through crawling, rendering, and indexing, while pre-rendered HTML is present before client execution. Scope: Google Search JavaScript processing; indexing is not guaranteed. Confidence: high · Verified: Google: JavaScript SEO basics

Đây là Vì sao static các trang là safest có thể architecture cho getting được lập chỉ mục. nội dung là trong đầu tiên byte của phản hồi. có không parity khoảng trống giữa thô và được kết xuất HTML, không dependency on renderer succeeding, không stateless-Chrome quirks để design khoảng.

SSG so với. client-side kết xuất so với. meta-các framework

Three architectures, three khác moments HTML xuất hiện vào existence:

  • Static trang web generation (SSG). HTML là được xây dựng sau khi, tại xây dựng time, trước khi bất kỳ yêu cầu. Phân phối as flat files (thường từ CDN). nội dung là trong thô HTML. Đây là Hugo, Jekyll, Eleventy, Hexo — và Gatsby và Astro trong của họ default static chế độ.
  • Client-side kết xuất (CSR). máy chủ gửi minimal shell; JavaScript xây dựng trang trong trình duyệt tại yêu cầu/runtime. nội dung phụ thuộc vào kết xuất succeeding. Đây là default-CSR React hoặc Vue SPA — riskiest setup Đối với SEO (see JavaScript SEO).
  • Meta-các framework (SSR / hybrid). Các framework như tiếp theo.js, Nuxt, và SvelteKit có thể render HTML theo yêu cầu on máy chủ (SSR), pre-render some routes (SSG), hoặc mix cả hai. nội dung là trong HTML, nhưng produced tại yêu cầu time, mà adds máy chủ cost và latency bạn không có với pure SSG.

line blurs tại edges — Gatsby và Astro là đôi khi được gọi là meta-các framework vì họ’re component-based và có thể làm nhiều hơn emit flat files. nhưng trong của họ bread-và-butter chế độ họ’re static generators, và đó Cách bạn nên treat them Đối với SEO. mental model đó matters: ** trước đó HTML tồn tại, ít hơn có thể go sai trước khi crawler sees nó.** SSG là earliest.

six generators, compared

All six produce indexable static HTML. Ở đây Cách họ differ on axes đó thực ra ảnh hưởng SEO decision:

GeneratorLanguage / được xây dựng trongJS shipped để trình duyệtSitemapImage optimizationBest cho
HugoGoNone theo mặc địnhĐược xây dựng-trong (sitemap.xml auto-generated)Được xây dựng-trong image processing (resize, WebP)Lớn nội dung các trang đó cần fast xây dựng
JekyllRubyNone theo mặc địnhPlugin (jekyll-sitemap)Plugin (jekyll-picture-tag etc.)GitHub các trang blogs; gốc SSG
Eleventy (11ty)JavaScript (Node)None theo mặc địnhTemplate/plugin (bạn generate nó)Plugin (@11ty/eleventy-img)JS devs ai muốn zero-JS output và flexibility
HexoJavaScript (Node)None theo mặc định (theme-phụ thuộc)Plugin (hexo-generator-sitemap)PluginBlogs, especially trong Node/Asia ecosystem
GatsbyJavaScript / ReactReact bundle (hydrates)Plugin (gatsby-plugin-sitemap)Được xây dựng-trong (gatsby-plugin-image, mạnh)React nhóm wanting dữ liệu-driven static trang web
AstroJS/TS, bất kỳ UI frameworkNone theo mặc định (islands chỉ)Chính thức (@astrojs/sitemap)Được xây dựng-trong (astro:assets)nội dung các trang wanting components không có JS tax

một vài điều worth pulling out của đó bảng:

  • JS payload là SEO-liền kề differentiator. Hugo, Jekyll, Eleventy, và Hexo ship essentially không JavaScript trừ khi bạn thêm nó. Gatsby rehydrates đầy đủ React bundle on client — vẫn indexable ( HTML là static), nhưng nó carries Core Web Vitals cost others không. Astro splits khác biệt với islands architecture: static HTML theo mặc định, JavaScript chỉ cho cụ thể interactive components (“islands”) đó cần nó.
  • Xây dựng speed scales differently. Hugo (Go) là famously fast và xử lý tens của thousands của các trang comfortably. Node-based generators là chậm hơn tại lớn quy mô, và Gatsby xây dựng times có trong lịch sử là của nó biggest complaint.
  • Sitemaps và image optimization là mostly solved mọi nơi — nhưng Hugo và Astro cho bạn phần lớn out của box, trong khi Jekyll/Eleventy/Hexo lean on (well-maintained) plugin.
  • Gatsby phát hành cadence có slowed noticeably. project không phải archived và vẫn ships patches, nhưng as của July 2026 của nó GitHub repo hiển thị chỉ handful của commits over trailing 90 days và một minor phát hành since February. đó worth weighing so với nhiều hơn actively-developed option nếu bạn’re picking generator hôm nay, bên cạnh hydration/CWV cost trên.

Vì sao I được xây dựng điều này on Astro

I được xây dựng điều này trang web — và patrickstox.com — với Astro, và reasoning là straight out của điều này trang. I wanted để tác giả trong Markdown/MDX với thực components, nhưng I đã làm không muốn để pay JavaScript tax on mỗi trang chỉ để nhận them. Astro default là zero client-side JS: các trang bạn’re reading ship as static HTML, và chỉ JavaScript đó loads là cho handful của interactive pieces (như lens tabs và quiz). đó nhận me indexability của kinh điển SSG good Cốt lõi Web Chỉ số quan trọng, không có giving lên component-based authoring experience. nếu I needed blistering xây dựng speed trên huge nội dung đặt với zero interactivity, Hugo sẽ là obvious call; cho React dữ liệu layer, Gatsby. cho điều này — nội dung-nặng trang web với một vài interactive flourishes — Astro là right trade.

một thực gotcha: xây dựng freshness

Mọi thứ trên là upside. Ở đây catch đó bites mọi người.

** static trang web là chỉ as hiện tại as của nó cuối cùng xây dựng.** HTML là snapshot frozen tại xây dựng time. Thay đổi price, đúng fact, publish post, cập nhật thẻ tiêu đề — none của nó reaches các công cụ tìm kiếm cho đến khi bạn rebuild và redeploy. có không trực tiếp máy chủ assembling trang từ database on mỗi yêu cầu, so có không có gì để pick lên của bạn thay đổi tự động. Evidence for this claim Static build output remains a snapshot until the project is rebuilt and redeployed. Scope: Astro static build workflow as a representative example. Confidence: high · Verified: Astro: Build and deploy

trên thực tế Điều này có nghĩ là:

  • Nội dung edits phải trigger một xây dựng. Nếu bạn tác giả trong một headless CMS hoặc Git, wire lên một webhook so một publish kicks off một deploy. MỘT manual-chỉ xây dựng xử lý là cách stale prices và “ghost” 404s sneak vào đó chỉ mục.
  • Frequently-thay đổi dữ liệu là awkward. Inventory, prices, trực tiếp được tính — nếu điều này thay đổi nhanh hơn bạn rebuild, đó static copy lags. đó là nơi incremental xây dựng, scheduled rebuilds, hoặc một hybrid (một meta-framework với SSR/ISR cho đó volatile routes) earn của họ giữ.
  • Nhạy cảm với thời gian các trang cần một cadence. Nếu “today’s deals” (bản dịch) «hôm nay deals» là baked tại xây dựng time, đó xây dựng có để chạy ít nhất daily, hoặc đó trang lies.

None của Đây là dealbreaker — nó discipline. toàn bộ reason SSGs là great Đối với SEO (HTML decided ahead của time) là giống nhau reason bạn có để là deliberate về re-deciding nó Khi nội dung thay đổi.

nơi để go tiếp theo: static trang web generators cluster

điều này hub là map. mỗi generator dưới là của nó own deep dive — language, JS payload, sitemap/image tooling, framework-cụ thể SEO gotchas, và Cách giữ xây dựng fresh:

  • Hugo SEO — Go-powered, zero-JS, blazing xây dựng; auto-generated sitemap, được xây dựng-trong image processing, và managing huge nội dung sets.
  • Jekyll SEO — gốc SSG và GitHub các trang default; jekyll-seo-tag, jekyll-sitemap, và plugin-on-GitHub-các trang limitation.
  • Eleventy (11ty) SEO — JavaScript-based, zero-JS output; generating sitemaps từ templates và eleventy-img cho responsive images.
  • Hexo SEO — Node blog generator; sitemap/feed plugin, theme JS, và permalink/canonical hygiene.
  • Gatsby SEO — React-based static generation; hydration/CWV trade-off, gatsby-plugin-image, gatsby-plugin-sitemap, và xây dựng-time dữ liệu sourcing.
  • Astro SEO — zero-JS theo mặc định, islands architecture, @astrojs/sitemap, astro:assets, View Transitions, và máy chủ Islands fallback behavior.

mỗi topic trên là nested dưới điều này hub và lives trong sidebar cũng.

cho rộng hơn context — Cách Google renders JavaScript, parity và interaction thất bại modes, và mà kết xuất chế độ để pick Khi bạn làm cần JS — see parent JavaScript SEO hub.

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.