diff --git a/AGENTS.md b/AGENTS.md
index cfd91ea..74862be 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -16,6 +16,8 @@ Read these files in order before making changes:
- `docs/IMAGE_PIPELINE.md` for OSS, responsive images, CDN, and image processing.
- `docs/SEO.md` for search metadata, sitemap, robots, structured data,
verification files, and search-engine submissions.
+ - `docs/GEO_PLAN.md` for AI-search visibility, crawler policy, `llms.txt`,
+ and citation monitoring.
- `docs/DEPLOYMENT_PLAN.md` for Alibaba Cloud architecture decisions.
- `docs/DEVELOPMENT_LOG.md` for chronological implementation history.
diff --git a/CONTEXT.md b/CONTEXT.md
new file mode 100644
index 0000000..7b196cd
--- /dev/null
+++ b/CONTEXT.md
@@ -0,0 +1,42 @@
+# Mist Architect Website Context
+
+This context defines project-specific language for the Mist Architect website,
+especially around search visibility and client-facing content decisions.
+
+## Language
+
+**Search Result Snippet**:
+The short summary text that a search engine shows below a result title, which may come from meta descriptions, visible page copy, or search-engine rewriting.
+_Avoid_: subtitle, Bing subtitle, fixed description
+
+**Meta Description**:
+The page-level metadata description exposed in HTML to suggest a search summary.
+_Avoid_: guaranteed search result text
+
+**Visible Intro Copy**:
+The concise public-facing introductory copy near the top of a page.
+_Avoid_: hidden SEO text, keyword block
+
+## Relationships
+
+- A **Meta Description** may influence a **Search Result Snippet**, but does not guarantee it.
+- A **Search Result Snippet** may be rewritten from **Visible Intro Copy** when the search engine considers the page text more relevant.
+- **Visible Intro Copy** is client-facing website content and requires owner approval before material wording changes.
+- Contact availability may be mentioned in a **Search Result Snippet**, but direct phone numbers, email addresses, and street addresses should remain on the contact page rather than being targeted for snippet display.
+- For `/zh/about` and `/en/about`, the desired **Search Result Snippet** direction is business-clear first: explain what the studio does before expressing brand atmosphere.
+- Chinese and English About summaries should stay semantically aligned, with the English page carrying a natural translation of the approved Chinese direction.
+- About summary wording should retain the founders, **Cheng Bo** and **Li Bo**, after the studio location and service focus rather than leading with founder identity.
+
+## Example dialogue
+
+> **Dev:** "Should we change the Search Result Snippet directly?"
+> **Domain expert:** "We cannot set it directly. We can adjust the Meta Description and, where approved, the Visible Intro Copy that Bing may use."
+
+## Flagged ambiguities
+
+- "副标题内容" was used for the red-box text in Bing results; resolved: this means **Search Result Snippet**, not page title, site name, sitelinks, or a guaranteed metadata field.
+- `/zh/about` visible introductory wording may be adjusted conservatively to influence the **Search Result Snippet**, but not as hidden SEO text or broad brand repositioning.
+- Contact information in search summaries was clarified: target wording may mention that contact details are available, but should not try to expose direct phone, email, or street address in the **Search Result Snippet**.
+- `/zh/about` and `/en/about` target summary tone was resolved as business-clear rather than primarily poetic or brand-atmospheric.
+- English About summary wording should reflect the updated Chinese direction rather than diverging into a different positioning.
+- Founder information was retained in the target About summary, but placed after the business/service description.
diff --git a/README.md b/README.md
index 08e1890..c75b2d7 100644
--- a/README.md
+++ b/README.md
@@ -161,5 +161,6 @@ See `docs/RELEASE_WORKFLOW.md`, `docs/CICD.md`, and
- `AGENTS.md` is the entry file for coding agents.
- `DESIGN.md` defines the current visual and interaction direction.
+- `docs/GEO_PLAN.md` defines the AI-search / generative-engine visibility plan.
- `docs/IMAGE_PIPELINE.md` documents OSS image processing and CDN guard rails.
- `docs/DEVELOPMENT_LOG.md` records implementation and deployment history.
diff --git a/docs/AGENT_HANDOFF.md b/docs/AGENT_HANDOFF.md
index d3dff15..54c3c66 100644
--- a/docs/AGENT_HANDOFF.md
+++ b/docs/AGENT_HANDOFF.md
@@ -98,6 +98,7 @@ DESIGN.md Visual and interaction direction
docs/RELEASE_WORKFLOW.md Local -> Preview -> Production flow
docs/CICD.md GitHub Actions and deployment notes
docs/SEO.md Technical SEO implementation and search submission notes
+docs/GEO_PLAN.md AI-search visibility, crawler policy, and citation monitoring
docs/IMAGE_PIPELINE.md OSS image pipeline and CDN guard rails
docs/DEPLOYMENT_PLAN.md Alibaba Cloud architecture plan
docs/DEVELOPMENT_LOG.md Chronological implementation log
diff --git a/docs/DEVELOPMENT_LOG.md b/docs/DEVELOPMENT_LOG.md
index 7085500..2385311 100644
--- a/docs/DEVELOPMENT_LOG.md
+++ b/docs/DEVELOPMENT_LOG.md
@@ -4,6 +4,92 @@ This log is written for both human developers and future coding agents. Keep ent
short, dated, and implementation-oriented so the next contributor can understand what
changed, why it changed, how it was checked, and what remains open.
+## 2026-07-07 / GEO Foundation
+
+### Goals
+
+- Start the Generative Engine Optimization plan without changing the visible
+ site UI or inventing new project material.
+- Make public production pages easier for AI/search systems to identify,
+ summarize, and cite accurately.
+
+### Changes
+
+- Added `docs/GEO_PLAN.md` with crawler policy, `llms.txt` boundaries,
+ measurement queries, content priorities, and release checks.
+- Added root-served `public/llms.txt` as a concise canonical map for AI agents,
+ including key pages, core entities, citation boundaries, and crawler notes.
+- Expanded Organization JSON-LD with visible service scope, service catalog,
+ areas served, awards, and founder descriptions.
+- Expanded project JSON-LD with image arrays, project location, typology,
+ credit, visible fact properties, and section `hasPart` data for complete
+ project records.
+- Added project-index `CollectionPage` / `ItemList` JSON-LD and Journal
+ `CollectionPage` / `BlogPosting` JSON-LD for archive-level GEO discovery.
+- Made the Playwright local web server port configurable through
+ `PLAYWRIGHT_PORT` so e2e tests do not accidentally reuse another project on
+ port `3000`.
+- Allowed Next's generated `next-env.d.ts` route-type import to follow the
+ current `next typegen` output path.
+- Linked the new GEO plan from agent/readme/handoff documentation.
+- Added Playwright coverage for `llms.txt`, Organization GEO fields, and
+ project citation facts.
+
+### Verification
+
+- `npm run typecheck`: passed.
+- `npm run lint`: passed.
+- `npm run build`: passed.
+- `PLAYWRIGHT_PORT=3100 npm run test:e2e`: passed, 13 Chromium tests.
+- `git diff --check`: passed.
+- A default `npm run test:e2e` attempt initially reached another local project
+ already listening on port `3000`; the Playwright config now supports
+ `PLAYWRIGHT_PORT` for local collision-free runs.
+
+### Deployment
+
+- No preview deploy, production deploy, Bing/Webmaster action, or production
+ credential/account operation was performed.
+
+## 2026-07-07 / About Search Result Snippet Wording
+
+### Goals
+
+- Improve the likely Bing search result snippet for `/zh/about` after Bing
+ showed a snippet assembled from About navigation and visible intro text.
+- Keep the change conservative, owner-approved, and aligned across Chinese and
+ English About pages.
+
+### Changes
+
+- Added `CONTEXT.md` terms for Search Result Snippet, Meta Description, and
+ Visible Intro Copy so future SEO work does not treat Bing snippets as a
+ guaranteed metadata field.
+- Updated `/zh/about` metadata and visible intro copy with a business-clear
+ studio summary covering Shenzhen context, design scope, founders, project
+ archive, contact availability, and WeChat MIST-ARCH.
+- Updated `/en/about` metadata and visible intro copy with semantically aligned
+ English wording while keeping the metadata description within a Bing-friendly
+ length.
+- Preserved the boundary that direct phone numbers, email addresses, and street
+ addresses should not be targeted for search snippet display.
+- Added Playwright coverage for the About metadata and visible intro wording.
+- Updated `docs/SEO.md` with search result snippet guidance and expected About
+ description lengths.
+
+### Verification
+
+- `npm run typecheck`: passed.
+- `npm run lint`: passed.
+- `npm run build`: passed.
+- `npm run test:e2e`: passed, 9 Chromium tests.
+- `git diff --check`: passed.
+
+### Deployment
+
+- No preview deploy, production deploy, Bing/Webmaster action, or production
+ credential/account operation was performed.
+
## 2026-06-06 / Bing URL Inspection Follow-up
### Goals
diff --git a/docs/GEO_PLAN.md b/docs/GEO_PLAN.md
new file mode 100644
index 0000000..94d14ac
--- /dev/null
+++ b/docs/GEO_PLAN.md
@@ -0,0 +1,166 @@
+# Generative Engine Optimization Plan
+
+Last updated: 2026-07-07, Asia/Shanghai.
+
+This document defines the first GEO operating plan for `https://mist-arch.com`.
+It builds on `docs/SEO.md`; it does not replace classic technical SEO.
+
+## 1. Objective
+
+Make MIST Architects discoverable and accurately citable in AI-assisted search
+and answer engines while keeping the site calm, factual, bilingual, and aligned
+with the existing release workflow.
+
+Success means:
+
+- AI/search crawlers can access canonical production pages.
+- Public pages expose clear text, metadata, structured data, and internal links.
+- AI-generated answers can cite the studio, founders, services, contact
+ channels, and completed project facts without guessing.
+- Preview, localhost, credentials, and unpublished project material remain out
+ of public search surfaces.
+
+## 2. Current Baseline
+
+Implemented before this GEO plan:
+
+- Canonical production host: `https://mist-arch.com`.
+- Localized entries: `/zh` and `/en`, with `/` permanently redirecting to
+ `/zh`.
+- `robots.txt` allows public pages and disallows `/api/`.
+- `sitemap.xml` lists localized static pages and project detail routes.
+- Canonical URLs and `hreflang` alternates are generated from `src/lib/seo.ts`.
+- Organization, WebSite, AboutPage, ContactPage, ImageObject, project, and
+ breadcrumb JSON-LD are emitted.
+- Bing, Baidu, and IndexNow verification files are root-served from `public/`.
+- Preview remains Basic Auth protected and should stay non-indexable at the
+ infrastructure layer.
+
+First GEO-specific additions:
+
+- `public/llms.txt` gives AI agents a concise, public, canonical map of the
+ site and warns against citing preview or unpublished facts.
+- `src/lib/seo.ts` exposes richer Organization and project JSON-LD using
+ existing visible content: services, awards, areas served, project media,
+ location, credit, and fact properties.
+- Project index and Journal routes emit `CollectionPage` / `ItemList` /
+ `BlogPosting` JSON-LD so list surfaces are also machine-readable citation
+ entry points.
+
+## 3. Official Guidance Boundary
+
+Use official sources when changing crawler or AI-search behavior:
+
+- Google Search AI features: foundational SEO still applies; pages must be
+ indexable and eligible for snippets; no special AI-only markup is required.
+- OpenAI crawlers: `OAI-SearchBot` controls ChatGPT search visibility, while
+ `GPTBot` is a separate training-related control.
+- Bing Webmaster Tools AI Performance: use cited pages, grounding queries, and
+ page-level citation data as monitoring signals.
+- `llms.txt`: treat as an emerging, optional convention. It is useful as a
+ curated machine-readable site map, but it is not an access-control mechanism
+ and does not guarantee AI-search inclusion.
+
+## 4. Crawler Policy
+
+Current production intent:
+
+- Allow normal search indexing crawlers through the default `User-agent: *`
+ policy.
+- Keep `OAI-SearchBot` allowed so ChatGPT search features can discover public
+ production pages.
+- Do not add `GPTBot` or `Google-Extended` allow/disallow rules until the
+ project owner makes a specific content-use decision.
+- Keep preview blocked through Basic Auth and `X-Robots-Tag: noindex` at the
+ infrastructure layer.
+
+Decision needed from the project owner:
+
+- Whether public production content may be used for model training, or whether
+ training-related bots such as `GPTBot` and controls such as
+ `Google-Extended` should be disallowed while keeping search retrieval allowed.
+
+## 5. Content Strategy
+
+GEO content should stay visible, factual, and useful to human visitors.
+
+Priority pages:
+
+- `/zh/about` and `/en/about`: entity grounding for studio name, founders,
+ services, awards, publications, WeChat, and contact details.
+- `/zh/projects/field-academy` and `/en/projects/field-academy`: strongest
+ complete project record today.
+- `/zh/projects` and `/en/projects`: index-level project typology and location
+ discovery.
+
+Next content batch:
+
+1. Complete `dream-factory-experimental-theater` with verified site, concept,
+ material, program, drawing, credit, and media facts.
+2. Complete `wanzhi-natural-history-park` with verified exhibition, education,
+ circulation, and client/project facts.
+3. Complete `bambu-lab-first-store` with verified retail, technology showroom,
+ product experience, and event-space facts.
+4. Replace journal Unsplash placeholder images with OSS-hosted studio or
+ project imagery.
+5. Add real journal articles that answer likely discovery queries about public
+ cultural architecture, adaptive reuse, retail experience space, and studio
+ process.
+
+Do not auto-generate full project sections from short seed copy. A project
+should remain in the in-development fallback state until enough real material
+exists for a sectioned narrative.
+
+## 6. Measurement Plan
+
+Weekly manual checks:
+
+- Google Search Console: indexing, page experience, Search performance.
+- Bing Webmaster Tools: URL inspection, sitemap status, Site Scan, IndexNow,
+ and AI Performance when available.
+- Baidu Search Resource Platform: verification, indexing, and push state.
+- Production smoke checks for `/robots.txt`, `/sitemap.xml`, `/llms.txt`,
+ `/zh`, `/en`, `/zh/about`, `/en/about`, and key project pages.
+
+Representative GEO queries to track:
+
+- `岚建筑设计`
+- `MIST Architects`
+- `MIST-ARCH`
+- `深圳 建筑事务所 公共文化空间`
+- `Shenzhen architecture studio public cultural spaces`
+- `MIST Architects WeChat`
+- `岚建筑设计 公众号`
+- `WILD WORKSHOP Suzhou architect`
+- `苏州 钟家荡 原野学社 建筑师`
+
+Track:
+
+- Whether the answer cites `mist-arch.com`.
+- Which page is cited.
+- Whether the studio name, founders, services, location, and contact channels
+ are accurate.
+- Whether a non-production host or unpublished project claim appears.
+
+## 7. Release Checklist
+
+Before an SEO/GEO commit:
+
+```bash
+export NVM_DIR="$HOME/.nvm"
+. "$NVM_DIR/nvm.sh"
+npm run typecheck
+npm run lint
+npm run build
+npm run test:e2e
+git diff --check
+```
+
+After production promotion:
+
+- Smoke check `/robots.txt`, `/sitemap.xml`, and `/llms.txt`.
+- Submit changed production URLs through IndexNow.
+- Request inspection or indexing for changed high-value pages in Bing and
+ Google when appropriate.
+- Update `docs/DEVELOPMENT_LOG.md`; update release IDs only when preview or
+ production release IDs actually change.
diff --git a/docs/SEO.md b/docs/SEO.md
index 570e519..d108661 100644
--- a/docs/SEO.md
+++ b/docs/SEO.md
@@ -1,6 +1,6 @@
# SEO Implementation
-Last updated: 2026-06-06, Asia/Shanghai.
+Last updated: 2026-07-07, Asia/Shanghai.
This document records how technical SEO is implemented for
`https://mist-arch.com`, where to maintain it, and how to verify search-engine
@@ -90,9 +90,10 @@ src/app/robots.ts
src/app/sitemap.ts
```
-Root-served verification and API files:
+Root-served verification, GEO, and API files:
```text
+public/llms.txt
public/BingSiteAuth.xml
public/baidu_verify_codeva-rzwTLycS3q.html
public/f5775da6489b4079bb75b30bdd8fdbf9.txt
@@ -130,6 +131,32 @@ zh: 岚·建筑设计是由程博、李博创立的建筑事务所,专注建
en: MIST Architects is a Shenzhen architecture studio working across cultural spaces, interiors, adaptive reuse, and public architecture.
```
+### Search result snippets
+
+The text shown below a Bing result title is a search result snippet. The site
+can influence it through `meta description`, visible page copy, headings, and
+structured data, but Bing may rewrite the snippet from the rendered page when
+it considers visible text more relevant to the query.
+
+For `/zh/about` and `/en/about`, the About metadata and first visible intro
+copy should stay semantically aligned. The approved direction is
+business-clear first: identify the studio, Shenzhen context, design scope, and
+founders before more atmospheric brand language.
+
+Current About snippet targets:
+
+```text
+zh/about:
+岚·建筑设计是一家立足深圳的建筑事务所,关注建筑、室内、城市更新、公共文化与商业空间设计,由程博、李博共同创立。官网收录项目作品、团队介绍、媒体经历、联系方式与微信公众号 MIST-ARCH。
+
+en/about:
+MIST Architects is a Shenzhen studio for architecture, interiors, adaptive reuse, public cultural and commercial spaces, founded by Cheng Bo and Li Bo.
+```
+
+Do not target direct phone numbers, email addresses, or street addresses for
+snippet display. It is acceptable to mention that contact details and WeChat
+are available on the site.
+
## 5. Canonical and hreflang
Localized canonical URLs are generated with:
@@ -162,11 +189,17 @@ The site emits JSON-LD through `src/lib/seo.ts`.
Current structured data:
-- `Organization` and `ArchitecturalService` on every localized layout
+- `Organization` and `ArchitecturalService` on every localized layout,
+ including visible service scope, awards, areas served, and a service catalog
- `WebSite` on every localized layout
- `AboutPage` and `ContactPage` on `/zh/about` and `/en/about`
- WeChat QR code `ImageObject`
-- project `CreativeWork` on project detail pages
+- project `CreativeWork` on project detail pages, including project image
+ arrays, location, typology, credit, and visible fact properties
+- project index `CollectionPage` with an `ItemList` of project `CreativeWork`
+ entries on `/zh/projects` and `/en/projects`
+- journal `CollectionPage` / `Blog` with `BlogPosting` entries on
+ `/zh/journal` and `/en/journal`
- `BreadcrumbList` on project detail pages
WeChat fields currently exposed in Organization JSON-LD:
@@ -233,7 +266,40 @@ Host: https://mist-arch.com
The sitemap includes localized alternate links and is revalidated every hour.
-## 9. Verification Files
+## 9. GEO and AI Search Controls
+
+GEO work is tracked in:
+
+```text
+docs/GEO_PLAN.md
+```
+
+The root `llms.txt` file is served from:
+
+```text
+https://mist-arch.com/llms.txt
+```
+
+`llms.txt` is a concise, public, machine-readable site map for AI agents. It
+summarizes canonical URLs, key entities, high-value project pages, and citation
+boundaries. It is not an access-control mechanism and does not guarantee
+AI-search inclusion.
+
+Current crawler intent:
+
+- Keep normal public search crawling allowed through `User-agent: *`.
+- Keep `OAI-SearchBot` allowed by default so ChatGPT search features can
+ discover public production pages.
+- Do not add explicit `GPTBot` or `Google-Extended` rules until the project
+ owner decides whether public production content should be available for
+ model-training or product-specific grounding uses.
+- Keep preview blocked from search through Basic Auth and infrastructure-level
+ `X-Robots-Tag: noindex`.
+
+When changing crawler policy, check current official docs before editing
+`robots.txt`; crawler semantics are product-specific and can change.
+
+## 10. Verification Files
Bing Webmaster Tools:
@@ -259,7 +325,7 @@ public by design for IndexNow verification.
Do not commit private API tokens, Baidu push tokens, webmaster account
credentials, Basic Auth passwords, or SSH keys.
-## 10. Search Engine Submission
+## 11. Search Engine Submission
### Bing / IndexNow
@@ -327,7 +393,7 @@ https://mist-arch.com/zh/about
https://mist-arch.com/en/about
```
-## 11. Release Verification
+## 12. Release Verification
Run local checks before committing SEO code changes:
@@ -349,6 +415,7 @@ curl -fsS -o /dev/null -w '%{http_code}\n' https://mist-arch.com/zh
curl -fsS -o /dev/null -w '%{http_code}\n' https://mist-arch.com/en
curl -fsS -o /dev/null -w '%{http_code}\n' https://mist-arch.com/sitemap.xml
curl -fsS -o /dev/null -w '%{http_code}\n' https://mist-arch.com/robots.txt
+curl -fsS -o /dev/null -w '%{http_code}\n' https://mist-arch.com/llms.txt
```
Check descriptions and empty alt attributes:
@@ -371,7 +438,7 @@ for (const url of urls) {
NODE
```
-Expected current production values:
+Expected deployed values for the current source:
```text
/ -> /zh returns 308
@@ -379,16 +446,23 @@ Expected current production values:
/en returns 200
/sitemap.xml returns 200
/robots.txt returns 200
+/llms.txt returns 200 after this GEO foundation update is deployed
/en description length is 133
-/en/about description length is 127
+/zh/about description length is 96 after this About snippet update is deployed
+/en/about description length is 151 after this About snippet update is deployed
public pages should normally have empty alt count 0
```
-## 12. Current Search State Notes
+## 13. Current Search State Notes
-As of 2026-06-06:
+As of 2026-07-07:
- Bing has indexed `https://mist-arch.com/zh`.
+- An owner-provided Bing screenshot for the `岚建筑` query showed
+ `https://mist-arch.com/zh/about` with a snippet partly assembled from About
+ page navigation and visible intro copy. The About page now uses
+ business-clear metadata plus visible intro wording to influence future Bing
+ snippets after crawl refresh.
- `https://mist-arch.com/en/about` was known to Bing as
`Discovered but not crawled` in URL Inspection.
- `/en` SEO/GEO warnings for meta description length and one missing image alt
@@ -399,16 +473,21 @@ As of 2026-06-06:
`/sitemap.xml` after production release `20260605194748-da9960e`.
- IndexNow also accepted `/en/projects/field-academy` during the previous
SEO cleanup release.
+- A first GEO foundation update now adds `public/llms.txt`,
+ `docs/GEO_PLAN.md`, and richer Organization/project structured data using
+ existing visible site facts.
Search visibility can lag after a successful technical fix. Bing, Baidu, and
WeChat search may take days or longer to refresh snippets, indexing state, and
ranking.
-## 13. Maintenance Rules
+## 14. Maintenance Rules
- Keep SEO copy natural and brand-specific.
- Keep canonical URLs on `https://mist-arch.com`.
- Keep preview blocked from indexing.
+- Keep `public/llms.txt` concise, public, and canonical-only; do not include
+ secrets, preview URLs, local paths, or unpublished project claims.
- Add new public routes to `src/app/sitemap.ts` when they should be indexed.
- Add route-specific metadata for new high-value pages.
- Update JSON-LD when official contact, address, founder, WeChat, or QR code
diff --git a/next-env.d.ts b/next-env.d.ts
index 9edff1c..c4b7818 100644
--- a/next-env.d.ts
+++ b/next-env.d.ts
@@ -1,6 +1,6 @@
///
///
-import "./.next/types/routes.d.ts";
+import "./.next/dev/types/routes.d.ts";
// NOTE: This file should not be edited
// see https://nextjs.org/docs/app/api-reference/config/typescript for more information.
diff --git a/playwright.config.ts b/playwright.config.ts
index efd8c7b..dfcc691 100644
--- a/playwright.config.ts
+++ b/playwright.config.ts
@@ -1,6 +1,8 @@
import { defineConfig, devices } from "@playwright/test";
const isCi = Boolean(process.env.CI);
+const port = process.env.PLAYWRIGHT_PORT ?? "3000";
+const baseURL = `http://127.0.0.1:${port}`;
export default defineConfig({
testDir: "./tests/e2e",
@@ -8,12 +10,12 @@ export default defineConfig({
workers: 1,
reporter: [["list"]],
use: {
- baseURL: "http://127.0.0.1:3000",
+ baseURL,
trace: "on-first-retry"
},
webServer: {
- command: isCi ? "npm run start:standalone" : "npm run dev -- --hostname 127.0.0.1 --port 3000",
- url: "http://127.0.0.1:3000/zh",
+ command: isCi ? "npm run start:standalone" : `npm run dev -- --hostname 127.0.0.1 --port ${port}`,
+ url: `${baseURL}/zh`,
reuseExistingServer: !isCi,
timeout: 120_000
},
diff --git a/public/llms.txt b/public/llms.txt
new file mode 100644
index 0000000..b7244dd
--- /dev/null
+++ b/public/llms.txt
@@ -0,0 +1,48 @@
+# MIST Architects
+
+> MIST Architects / 岚·建筑设计 is a Shenzhen architecture studio founded by Cheng Bo and Li Bo. The studio works across architecture, interiors, adaptive reuse, public cultural spaces, commercial spaces, exhibitions, retail environments, and spatial research.
+
+Canonical site: https://mist-arch.com
+Primary languages: Chinese and English
+Canonical localized home pages: https://mist-arch.com/zh and https://mist-arch.com/en
+Canonical sitemap: https://mist-arch.com/sitemap.xml
+WeChat public account: MIST-ARCH (岚建筑设计)
+WeChat Channels: 岚建筑
+
+## Key Pages
+
+- [Chinese home](https://mist-arch.com/zh): Main Chinese portfolio entry.
+- [English home](https://mist-arch.com/en): Main English portfolio entry.
+- [Chinese about](https://mist-arch.com/zh/about): Studio profile, founders, services, awards, publications, contact details, WeChat public account, and QR code.
+- [English about](https://mist-arch.com/en/about): English studio profile, founders, services, awards, publications, contact details, WeChat public account, and QR code.
+- [Chinese project index](https://mist-arch.com/zh/projects): Chinese archive of public, cultural, renewal, retail, interior, and spatial practice.
+- [English project index](https://mist-arch.com/en/projects): English project archive.
+- [Chinese journal](https://mist-arch.com/zh/journal): Studio news, design process, material research, and media records.
+- [English journal](https://mist-arch.com/en/journal): English journal archive.
+- [Sitemap](https://mist-arch.com/sitemap.xml): Canonical machine-readable list of localized public URLs.
+
+## Featured Project Pages
+
+- [WILD WORKSHOP / 苏州钟家荡原野学社](https://mist-arch.com/en/projects/field-academy): Completed rural public architecture cluster in Wujiang, Suzhou, with a library, small auditorium, tea pavilion, and research studio.
+- [苏州钟家荡原野学社 / WILD WORKSHOP](https://mist-arch.com/zh/projects/field-academy): 完整中文项目档案。
+- [Dream Factory Experimental Theater](https://mist-arch.com/en/projects/dream-factory-experimental-theater): Youth experimental theater in Shenzhen. Detail material is still being organized on the website.
+- [Wanzhi Tiandi Natural History Park](https://mist-arch.com/en/projects/wanzhi-natural-history-park): Cultural and exhibition environment in Shenzhen. Detail material is still being organized on the website.
+- [Bambu Lab First Store](https://mist-arch.com/en/projects/bambu-lab-first-store): Retail and technology showroom in Shenzhen. Detail material is still being organized on the website.
+
+## Core Entities
+
+- Studio: MIST Architects / 岚·建筑设计 / 岚建筑设计
+- Founders: Cheng Bo and Li Bo
+- Location: Shenzhen, Guangdong, China
+- Contact email: info@mist-arch.com
+- Phone: +86 186 1303 3310
+- Office: Room 702, Building B, Jihong R&D Building, No. 1 Binlang Road, Fubao Community, Fubao Subdistrict, Futian District, Shenzhen
+
+## Crawler And Citation Notes
+
+- Treat https://mist-arch.com as the canonical production host.
+- Do not cite localhost, staging, preview, Basic Auth protected, or non-production hosts.
+- Public production pages may be crawled for search retrieval when allowed by https://mist-arch.com/robots.txt.
+- OAI-SearchBot access is intended to remain allowed so ChatGPT search features can discover public production pages.
+- Training or product-specific crawler policy decisions, such as GPTBot or Google-Extended, should be checked against the current robots.txt and the project GEO plan before interpretation.
+- Do not infer unpublished project facts, ICP filing numbers, client names, awards, or contact channels beyond what is visible on the canonical site.
diff --git a/src/app/[locale]/about/page.tsx b/src/app/[locale]/about/page.tsx
index a14fd5f..adf32f1 100644
--- a/src/app/[locale]/about/page.tsx
+++ b/src/app/[locale]/about/page.tsx
@@ -32,8 +32,8 @@ export async function generateMetadata({ params }: AboutPageProps): Promise
+
{locale === "zh" ? "日志" : "Journal"}