静态站 SEO 实战:让 Cloudflare Pages 站点更好被收录
Great content is worthless if search can't crawl it. Here's the full SEO stack this site actually uses.
Structured data
- Article + Review(含评分)→ 可出谷歌星级富摘要
- ItemList → 帮助展示列表
- Article(无评分)
- WebSite + Organization
Per-page meta
- 指定唯一规范地址,避免重复内容
- 决定社交分享卡片长什么样,配一张 1200×630 的分享图
- 多语言站点声明 zh/en,告知搜索引擎语言版本
Sitemap & robots
List every page in sitemap.xml, point robots.txt at it, submit via Search Console and request indexing. Keep it updated as content grows.
Extra for multilingual
We use single-URL with JS language switching. Separate /zh/ and /en/ URLs are cleaner for SEO but cost more to maintain. Pick by scale.
Pre-AdSense checklist
- 强制项,欧盟域名还需 GDPR 与 Cookie 同意
- 建立信任
- 过审的核心,工具评测单薄很难过
- 帮助抓取与权重流转
Choosing structured data
- Tool reviews:
Article+Review,务必带ratingValue,可出谷歌星级富摘要。 - Guides:
Article,不带评分。 - Listing pages:
ItemList,帮助搜索引擎理解列表结构。 - Homepage:
WebSite+Organization。
Bulk injection approach
With many pages, hand-editing heads is impractical. Write an idempotent script that walks all HTML, injects OG/Twitter/hreflang/JSON-LD, and uses a marker comment to avoid duplicates. Re-run after edits.
Social share image
Add a 1200×630 OG image so shared links render proper cards. Generating it programmatically with Pillow keeps the style consistent.
Two i18n approaches
- Single URL + JS:维护成本低,适合小站(本例采用)。
- Separate URLs:对 SEO 更友好,但工作量翻倍。
Either way, declare hreflang for all variants and ensure each language has enough content to avoid thin pages.
Real case: the SEO stack built once
At 24 articles the SEO stack was built once: OG / JSON-LD / hreflang sitewide, 14 reviews with Review ratings (eligible for star rich results), ItemList on listing pages, and a 30-URL sitemap submitted to Search Console. The whole stack runs off one idempotent script — re-run after adding content to sync everything.
- Efficiency key:脚本幂等是核心——重复运行不会堆叠标签,新页面改完重跑一次就全站同步。
- Next:持续补内容到 30+ 篇,再用 GSC「网址检查」主动请求收录,加速首收。