aogl.cn — 生成式 AI 工具與大模型動態(個人書籤)

← 返回首頁 · 本站原創

aogl.cn 建站手記:_multilang 拆語種 × AdSense 可索引頁策略

本人維護 · scripts/build-articles · seo-index-policy · js/adsense.js

· 本站原創

這是 aogl.cn 的第一人稱建站手記,不是轉載教程,也不是「如何過審」空話清單。本站是一套靜態多語言編輯站,同時歸檔原創 Demo,並鏈到本人開發的兄弟 App(EatToday、WordPet、世界之最)。審稿人和同行最常問的問題其實很具體:源碼如何變成各語種頁面、哪些 URL 可索引、廣告腳本到底在哪些頁發起請求?下文按倉庫裡真實存在的 scripts/js/adsense.js 回答,日期 2026-09-14。

aogl.cn 默認 Open Graph 品牌圖,用作本文題圖源
og-default.png — 站點級默認 OG 圖;封面 WebP 寫入 upload/articles/

心智模型:一份 _multilang,多份語種輸出

幾乎所有公開頁都先活在 _multilang/。源文件用 lang-* 類同時承載英、簡中、日、韓、法、俄、阿等片段。我不會為每個 Hub 手工維護七份完整正文。真正做拆分的是 scripts/build-seo-locale-pages.mjs:讀入 _multilang/*.html,再寫出:

  • 站點根目錄 — 簡體中文主表面(canonical 指向自身)。
  • /zh/ — 由簡體 lang-zh 經 OpenCC 轉成繁體。
  • /en//ja//ko//fr//ru//ar/ — 各語種單語文檔樹。

這就是整站骨架。如果你只改 /en/ 下的生成文件、忘了改 _multilang/,下次語種重建會覆蓋你的改動。共享頁頭頁腳的耐久編輯面永遠是 multilang 源;文章正文的耐久編輯面則是下面說的 fragment 文件。

文章:JSON 樞紐 + htmlFragments

scripts/build-articles.mjs 讀取 data/articles/*.json。每個 JSON 是一個小樞紐:slug、layout、日期、題圖路徑、七語標題/摘要,以及指向 data/articles/fragments/htmlFragments 映射。構建器寫出 _multilang/articles/<slug>.html,刷新首頁 INDEX_ORIGINALS 標記,並重建 _multilang/articles/index.html。厚英文與厚中文承擔 AdSense 審閱權重;短 ja/ko/fr/ru/ar 存根保證 hreflang 表面誠實,而不假裝每個語種都是長文。

題圖不用庫存圖。npm run generate-article-covers 調用 scripts/generate-article-covers.py,把 heroImageSource 裁成 1200×675 WebP,落到 upload/articles/<slug>.webp。本頁源圖是已提交的站點資源 og-default.png(因 Python 助手會跳過字面量 og-default.png,封面單獨生成)。

導航注入與首頁拼裝

主導航不會在五十個模板裡複製粘貼。scripts/inject-site-nav.mjsscripts/site-nav.mjs 取共享標記,注入 _multilang/index.htmlSITE_NAV_AUTO_START / SITE_NAV_AUTO_END 之間。同類注入還有 inject-categories.mjsinject-index-pills.mjsinject-tools-directory.mjsupdate-reading.mjs,把首頁欄位變成可重複的機械步驟。package.json 裡的 build-site 負責總編排:文章 → briefs → tool guides → hubs → nav → reading → contact → SEO 語種。我習慣按需跑子任務;中途改稿時避免盲目全量重建,以免半成品片段被覆蓋。

seo-index-policy:ARTICLE_ARCHIVE_NOINDEX

scripts/seo-index-policy.mjs 是 robots、sitemap 成員資格、「這是不是薄存檔?」的策略中樞。榜單表、圖表轉載、導購清單體文章進入 ARTICLE_ARCHIVE_NOINDEX_SLUGS。這些 URL 仍可給人當書籤、當 Hub 卡片,但帶 noindex,follow,並移出 AdSense 主表面。原創 Demo、製作手記、第一方 App 長文——EatToday、WordPet、世界之最、本篇建站筆記——保持可索引。

相關常量同樣重要:NOINDEX_PATH_PREFIXES 覆蓋 hub-links/briefs/tool-guides/ 這類聚合軌;NOINDEX_STATIC_PAGES 覆蓋 tech.htmllife.html 等垂直 Hub;SITEMAP_STATIC_PAGES 只白名單少量靜態頁加上可索引文章。有人問「首頁怎麼這麼安靜、Hub 為什麼不怎麼出廣告」,答案是刻意策略,不是發佈商標籤壞了。

AdSense 只在可索引主內容頁加載

js/adsense.js 會出現在很多模板上,但並不總是請求 adsbygoogle.js。加載器檢查 isContentPrimaryPage():about / changelog 合格;文章 URL 僅當頁面 meta robots 不含 noindex 時合格。本機、?noads=1localStorage aogl-disable-adswindow.AOGL_DISABLE_ADSENSE 也會跳過網絡請求。構建側寫 robots、客戶端讀 robots——這對組合讓自動廣告離開薄存檔,同時允許厚原創頁請求廣告。

首頁瘦外鏈

更早一輪 AdSense 整改去掉了密集書籤牆和 Google 搜索 SEO 藥丸。scripts/adsense-slim-outbound.mjs 記錄了一次性助手:把首頁 #pillars 收成簡短導語,指向原創 Demo 與 About;並從文章片段裡剝離 google.com/search 藥丸。現在文末藥丸應只鏈到真實 App URL 與 /articles/index.html(必要時首頁 originals)。這不是「少做 SEO」,而是主內容更清楚、外鏈干擾更少,方便審閱。

我實際在用的日常改稿閉環

  1. 撰寫或修訂 data/articles/<slug>.json 與厚 *-en.html / *-zh.html 片段。
  2. 若屬於 Hub 軌道,把 slug 前置進 data/tech-hub-articles.jsondata/life-hub-articles.json
  3. heroImageSource 有變時再生成封面。
  4. 準備發佈 HTML 時再跑 npm run build-articles(以及後續語種拆分)——寫散文階段不要邊寫邊全量構建。
  5. 在期待廣告出現之前,先核對存檔頁與主內容頁的 robots。

兄弟 App 繼續待在各自源站(eattoday.aogl.cnwordpet.aogl.cnmnm.aogl.cn)。編輯站用首屏 HTML 與 original/ 截圖歸檔去說明它們;交互產品保留自己的 cookie 與發佈節奏。這條邊界和任何 AdSense 開關一樣重要。

和「榜單存檔」文章如何共存

本站仍保留大量圖表與榜單頁,因為它們對人類書籤有用,也對 Hub 卡片有用。策略不是刪光,而是分級:存檔進 ARTICLE_ARCHIVE_NOINDEX_SLUGS,原創手記與 Demo 留在可索引池。寫新文時我先問三個問題——有沒有本人截圖或本人產品?正文是否厚到能獨立閱讀?外鏈是不是在講清產品而不是堆搜索藥丸?三個都過,才進 tech/life Hub 前置位;否則寧可當內部草稿,也不拿去碰 AdSense 主表面。

構建順序也值得單獨記一筆:先改 data/articles 與 Hub JSON,再考慮 build-articles,最後才是 build-seo-locale-pages。中間夾雜 inject-site-navupdate-reading 之類注入任務時,務必確認標記塊還在,避免手工 HTML 把自動區裁掉。本地預覽用 WAMP 打開根路徑或語種路徑均可,但判斷「廣告會不會加載」必須以 robots 與 js/adsense.js 的組合為準,不能只看頁面底部有沒有引用腳本文件。

封面與 OG 圖是另一條容易踩坑的線。generate-article-covers.py 要求 heroImageSource 指向可打開的原圖,並拒絕把 upload/ 當源;對字面量 og-default.png 還會跳過。因此本頁封面是手動從站點默認 OG 圖裁出 WebP,JSON 裡仍誠實寫明源路徑。以後若要讓腳本接管,應把源圖放到 original/ 下再改字段,而不是假裝 upload 裡的 WebP 可以回寫。

本文不保證什麼

這不是 AdSense 過審承諾,也不是 CPC 或流量承諾。策略文件會隨審閱信號調整。上文腳本名以本倉庫 2026-09-14 現狀為準;若你 fork 站點,請直接重讀源文件,不要迷信博客轉述。可複用的架構教訓是:把 multilang 寫作與語種輸出分開,把書籤存檔與可索引長文分開,只在值得被索引的 HTML 上加載廣告。把這條紀律寫進日常改稿清單,比再加十條外鏈更接近長期可維護的編輯站。

相關

全部原創 首頁原創