cms-best-practices
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseCMS Best Practices
CMS最佳实践
Provide expert guidance on Webflow CMS architecture, relationships, optimization, and troubleshooting.
提供Webflow CMS架构、关联关系、优化及故障排查的专家指导。
Important Note
重要说明
ALWAYS use Webflow MCP tools for all operations:
- Use Webflow MCP's to get best practices before starting
webflow_guide_tool - Use Webflow MCP's with action
data_sites_toolto identify available siteslist_sites - Use Webflow MCP's with action
data_sites_toolto retrieve site details and plan limitsget_site - Use Webflow MCP's with action
data_cms_toolto analyze existing collectionsget_collection_list - Use Webflow MCP's with action
data_cms_toolto examine collection schemasget_collection_details - Use Webflow MCP's with action
data_cms_toolto assess content volumelist_collection_items - Use Webflow MCP's with action
data_pages_toolto understand page structurelist_pages - Use Webflow MCP's for specific API questions
ask_webflow_ai - DO NOT use any other tools or methods for Webflow operations
- All tool calls must include the required parameter (15-25 words, third-person perspective)
context
所有操作务必使用Webflow MCP工具:
- 开始前使用Webflow MCP的获取最佳实践
webflow_guide_tool - 使用Webflow MCP的并执行
data_sites_tool操作,识别可用站点list_sites - 使用Webflow MCP的并执行
data_sites_tool操作,获取站点详情并规划限制get_site - 使用Webflow MCP的并执行
data_cms_tool操作,分析现有集合get_collection_list - 使用Webflow MCP的并执行
data_cms_tool操作,检查集合 schemaget_collection_details - 使用Webflow MCP的并执行
data_cms_tool操作,评估内容体量list_collection_items - 使用Webflow MCP的并执行
data_pages_tool操作,了解页面结构list_pages - 使用Webflow MCP的解答特定API问题
ask_webflow_ai - 请勿使用任何其他工具或方法进行Webflow操作
- 所有工具调用必须包含必填的参数(15-25个单词,第三人称视角)
context
Instructions
操作步骤
Phase 1: Discovery & Analysis
阶段1:发现与分析
- Identify the request: Determine if user is:
- Planning new CMS structure
- Optimizing existing collections
- Troubleshooting performance issues
- Setting up relationships
- Seeking architecture guidance
- Get site information: Use Webflow MCP's with actions
data_sites_toolandlist_sitesto understand plan limitsget_site - Analyze existing structure: Use Webflow MCP's with actions
data_cms_toolandget_collection_listto examine current setupget_collection_details - Assess content volume: Use Webflow MCP's with action
data_cms_toolto understand scalelist_collection_items - Review pages: Use Webflow MCP's with action
data_pages_toolto see how content is displayedlist_pages
- 明确需求:判断用户需求类型:
- 规划新CMS结构
- 优化现有集合
- 排查性能问题
- 设置关联关系
- 寻求架构指导
- 获取站点信息:使用Webflow MCP的执行
data_sites_tool和list_sites操作,了解方案限制get_site - 分析现有结构:使用Webflow MCP的执行
data_cms_tool和get_collection_list操作,检查当前配置get_collection_details - 评估内容体量:使用Webflow MCP的执行
data_cms_tool操作,了解规模list_collection_items - 审核页面:使用Webflow MCP的执行
data_pages_tool操作,查看内容展示方式list_pages
Phase 2: Requirements Gathering
阶段2:需求收集
- Understand use case: Ask clarifying questions:
- What content needs to be managed?
- Who will update the content?
- How will content be displayed?
- What relationships are needed?
- Expected content volume?
- Identify constraints: Consider plan limits, technical constraints, team skills
- Define success criteria: Performance goals, editorial workflow, scalability needs
- 理解使用场景:提出澄清问题:
- 需要管理哪些内容?
- 谁将更新内容?
- 内容将如何展示?
- 需要哪些关联关系?
- 预期内容体量是多少?
- 识别约束条件:考虑方案限制、技术约束、团队技能
- 定义成功标准:性能目标、编辑工作流、可扩展性需求
Phase 3: Architecture Planning
阶段3:架构规划
- Design collection structure: Plan collections, fields, and relationships
- Select field types: Choose appropriate field types for each content element
- Plan relationships: Design one-to-many and many-to-many connections
- Consider taxonomy: Determine categories, tags, and organizational structure
- Plan for scale: Design for growth (pagination, performance, limits)
- Document decisions: Explain tradeoffs and reasoning
- 设计集合结构:规划集合、字段和关联关系
- 选择字段类型:为每个内容元素选择合适的字段类型
- 规划关联关系:设计一对多和多对多连接
- 考虑分类体系:确定分类、标签和组织结构
- 规划可扩展性:为增长设计(分页、性能、限制)
- 记录决策:解释权衡和推理
Phase 4: Recommendations & Validation
阶段4:建议与验证
- Generate recommendations: Provide specific, actionable guidance
- Prioritize changes: Organize by impact (quick wins vs. long-term)
- Explain tradeoffs: Help users understand limitations and workarounds
- Validate against best practices: Check against Webflow limitations and patterns
- Provide alternatives: Offer multiple approaches when applicable
- Create implementation roadmap: Break down into phases
- 生成建议:提供具体、可执行的指导
- 优先排序变更:按影响程度组织(快速见效 vs 长期优化)
- 解释权衡:帮助用户理解限制和变通方案
- 对照最佳实践验证:检查是否符合Webflow限制和模式
- 提供替代方案:适用时提供多种方法
- 创建实施路线图:分解为多个阶段
Phase 5: Implementation Guidance
阶段5:实施指导
- Provide step-by-step instructions: Clear guidance for implementation
- Offer to assist: Suggest using other skills (cms-collection-setup, bulk-cms-update)
- Document structure: Recommend documentation for team reference
- Suggest testing approach: Guide on how to validate changes
- Plan for migration: If refactoring, provide migration strategy
- 提供分步说明:清晰的实施指导
- 主动提供协助:建议使用其他技能(cms-collection-setup、bulk-cms-update)
- 记录结构:建议为团队参考创建文档
- 建议测试方法:指导如何验证变更
- 规划迁移:如果重构,提供迁移策略
Collection Architecture
集合架构
When to Use CMS vs Static
何时使用CMS vs 静态页面
Use CMS when:
- Content updates frequently (weekly or more)
- Multiple similar items (blog posts, products, team members, projects)
- Non-technical users need to edit content
- Content needs filtering/sorting on the frontend
- Same content appears on multiple pages (author bios, product features)
- Content follows a consistent structure across items
- You need to dynamically generate pages
Use Static when:
- Content rarely changes (annual updates or less)
- Unique one-off sections (about page hero, homepage special features)
- Complex custom layouts per item that don't follow patterns
- No need for dynamic filtering or search
- Content is highly customized and doesn't share structure
- Performance is critical and content doesn't change
- You need complete design flexibility per section
Hybrid Approach:
- Static pages with CMS-driven sections (e.g., static homepage with CMS testimonials)
- CMS for recent content, static archives for old content
- Static landing pages, CMS for subpages
使用CMS的场景:
- 内容更新频繁(每周或更频繁)
- 存在多个相似条目(博客文章、产品、团队成员、项目)
- 非技术用户需要编辑内容
- 内容需要在前端进行筛选/排序
- 相同内容出现在多个页面(作者简介、产品特性)
- 条目间内容遵循一致结构
- 需要动态生成页面
使用静态页面的场景:
- 内容很少变更(每年更新或更少)
- 独特的一次性板块(关于页面 hero、首页特殊功能)
- 每个条目有复杂的自定义布局,不遵循模式
- 不需要动态筛选或搜索
- 内容高度定制,不共享结构
- 性能要求极高且内容不变
- 需要每个板块完全的设计灵活性
混合方案:
- 静态页面包含CMS驱动的板块(例如:静态首页搭配CMS testimonials)
- CMS用于近期内容,静态归档用于旧内容
- 静态落地页,CMS用于子页面
Field Type Selection
字段类型选择
| Content Type | Recommended Field | Notes | Character Limits |
|---|---|---|---|
| Short text | Plain Text | Titles, names, slugs | Max 256 chars |
| Long text (no formatting) | Plain Text (long) | Descriptions, excerpts | Unlimited |
| Formatted content | Rich Text | Blog content, bios, articles | Unlimited |
| Single image | Image | Photos, thumbnails, headers | 4MB max per image |
| Multiple images | Multi-image | Galleries, product photos | Up to 25 images |
| File downloads | File | PDFs, documents, downloads | 4MB max per file |
| Yes/No values | Switch | Featured flags, visibility toggles | Boolean |
| Single choice | Option | Status, type, category | Unlimited options |
| Date/time | Date/Time | Publish dates, events, deadlines | ISO 8601 format |
| Link to one item | Reference | Author → Post, Category → Post | One item |
| Link to multiple items | Multi-reference | Post → Tags, Post → Related Posts | Multiple items |
| External URL | Link | Social links, external resources | Max 2048 chars |
| Numeric values | Number | Prices, ratings, order, counts | Integer or decimal |
| Phone numbers | Phone | Contact numbers | E.164 format |
| Email addresses | Contact emails | Valid email format | |
| Color values | Color | Theme colors, accents, brand colors | Hex format |
| Video embeds | Video | YouTube, Vimeo embeds | Embed URL |
| 内容类型 | 推荐字段 | 说明 | 字符限制 |
|---|---|---|---|
| 短文本 | 纯文本 | 标题、名称、别名 | 最多256字符 |
| 长文本(无格式) | 纯文本(长) | 描述、摘要 | 无限制 |
| 格式化内容 | 富文本 | 博客内容、简介、文章 | 无限制 |
| 单张图片 | 图片 | 照片、缩略图、页眉 | 每张图片最大4MB |
| 多张图片 | 多图 | 图库、产品照片 | 最多25张图片 |
| 文件下载 | 文件 | PDF、文档、下载资源 | 每个文件最大4MB |
| 是/否值 | 开关 | 精选标记、可见性切换 | 布尔值 |
| 单选 | 选项 | 状态、类型、分类 | 无限制选项 |
| 日期/时间 | 日期/时间 | 发布日期、活动、截止日期 | ISO 8601格式 |
| 链接到单个条目 | 引用(Reference) | 文章 → 作者、分类 → 文章 | 单个条目 |
| 链接到多个条目 | 多引用(Multi-reference) | 文章 → 标签、文章 → 相关文章 | 多个条目 |
| 外部URL | 链接 | 社交链接、外部资源 | 最多2048字符 |
| 数值 | 数字 | 价格、评分、排序、计数 | 整数或小数 |
| 电话号码 | 电话 | 联系电话 | E.164格式 |
| 电子邮件地址 | 邮箱 | 联系邮箱 | 有效邮箱格式 |
| 颜色值 | 颜色 | 主题色、强调色、品牌色 | 十六进制格式 |
| 视频嵌入 | 视频 | YouTube、Vimeo嵌入 | 嵌入URL |
Field Type Decision Tree
字段类型决策树
Need to store:
├── Text?
│ ├── Short (≤256 chars)? → Plain Text
│ ├── Long + Formatting? → Rich Text
│ └── Long + No Formatting? → Plain Text (long)
├── Media?
│ ├── Single image? → Image
│ ├── Multiple images? → Multi-image
│ ├── Video? → Video
│ └── File download? → File
├── Choice/Selection?
│ ├── Yes/No? → Switch
│ ├── One option? → Option
│ └── Link to item? → Reference/Multi-reference
├── Structured data?
│ ├── Number? → Number
│ ├── Date/Time? → Date/Time
│ ├── Phone? → Phone
│ ├── Email? → Email
│ └── URL? → Link
└── Visual?
└── Color? → Color需要存储的内容类型:
├── 文本?
│ ├── 短文本(≤256字符)? → 纯文本
│ ├── 长文本 + 格式? → 富文本
│ └── 长文本 + 无格式? → 纯文本(长)
├── 媒体?
│ ├── 单张图片? → 图片
│ ├── 多张图片? → 多图
│ ├── 视频? → 视频
│ └── 文件下载? → 文件
├── 选择/选项?
│ ├── 是/否? → 开关
│ ├── 单个选项? → 选项
│ └── 链接到条目? → 引用/多引用
├── 结构化数据?
│ ├── 数字? → 数字
│ ├── 日期/时间? → 日期/时间
│ ├── 电话? → 电话
│ ├── 邮箱? → 邮箱
│ └── URL? → 链接
└── 视觉元素?
└── 颜色? → 颜色Relationship Patterns
关联关系模式
One-to-Many (Reference Field)
一对多(引用字段)
Example: Posts → Author
Authors Collection:
├── name (Text, required)
├── slug (Text, required)
├── bio (Rich Text)
├── photo (Image)
├── title (Text) - job title
├── email (Email)
└── social-links (Link)
Posts Collection:
├── title (Text, required)
├── slug (Text, required)
├── content (Rich Text)
└── author (Reference → Authors) ← Each post has ONE authorDisplay: On post page, access , ,
author.nameauthor.photoauthor.bioFiltering: Can filter posts by specific author
Advantages:
- ✅ Centralized author data (update once, reflects everywhere)
- ✅ Easy to maintain consistency
- ✅ Can create author profile pages showing all their posts
- ✅ Efficient (one reference per post)
Use cases:
- Blog posts → Author
- Products → Brand
- Events → Venue
- Projects → Client
- Testimonials → Customer
示例: 文章 → 作者
作者集合:
├── 名称(文本,必填)
├── 别名(文本,必填)
├── 简介(富文本)
├── 照片(图片)
├── 头衔(文本) - 职位
├── 邮箱(邮箱)
└── 社交链接(链接)
文章集合:
├── 标题(文本,必填)
├── 别名(文本,必填)
├── 内容(富文本)
└── 作者(引用 → 作者) ← 每篇文章对应一位作者展示: 在文章页面,可访问、、
author.nameauthor.photoauthor.bio筛选: 可按特定作者筛选文章
优势:
- ✅ 集中管理作者数据(更新一次,所有地方同步生效)
- ✅ 易于保持一致性
- ✅ 可创建作者个人资料页面,展示其所有文章
- ✅ 高效(每篇文章仅一个引用)
适用场景:
- 博客文章 → 作者
- 产品 → 品牌
- 活动 → 场地
- 项目 → 客户
- 客户评价 → 客户
Many-to-Many (Multi-Reference)
多对多(多引用)
Example: Posts ↔ Tags
Tags Collection:
├── name (Text, required)
├── slug (Text, required)
├── description (Plain Text)
└── color (Color) - optional visual grouping
Posts Collection:
├── title (Text, required)
├── slug (Text, required)
├── content (Rich Text)
└── tags (Multi-Reference → Tags) ← Each post has MANY tagsDisplay: On post page, loop through to show all tags
tagsFiltering: Can filter posts by specific tag
Advantages:
- ✅ Flexible content organization
- ✅ Cross-linking related content
- ✅ Better SEO (topic clustering)
- ✅ Enhanced user navigation
Limitations:
- ⚠️ Max 5 multi-reference fields per collection
- ⚠️ Can only filter by ONE multi-reference value at a time in collection lists
- ⚠️ Cannot sort by referenced field values
- ⚠️ Each reference = additional query (impacts performance)
Workarounds for multiple tag filtering:
- Create combined tags (e.g., "vegan-gluten-free")
- Use Finsweet CMS Filter for client-side filtering
- Create separate filtered collection lists for common combinations
- Use custom code with Webflow API
Use cases:
- Blog posts ↔ Tags
- Products ↔ Features
- Projects ↔ Technologies
- Recipes ↔ Ingredients
- Courses ↔ Topics
示例: 文章 ↔ 标签
标签集合:
├── 名称(文本,必填)
├── 别名(文本,必填)
├── 描述(纯文本)
└── 颜色(颜色) - 可选的视觉分组
文章集合:
├── 标题(文本,必填)
├── 别名(文本,必填)
├── 内容(富文本)
└── 标签(多引用 → 标签) ← 每篇文章对应多个标签展示: 在文章页面,遍历显示所有标签
tags筛选: 可按特定标签筛选文章
优势:
- ✅ 灵活的内容组织
- ✅ 相关内容交叉链接
- ✅ 更好的SEO(主题聚类)
- ✅ 增强用户导航
限制:
- ⚠️ 每个集合最多5个多引用字段
- ⚠️ 在集合列表中一次只能按一个多引用值筛选
- ⚠️ 无法按引用字段值排序
- ⚠️ 每个引用对应一次额外查询(影响性能)
多标签筛选的变通方案:
- 创建组合标签(例如:"vegan-gluten-free")
- 使用Finsweet CMS Filter实现客户端筛选
- 为常见组合创建单独的筛选集合列表
- 使用Webflow API编写自定义代码
适用场景:
- 博客文章 ↔ 标签
- 产品 ↔ 特性
- 项目 ↔ 技术栈
- 食谱 ↔ 食材
- 课程 ↔ 主题
Self-Reference (Nested Collections)
自引用(嵌套集合)
Example: Categories with subcategories
Categories Collection:
├── name (Text, required)
├── slug (Text, required)
├── description (Plain Text)
├── parent (Reference → Categories) ← Self-reference for hierarchy
└── level (Number) - 1, 2, 3 for display logicUse cases:
- Categories with subcategories
- Menu items with sub-menu items
- Organizational hierarchy
- Product taxonomy
Advantages:
- ✅ Flexible hierarchy
- ✅ Unlimited depth (theoretically)
- ✅ Easy to reorganize
Limitations:
- ⚠️ Complex to display nested levels in Webflow
- ⚠️ Max 2-3 levels recommended for practical implementation
- ⚠️ Requires custom logic for deep nesting
Alternative: Use Option field for simple 1-2 level categorization
示例: 包含子分类的分类
分类集合:
├── 名称(文本,必填)
├── 别名(文本,必填)
├── 描述(纯文本)
├── 父分类(引用 → 分类) ← 自引用实现层级
└── 层级(数字) - 1、2、3,用于展示逻辑适用场景:
- 包含子分类的分类
- 包含子菜单的菜单项
- 组织层级
- 产品分类体系
优势:
- ✅ 灵活的层级结构
- ✅ 理论上支持无限深度
- ✅ 易于重新组织
限制:
- ⚠️ 在Webflow中展示嵌套层级较为复杂
- ⚠️ 实际实施建议最多2-3层
- ⚠️ 深度嵌套需要自定义逻辑
替代方案: 对于简单的1-2级分类,使用选项字段
Bidirectional Relationships
双向关联
Example: Related Posts
Posts Collection:
├── title (Text, required)
├── slug (Text, required)
├── content (Rich Text)
└── related-posts (Multi-Reference → Posts) ← Self-reference to other postsDisplay: Show related posts at bottom of post page
Advantages:
- ✅ Keeps users engaged longer
- ✅ Better SEO (internal linking)
- ✅ Flexible content connections
Challenges:
- ⚠️ Not truly bidirectional (A → B doesn't automatically create B → A)
- ⚠️ Must manually maintain both directions if needed
- ⚠️ Can be time-consuming for content editors
Solutions:
- Use tags for automatic "related by tag" logic
- Manual curation for most important connections
- Hybrid: Manual + automated based on tags/category
示例: 相关文章
文章集合:
├── 标题(文本,必填)
├── 别名(文本,必填)
├── 内容(富文本)
└── 相关文章(多引用 → 文章) ↔ 自引用到其他文章展示: 在文章页面底部显示相关文章
优势:
- ✅ 延长用户停留时间
- ✅ 更好的SEO(内部链接)
- ✅ 灵活的内容关联
挑战:
- ⚠️ 并非真正的双向关联(A→B不会自动创建B→A)
- ⚠️ 若需要双向,必须手动维护
- ⚠️ 对内容编辑者而言耗时
解决方案:
- 使用标签实现“按标签关联”的自动逻辑
- 手动管理最重要的关联
- 混合方式:手动+基于标签/分类的自动关联
Examples
示例
Example 1: Planning New CMS Structure
示例1:规划新CMS结构
User prompt:
I'm building a recipe site. How should I structure the CMS?Step 1: Requirements Gathering
📐 CMS Planning: Recipe Site
Let me ask a few questions to design the best structure:
1. **Content Volume**: How many recipes do you plan to have?
- Small (≤50): Simple structure
- Medium (50-200): Moderate organization
- Large (200+): Advanced taxonomy needed
2. **Recipe Attributes**: What information will each recipe have?
- Basic: Name, ingredients, instructions, image
- Advanced: Prep time, cook time, difficulty, nutrition, dietary tags
3. **Organization Needs**: How will users find recipes?
- By meal type (breakfast, lunch, dinner)
- By cuisine (Italian, Mexican, Asian)
- By dietary restrictions (vegan, gluten-free, keto)
- By cooking method (baking, grilling, slow cooker)
- By ingredients (chicken, pasta, vegetables)
4. **Author Setup**: Single or multiple authors?
- Single: You manage all content
- Multiple: Team of recipe creators
5. **User Engagement**: What interactive features?
- Comments/reviews
- Ratings
- Save favorites
- Print recipe cards
Based on your answers, I'll design the optimal CMS architecture.Step 2: After User Responds
📐 Recommended CMS Architecture: Recipe Site
Based on your requirements (Medium volume, Multiple authors, Advanced filtering):
---用户提问:
我正在搭建一个食谱网站,应该如何设计CMS结构?步骤1:需求收集
📐 CMS规划:食谱网站
我需要问几个问题,以便设计最佳结构:
1. **内容体量**:你计划有多少个食谱?
- 小型(≤50个):简单结构
- 中型(50-200个):中等复杂度组织
- 大型(200+个):需要高级分类体系
2. **食谱属性**:每个食谱需要包含哪些信息?
- 基础:名称、食材、步骤、图片
- 高级:准备时间、烹饪时间、难度、营养信息、饮食标签
3. **组织需求**:用户将如何查找食谱?
- 按餐型(早餐、午餐、晚餐)
- 按菜系(意大利菜、墨西哥菜、亚洲菜)
- 按饮食限制(素食、无麸质、生酮)
- 按烹饪方式(烘焙、烧烤、慢炖)
- 按食材(鸡肉、意大利面、蔬菜)
4. **作者设置**:单个作者还是多个作者?
- 单个:你管理所有内容
- 多个:团队协作创建食谱
5. **用户互动**:需要哪些交互功能?
- 评论/评价
- 评分
- 收藏
- 打印食谱卡片
根据你的回答,我将设计最优的CMS架构。步骤2:用户回复后
📐 推荐CMS架构:食谱网站
基于你的需求(中型体量、多作者、高级筛选):
---Collections Needed: 4
需要的集合:6个
1. Recipes (Main Content)
1. 食谱(主内容)
├── name (Text, required) - "Homemade Pasta Carbonara"
├── slug (Text, required) - "homemade-pasta-carbonara"
├── description (Plain Text, 160 chars) - Brief summary for SEO
├── featured-image (Image) - Hero image for detail page
├── thumbnail-image (Image) - Smaller image for grid cards
├── prep-time (Number, required) - Minutes of prep
├── cook-time (Number, required) - Minutes of cooking
├── total-time (Number) - Auto-calculated or manual
├── servings (Number, required) - Number of servings
├── difficulty (Option: Easy, Medium, Hard)
├── ingredients (Rich Text, required) - Ingredient list with quantities
├── instructions (Rich Text, required) - Step-by-step directions
├── notes (Rich Text) - Cook's notes, tips, substitutions
├── nutrition-info (Plain Text) - Calories, protein, etc.
├── author (Reference → Authors, required)
├── category (Reference → Categories, required) - Primary meal type
├── cuisine (Reference → Cuisines) - Italian, Mexican, etc.
├── dietary-tags (Multi-Reference → Dietary Tags) - Vegan, GF, etc.
├── cooking-methods (Multi-Reference → Methods) - Baking, Grilling, etc.
├── featured (Switch) - Highlight on homepage
├── published-date (Date, required)
└── view-count (Number) - Track popularity
Total fields: 22 fields
Plan required: CMS plan minimum (20 collections, 2000 items)
├── 名称(文本,必填) - "自制意式碳烤面"
├── 别名(文本,必填) - "homemade-pasta-carbonara"
├── 描述(纯文本,160字符) - SEO用简短摘要
├── 特色图片(图片) - 详情页Hero图
├── 缩略图(图片) - 网格卡片用小图
├── 准备时间(数字,必填) - 分钟
├── 烹饪时间(数字,必填) - 分钟
├── 总耗时(数字) - 自动计算或手动输入
├── 份数(数字,必填) - servings数量
├── 难度(选项:简单、中等、困难)
├── 食材(富文本,必填) - 带用量的食材列表
├── 步骤(富文本,必填) - 分步说明
├── 备注(富文本) - 烹饪提示、技巧、替代方案
├── 营养信息(纯文本) - 热量、蛋白质等
├── 作者(引用 → 作者,必填)
├── 分类(引用 → 分类,必填) - 主要餐型
├── 菜系(引用 → 菜系) - 意大利菜、墨西哥菜等
├── 饮食标签(多引用 → 饮食标签) - 素食、无麸质等
├── 烹饪方式(多引用 → 烹饪方式) - 烘焙、烧烤等
├── 精选(开关) - 首页高亮展示
├── 发布日期(日期,必填)
└── 浏览量(数字) - 跟踪热度
总字段数: 22个字段
所需方案: 至少CMS方案(20个集合,2000个条目)
2. Authors
2. 作者
├── name (Text, required)
├── slug (Text, required)
├── title (Text) - "Head Chef", "Recipe Developer"
├── bio (Rich Text)
├── photo (Image)
├── specialty (Plain Text) - "Italian Cuisine", "Baking"
├── social-instagram (Link)
├── social-website (Link)
└── email (Email)
Purpose: Reusable author information across all recipes
├── 名称(文本,必填)
├── 别名(文本,必填)
├── 头衔(文本) - "主厨"、"食谱开发者"
├── 简介(富文本)
├── 照片(图片)
├── 专长(纯文本) - "意大利菜"、"烘焙"
├── Instagram社交链接(链接)
├── 个人网站链接(链接)
└── 邮箱(邮箱)
用途: 所有食谱复用作者信息
3. Categories
3. 分类
├── name (Text, required) - "Breakfast", "Lunch", "Dinner", "Desserts"
├── slug (Text, required)
├── description (Plain Text)
├── image (Image) - Category hero image
├── color (Color) - Brand color for UI
└── sort-order (Number) - Control display order
Purpose: Primary meal type classification
Suggested Categories (8):
- Breakfast & Brunch
- Appetizers & Snacks
- Lunch
- Dinner & Main Courses
- Side Dishes
- Salads
- Desserts & Sweets
- Drinks & Beverages
├── 名称(文本,必填) - "早餐"、"午餐"、"晚餐"、"甜点"
├── 别名(文本,必填)
├── 描述(纯文本)
├── 图片(图片) - 分类Hero图
├── 颜色(颜色) - UI品牌色
└── 排序顺序(数字) - 控制展示顺序
用途: 主要餐型分类
推荐分类(8个):
- 早餐与早午餐
- 开胃菜与小吃
- 午餐
- 晚餐与主菜
- 配菜
- 沙拉
- 甜点与甜食
- 饮品
4. Cuisines
4. 菜系
├── name (Text, required) - "Italian", "Mexican", "Asian"
├── slug (Text, required)
├── description (Plain Text)
└── flag-icon (Image) - Optional visual
Purpose: Filter by cuisine type
Suggested Cuisines (12):
- American, Italian, Mexican, Asian, Mediterranean, French, Indian, Thai, Chinese, Japanese, Greek, Middle Eastern
├── 名称(文本,必填) - "意大利菜"、"墨西哥菜"、"亚洲菜"
├── 别名(文本,必填)
├── 描述(纯文本)
└── 国旗图标(图片) - 可选视觉元素
用途: 按菜系筛选
推荐菜系(12个):
- 美式、意式、墨式、亚洲、地中海、法式、印度、泰式、中式、日式、希腊、中东
5. Dietary Tags
5. 饮食标签
├── name (Text, required) - "Vegan", "Gluten-Free", "Keto"
├── slug (Text, required)
├── description (Plain Text)
├── icon (Image) - Badge icon
└── color (Color) - Badge color
Purpose: Multi-select dietary filters
Suggested Tags (10):
- Vegetarian, Vegan, Gluten-Free, Dairy-Free, Keto, Paleo, Low-Carb, High-Protein, Nut-Free, Pescatarian
├── 名称(文本,必填) - "素食"、"无麸质"、"生酮"
├── 别名(文本,必填)
├── 描述(纯文本)
├── 图标(图片) - 徽章图标
└── 颜色(颜色) - 徽章颜色
用途: 多选饮食筛选
推荐标签(10个):
- 素食、纯素、无麸质、无乳制品、生酮、旧石器饮食、低碳水、高蛋白、无坚果、 pescatarian
6. Cooking Methods
6. 烹饪方式
├── name (Text, required) - "Baking", "Grilling", "Slow Cooker"
├── slug (Text, required)
└── description (Plain Text)
Purpose: Filter by cooking technique
Suggested Methods (8):
- Baking, Grilling, Slow Cooker, Instant Pot, Stovetop, No-Cook, Air Fryer, Sous Vide
├── 名称(文本,必填) - "烘焙"、"烧烤"、"慢炖"
├── 别名(文本,必填)
└── 描述(纯文本)
用途: 按烹饪技术筛选
推荐方式(8个):
- 烘焙、烧烤、慢炖、电压力锅、炉灶、免烹饪、空气炸锅、低温慢煮
Relationship Map
关联关系图
Recipe → Author (one-to-many)
↓
Recipe → Category (one-to-many)
↓
Recipe → Cuisine (one-to-many)
↓
Recipe → Dietary Tags (many-to-many)
↓
Recipe → Cooking Methods (many-to-many)Multi-reference count: 2 fields (within 5-field limit ✅)
食谱 → 作者(一对多)
↓
食谱 → 分类(一对多)
↓
食谱 → 菜系(一对多)
↓
食谱 → 饮食标签(多对多)
↓
食谱 → 烹饪方式(多对多)多引用字段数量: 2个(在5个字段限制内 ✅)
Recommended Page Structure
推荐页面结构
1. Homepage (/)
1. 首页(/)
- Hero section with featured recipe
- Category cards (8 categories)
- Latest recipes (collection list, 6 items)
- Popular recipes (sorted by view-count)
- Call-to-action
- 精选食谱Hero板块
- 分类卡片(8个分类)
- 最新食谱(集合列表,6个条目)
- 热门食谱(按浏览量排序)
- 行动召唤按钮
2. Recipes Index (/recipes)
2. 食谱索引页(/recipes)
- Collection list showing all recipes
- Filter sidebar:
- Category (tabs or dropdown)
- Cuisine (multi-select)
- Dietary tags (checkboxes)
- Cooking time (< 30 min, 30-60 min, 60+ min)
- Difficulty (easy, medium, hard)
- Pagination (12 recipes per page)
- Search bar (Finsweet CMS Filter)
- 展示所有食谱的集合列表
- 筛选侧边栏:
- 分类(标签或下拉菜单)
- 菜系(多选)
- 饮食标签(复选框)
- 烹饪时间(<30分钟、30-60分钟、60+分钟)
- 难度(简单、中等、困难)
- 分页(每页12个食谱)
- 搜索栏(Finsweet CMS Filter)
3. Recipe Detail (/recipes/[slug])
3. 食谱详情页(/recipes/[slug])
- Hero image + title
- Prep/cook/total time + servings
- Difficulty badge + dietary badges
- Ingredients list
- Step-by-step instructions
- Author card with bio
- Related recipes (same category or tags)
- Print button
- Hero图 + 标题
- 准备/烹饪/总耗时 + 份数
- 难度徽章 + 饮食徽章
- 食材列表
- 分步说明
- 作者卡片(带简介)
- 相关食谱(相同分类或标签)
- 打印按钮
4. Category Pages (/category/[slug])
4. 分类页面(/category/[slug])
- Category hero image + description
- Filtered recipes by category
- Breadcrumbs: Home > Recipes > [Category]
- Related categories
- 分类Hero图 + 描述
- 按分类筛选的食谱
- 面包屑导航:首页 > 食谱 > [分类]
- 相关分类
5. Cuisine Pages (/cuisine/[slug])
5. 菜系页面(/cuisine/[slug])
- Cuisine description + flag
- Filtered recipes by cuisine
- Popular cuisines sidebar
- 菜系描述 + 国旗
- 按菜系筛选的食谱
- 热门菜系侧边栏
6. Author Profiles (/authors/[slug])
6. 作者个人页(/authors/[slug])
- Author photo + bio
- Author's recipes (collection list)
- Social links
- Author stats (total recipes, join date)
- 作者照片 + 简介
- 作者的食谱(集合列表)
- 社交链接
- 作者统计(总食谱数、加入日期)
7. Dietary Filter Pages (/diet/[slug])
7. 饮食筛选页面(/diet/[slug])
- Dietary tag description
- Filtered recipes by tag
- Related dietary tags
- 饮食标签描述
- 按标签筛选的食谱
- 相关饮食标签
SEO Optimization
SEO优化
Collection Template SEO
集合模板SEO
Recipe Detail Page (/recipes/[slug]):
- SEO Title: {{recipe.name}} | Your Site Name
- Meta Description: {{recipe.description}}
- OG Image: {{recipe.featured-image}}
- Schema: Recipe structured data (JSON-LD)食谱详情页(/recipes/[slug]):
- SEO标题:{{recipe.name}} | 你的站点名称
- Meta描述:{{recipe.description}}
- OG图片:{{recipe.featured-image}}
- Schema:Recipe结构化数据(JSON-LD)Structured Data (Recipe Schema)
结构化数据(Recipe Schema)
json
{
"@context": "https://schema.org/",
"@type": "Recipe",
"name": "{{recipe.name}}",
"image": "{{recipe.featured-image}}",
"author": {
"@type": "Person",
"name": "{{recipe.author.name}}"
},
"datePublished": "{{recipe.published-date}}",
"description": "{{recipe.description}}",
"prepTime": "PT{{recipe.prep-time}}M",
"cookTime": "PT{{recipe.cook-time}}M",
"totalTime": "PT{{recipe.total-time}}M",
"recipeYield": "{{recipe.servings}} servings",
"recipeIngredient": [...],
"recipeInstructions": [...]
}Benefits:
- Rich snippets in Google search
- Better CTR (images, ratings, cook time in results)
- Voice search optimization
- Better recipe discovery
json
{
"@context": "https://schema.org/",
"@type": "Recipe",
"name": "{{recipe.name}}",
"image": "{{recipe.featured-image}}",
"author": {
"@type": "Person",
"name": "{{recipe.author.name}}"
},
"datePublished": "{{recipe.published-date}}",
"description": "{{recipe.description}}",
"prepTime": "PT{{recipe.prep-time}}M",
"cookTime": "PT{{recipe.cook-time}}M",
"totalTime": "PT{{recipe.total-time}}M",
"recipeYield": "{{recipe.servings}} servings",
"recipeIngredient": [...],
"recipeInstructions": [...]
}优势:
- Google搜索中的丰富摘要
- 更高的点击率(结果中显示图片、评分、烹饪时间)
- 语音搜索优化
- 更好的食谱发现率
Performance Optimization
性能优化
For 50-200 Recipes:
针对50-200个食谱:
1. Pagination Strategy
Recipes Index page:
- Limit: 12 recipes per page
- Enable Webflow pagination
- "Load More" button for smoother UX2. Image Optimization
Thumbnail: 400x300px (grid cards)
Featured: 1200x800px (detail pages)
Format: WebP when possible
Loading: lazy for below-fold images3. Reference Field Strategy
Display only needed fields:
- Author name + photo (don't bind entire author object)
- Category name + color (skip unused fields)
- Each reference = query, so minimize bindings4. Collection List Limits
Homepage: 6 featured recipes
Category pages: 12 recipes per page
Author pages: 12 recipes per page
Related recipes: 3-4 max1. 分页策略
食谱索引页:
- 限制:每页12个食谱
- 启用Webflow分页
- “加载更多”按钮提升UX2. 图片优化
缩略图:400x300px(网格卡片)
特色图:1200x800px(详情页)
格式:尽可能使用WebP
加载方式:折叠下方图片使用懒加载3. 引用字段策略
仅展示需要的字段:
- 作者名称 + 照片(不要绑定整个作者对象)
- 分类名称 + 颜色(跳过未使用字段)
- 每个引用对应一次查询,因此尽量减少绑定4. 集合列表限制
首页:6个精选食谱
分类页面:每页12个食谱
作者页面:每页12个食谱
相关食谱:最多3-4个Content Strategy
内容策略
Phase 1: Foundation (Weeks 1-2)
阶段1:基础搭建(第1-2周)
- Create Authors (3-5 authors)
- Create Categories (8 categories)
- Create Cuisines (10-12 cuisines)
- Create Dietary Tags (8-10 tags)
- Create Cooking Methods (6-8 methods)
- 创建作者(3-5位)
- 创建分类(8个)
- 创建菜系(10-12个)
- 创建饮食标签(8-10个)
- 创建烹饪方式(6-8个)
Phase 2: Initial Content (Weeks 3-4)
阶段2:初始内容(第3-4周)
- Add 20-30 flagship recipes
- Ensure even distribution across categories
- High-quality photos for all
- Complete metadata (all fields filled)
- 添加20-30个旗舰食谱
- 确保分类分布均匀
- 所有食谱配高质量图片
- 完善元数据(填充所有字段)
Phase 3: Growth (Ongoing)
阶段3:持续增长(进行中)
- Add 5-10 recipes per week
- Monitor popular recipes (view-count)
- Update seasonal recipes
- Maintain content quality
- 每周添加5-10个食谱
- 监控热门食谱(浏览量)
- 更新季节性食谱
- 保持内容质量
Implementation Roadmap
实施路线图
Week 1: Setup
第1周:设置
- Create all 6 collections with fields
- Define relationships (references)
- Set required fields
- Add help text for editors
- 创建所有6个集合及字段
- 定义关联关系(引用)
- 设置必填字段
- 为编辑者添加帮助文本
Week 2: Content Structure
第2周:内容结构
- Populate support collections (Authors, Categories, etc.)
- Create test recipes (3-5) with all fields
- Validate data structure
- 填充支持集合(作者、分类等)
- 创建测试食谱(3-5个,填充所有字段)
- 验证数据结构
Week 3: Pages
第3周:页面搭建
- Build homepage layout
- Create recipe index page with filters
- Design recipe detail template
- Build category/cuisine/author pages
- 构建首页布局
- 创建带筛选的食谱索引页
- 设计食谱详情模板
- 构建分类/菜系/作者页面
Week 4: Polish
第4周:优化
- Implement SEO (titles, descriptions, schema)
- Add breadcrumbs and navigation
- Optimize images
- Test pagination and filters
- 实施SEO(标题、描述、Schema)
- 添加面包屑导航
- 优化图片
- 测试分页和筛选
Week 5: Launch
第5周:上线
- Add 20-30 initial recipes
- Final QA testing
- Publish site
- Monitor performance
- 添加20-30个初始食谱
- 最终QA测试
- 发布站点
- 监控性能
Quick Wins
快速见效的优化
1. Use View Count for "Popular Recipes"
1. 使用浏览量打造“热门食谱”
- Add Number field: view-count
- Sort collection list by view-count (descending)
- Show "Most Popular" section on homepage
- 添加数字字段:view-count
- 集合列表按浏览量降序排序
- 首页展示“最热门”板块
2. Auto-Calculate Total Time
2. 自动计算总耗时
- Option 1: Manual (editors enter prep + cook)
- Option 2: Display logic (show prep + cook sum in UI)
- Best for: Performance (no extra calculation)
- 选项1:手动输入(编辑者输入准备+烹饪时间)
- 选项2:展示逻辑(UI中显示准备+烹饪时间之和)
- 最佳选择:性能优先(无需额外计算)
3. Print-Friendly Recipe Cards
3. 打印友好的食谱卡片
- Add "Print Recipe" button
- Use custom code to format for printing
- Include: Ingredients, Instructions, Image
- Exclude: Navigation, Ads, Comments
- 添加“打印食谱”按钮
- 使用自定义代码格式化打印内容
- 包含:食材、步骤、图片
- 排除:导航、广告、评论
4. Related Recipes Logic
4. 相关食谱逻辑
Automatic (no manual curation):
- Filter by same category
- Filter by shared dietary tags
- Sort by published-date (recent first)
- Limit to 3-4 recipes
Ready to implement? I can help you:
- Create these collections using cms-collection-setup skill
- Add initial content using bulk-cms-update skill
- Build the page structure
- Optimize for SEO and performance
Which would you like to start with?
undefined自动方式(无需手动维护):
- 按相同分类筛选
- 按共享饮食标签筛选
- 按发布日期排序(最新优先)
- 限制为3-4个食谱
准备好实施了吗?我可以帮你:
- 使用cms-collection-setup技能创建这些集合
- 使用bulk-cms-update技能添加初始内容
- 搭建页面结构
- 优化SEO和性能
你想从哪部分开始?
undefinedExample 2: Optimizing Existing CMS
示例2:优化现有CMS
User prompt:
My collection list is slow with 500+ items. How do I optimize?Response:
⚡ CMS Performance Optimization
Analyzing your performance issue with 500+ items...
---用户提问:
我的集合列表有500+个条目,加载很慢,如何优化?回复:
⚡ CMS性能优化
正在分析你500+个条目的性能问题...
---Current Issue Diagnosis
当前问题诊断
Problem: Loading 500+ items on a single page
Impact:
- Slow page load (5-10 seconds or more)
- High bounce rate
- Poor SEO rankings
- Bad user experience
- Server stress
Root Causes:
- Too many items loaded at once
- Possibly too many reference field lookups
- Large unoptimized images
- No pagination or lazy loading
- Complex nested collection lists
问题: 单页加载500+个条目
影响:
- 页面加载缓慢(5-10秒或更久)
- 高跳出率
- SEO排名下降
- 用户体验差
- 服务器压力大
根本原因:
- 一次性加载条目过多
- 可能存在过多引用字段查询
- 图片未优化且体积大
- 未启用分页或懒加载
- 复杂的嵌套集合列表
Immediate Fixes (High Impact, Low Effort)
即时修复(高影响,低投入)
1. Implement Pagination ⚡ CRITICAL
1. 实施分页 ⚡ 关键
Current: Loading all 500+ items
Fix: Limit to 12-20 items per page
In Webflow Designer:
- Select your Collection List
- Settings > Limit items: 20
- Enable "Paginate items"
- Style pagination controls
Impact: 95% faster page load ✅
Time to implement: 5 minutes
Effort: Low
当前: 加载所有500+个条目
修复: 限制为每页12-20个条目
在Webflow设计器中:
- 选择你的集合列表
- 设置 > 限制条目数:20
- 启用“分页条目”
- 样式化分页控件
影响: 页面加载速度提升95% ✅
实施时间: 5分钟
投入: 低
2. Optimize Image Loading 🖼️
2. 优化图片加载 🖼️
Current: Full-resolution images loading immediately
Fix: Use proper image sizes + lazy loading
Implementation:
Thumbnail images in grid:
- Size: 400x300px (not full resolution)
- Format: WebP (smaller file size)
- Loading: lazy (below fold images)
In Collection List Image settings:
- Set custom size: 400x300
- Enable lazy loading
- Use srcset for responsive imagesImpact: 60-70% faster load ✅
Time to implement: 15 minutes
Effort: Low
当前: 立即加载全分辨率图片
修复: 使用合适的图片尺寸 + 懒加载
实施:
网格中的缩略图:
- 尺寸:400x300px(非全分辨率)
- 格式:WebP(更小的文件体积)
- 加载方式:懒加载(折叠下方图片)
在集合列表图片设置中:
- 设置自定义尺寸:400x300
- 启用懒加载
- 使用srcset实现响应式图片影响: 加载速度提升60-70% ✅
实施时间: 15分钟
投入: 低
3. Reduce Visible Reference Fields 🔗
3. 减少可见的引用字段 🔗
Current: Binding all reference fields
Fix: Only display what you actually need
Check your Collection List:
❌ Bad: Binding entire author object
{
author.name,
author.bio,
author.photo,
author.email,
author.social-links
}
✅ Good: Bind only displayed fields
{
author.name,
author.photo
}Why: Each reference field = separate database query
Impact: 30-40% faster ✅
Time to implement: 10 minutes
Effort: Low
当前: 绑定所有引用字段
修复: 仅展示实际需要的字段
检查你的集合列表:
❌ 错误:绑定整个作者对象
{
author.name,
author.bio,
author.photo,
author.email,
author.social-links
}
✅ 正确:仅绑定展示的字段
{
author.name,
author.photo
}原因: 每个引用字段对应一次独立的数据库查询
影响: 速度提升30-40% ✅
实施时间: 10分钟
投入: 低
Medium-Term Solutions (Moderate Impact, Moderate Effort)
中期解决方案(中等影响,中等投入)
4. Filter at Collection Level
4. 在集合层面筛选
Current: Loading all items, then hiding with conditional visibility
Fix: Use collection list filters
Example:
Instead of:
- Load all 500 posts
- Hide if published-date > today (conditional)
Do this:
- Collection List Filter: published-date ≤ today
- Only loads matching itemsImplementation:
- Collection List Settings
- Add Filter: [field] [condition] [value]
- Combine multiple filters with AND/OR
Impact: 50% faster + cleaner ✅
Time to implement: 30 minutes
Effort: Medium
当前: 加载所有条目,然后用条件可见性隐藏
修复: 使用集合列表筛选
示例:
错误做法:
- 加载所有500篇文章
- 如果发布日期 > 今天则隐藏(条件可见性)
正确做法:
- 集合列表筛选:发布日期 ≤ 今天
- 仅加载匹配的条目实施:
- 集合列表设置
- 添加筛选:[字段] [条件] [值]
- 使用AND/OR组合多个筛选条件
影响: 速度提升50% + 代码更简洁 ✅
实施时间: 30分钟
投入: 中等
5. Implement "Load More" Button
5. 实现“加载更多”按钮
Alternative to pagination: Smoother UX
Options:
a) Webflow native: Pagination with "Load More" styling
b) Finsweet: CMS Load plugin (free)
c) Custom code: AJAX load more
Benefits:
- Users stay on same page (no page refresh)
- Better for mobile UX
- Smooth scrolling experience
Impact: Better UX, same performance as pagination ✅
Time to implement: 1-2 hours
Effort: Medium
分页的替代方案: 更流畅的UX
选项:
a) Webflow原生: 样式化为“加载更多”的分页
b) Finsweet: CMS Load插件(免费)
c) 自定义代码: AJAX加载更多
优势:
- 用户停留在同一页面(无页面刷新)
- 移动端UX更好
- 流畅的滚动体验
影响: UX更好,性能与分页相同 ✅
实施时间: 1-2小时
投入: 中等
6. Create Filtered Views
6. 创建筛选视图
Instead of: One giant "All Posts" page
Create: Multiple filtered pages
Example:
/blog → Recent posts (20 items)
/blog/featured → Featured posts only (10 items)
/blog/category/tech → Tech category (filtered)
/blog/archive → Older posts with paginationBenefits:
- Faster individual pages
- Better SEO (targeted pages)
- Easier navigation
- Reduced cognitive load
Impact: Significant UX improvement ✅
Time to implement: 2-3 hours
Effort: Medium
替代单一的“所有文章”页面: 创建多个筛选页面
示例:
/blog → 最新文章(20个条目)
/blog/featured → 仅精选文章(10个条目)
/blog/category/tech → 科技分类(已筛选)
/blog/archive → 带分页的旧文章优势:
- 单个页面加载更快
- 更好的SEO(针对性页面)
- 导航更轻松
- 降低认知负荷
影响: UX显著提升 ✅
实施时间: 2-3小时
投入: 中等
Long-Term Solutions (High Impact, High Effort)
长期解决方案(高影响,高投入)
7. Archive Old Content
7. 归档旧内容
Strategy: Dynamic recent + static archives
Implementation:
Recent Content (Dynamic CMS):
- Last 50-100 posts
- Full dynamic filtering
- Fast performance
Older Content (Static):
- Archive pages for older posts
- Yearly/quarterly archives
- Still accessible but static HTML
- Rarely updatedWhen to use:
- 1000+ items
- Clear separation between recent/old content
- Archive content rarely accessed
Impact: Maintains fast performance at scale ✅
Time to implement: 1-2 weeks
Effort: High
策略: 动态最新内容 + 静态归档
实施:
最新内容(动态CMS):
- 最近50-100篇文章
- 完整的动态筛选
- 性能快速
旧内容(静态):
- 旧文章的归档页面
- 按年/季度归档
- 仍可访问但为静态HTML
- 很少更新适用场景:
- 1000+个条目
- 最新/旧内容有明确区分
- 归档内容很少被访问
影响: 大规模场景下仍保持快速性能 ✅
实施时间: 1-2周
投入: 高
8. Denormalize Data
8. 数据反规范化
Problem: Too many reference lookups
Solution: Copy frequently-accessed data
Example:
Current (Normalized):
Post → Author (reference)
Display: {{post.author.name}}
= 2 queries (post + author)
Denormalized:
Post has author-name field (text)
Display: {{post.author-name}}
= 1 query (just post)When to use:
- Reference data rarely changes (author names)
- Performance is critical
- You can maintain consistency
Tradeoff: ⚠️ Must update in multiple places if data changes
Impact: 40-50% faster for reference-heavy pages ✅
Time to implement: Varies (requires data migration)
Effort: High
问题: 引用查询过多
解决方案: 复制频繁访问的数据
示例:
当前(规范化):
文章 → 作者(引用)
展示:{{post.author.name}}
= 2次查询(文章 + 作者)
反规范化:
文章包含author-name字段(文本)
展示:{{post.author-name}}
= 1次查询(仅文章)适用场景:
- 引用数据很少变化(作者名称)
- 性能要求极高
- 你可以保持数据一致性
权衡: ⚠️ 如果数据变化,必须在多个地方更新
影响: 引用密集型页面速度提升40-50% ✅
实施时间: 视情况而定(需要数据迁移)
投入: 高
9. Implement Client-Side Filtering
9. 实施客户端筛选
Use: Finsweet CMS Filter (free)
Benefits:
- Load once, filter instantly
- No page refreshes
- Multiple simultaneous filters
- Search functionality
- Better UX
Best for:
- 100-500 items
- Users need advanced filtering
- Desktop-first audience
Limitation: All items loaded initially (use with pagination)
Impact: Instant filtering ✅
Time to implement: 2-4 hours
Effort: Medium-High
工具: Finsweet CMS Filter(免费)
优势:
- 加载一次,即时筛选
- 无页面刷新
- 支持同时多个筛选条件
- 搜索功能
- 更好的UX
最佳适用场景:
- 100-500个条目
- 用户需要高级筛选
- 桌面端为主的受众
限制: 初始加载所有条目(需配合分页使用)
影响: 即时筛选 ✅
实施时间: 2-4小时
投入: 中高
Comprehensive Optimization Checklist
全面优化清单
Immediate Actions (Today):
即时行动(今天):
- Limit collection list to 20 items
- Enable pagination
- Optimize image sizes (400x300 for thumbnails)
- Enable lazy loading on images
- Remove unused reference field bindings
- 集合列表限制为20个条目
- 启用分页
- 优化图片尺寸(缩略图400x300)
- 启用图片懒加载
- 移除未使用的引用字段绑定
This Week:
本周内:
- Add collection list filters (date, category)
- Create filtered category pages
- Test performance on mobile
- Implement "Load More" if desired
- Audit all collection lists on site
- 添加集合列表筛选(日期、分类)
- 创建筛选后的分类页面
- 移动端性能测试
- 若需要,实施“加载更多”
- 审核站点所有集合列表
This Month:
本月内:
- Consider Finsweet CMS Filter for advanced filtering
- Create archive structure if >1000 items
- Optimize all images (WebP format)
- Review and optimize reference relationships
- Set up performance monitoring
- 考虑使用Finsweet CMS Filter实现高级筛选
- 若条目>1000,创建归档结构
- 优化所有图片(WebP格式)
- 审核并优化引用关联关系
- 设置性能监控
Performance Benchmarks
性能基准
Before Optimization:
优化前:
- Load time: 8-12 seconds
- Items loaded: 500+
- Images: Full resolution
- References: All fields
- 加载时间:8-12秒
- 加载条目数:500+
- 图片:全分辨率
- 引用:所有字段
After Quick Fixes (Pagination + Images):
快速修复后(分页 + 图片):
- Load time: 1-2 seconds ✅
- Items loaded: 20
- Images: Optimized thumbnails
- References: Only displayed fields
- 加载时间:1-2秒 ✅
- 加载条目数:20
- 图片:优化后的缩略图
- 引用:仅展示的字段
After Full Optimization:
全面优化后:
- Load time: <1 second ✅
- Lighthouse score: 90+ ✅
- Smooth pagination
- Instant client-side filtering
- 加载时间:<1秒 ✅
- Lighthouse评分:90+ ✅
- 流畅的分页
- 即时客户端筛选
Testing Your Changes
测试你的变更
Before deploying:
-
Test on staging:
- Publish to staging domain first
- Verify pagination works
- Check image quality
- Test all filters
-
Performance testing:
- Use Google PageSpeed Insights
- Test on mobile (3G/4G)
- Check Lighthouse scores
- Verify Core Web Vitals
-
User testing:
- Navigate through pages
- Test search/filter
- Check mobile experience
- Verify no broken links
-
Monitor after launch:
- Watch analytics (bounce rate, time on page)
- Check error logs
- Monitor load times
- Gather user feedback
部署前:
-
** staging环境测试:**
- 先发布到staging域名
- 验证分页正常工作
- 检查图片质量
- 测试所有筛选
-
性能测试:
- 使用Google PageSpeed Insights
- 移动端测试(3G/4G)
- 检查Lighthouse评分
- 验证Core Web Vitals
-
用户测试:
- 导航页面
- 测试搜索/筛选
- 检查移动端体验
- 验证无断链
-
上线后监控:
- 查看分析数据(跳出率、页面停留时间)
- 检查错误日志
- 监控加载时间
- 收集用户反馈
Quick Implementation Priority
快速实施优先级
Priority 1 (Do First):
- Pagination (20 items per page)
- Optimize images (thumbnails)
- Remove unused reference bindings
Priority 2 (This Week):
4. Add lazy loading
5. Create filtered views
6. Implement "Load More" option
Priority 3 (If Needed):
7. Finsweet CMS Filter
8. Archive old content
9. Denormalize critical data
Would you like me to walk you through implementing any of these optimizations? I can provide:
- Step-by-step Webflow Designer instructions
- Custom code snippets
- Testing checklist
- Performance monitoring setup
Let me know which optimization you'd like to tackle first!
undefined优先级1(首先做):
- 分页(每页20个条目)
- 优化图片(缩略图)
- 移除未使用的引用绑定
优先级2(本周内):
4. 启用懒加载
5. 创建筛选视图
6. 实施“加载更多”选项
优先级3(如有需要):
7. Finsweet CMS Filter
8. 归档旧内容
9. 关键数据反规范化
你想让我带你逐步实施这些优化吗?我可以提供:
- Webflow设计器分步说明
- 自定义代码片段
- 测试清单
- 性能监控设置
你想先处理哪项优化?
undefinedExample 3: Troubleshooting Relationships
示例3:排查关联关系问题
User prompt:
My reference fields aren't showing up on the page. What's wrong?Response:
🔍 Troubleshooting: Reference Fields Not Displaying
Let me help you diagnose and fix this issue.
---用户提问:
我的引用字段在页面上不显示,怎么回事?回复:
🔍 故障排查:引用字段不显示
我来帮你诊断并修复这个问题。
---Common Causes & Solutions
常见原因与解决方案
Issue 1: Reference Field Not Bound to Element
问题1:引用字段未绑定到元素
Symptom: Empty space where data should be
Diagnosis: Element exists but has no data binding
Fix:
- Select the element (text, image, etc.)
- Settings panel > Get text/image from [Collection Item]
- Select your reference field
- Choose the specific field to display
Example:
Element: Text Block
Binding: Blog Post > Author (reference) > Name
Correct path:
Collection Item > author > name症状: 数据应显示的位置为空
诊断: 元素存在但未绑定数据
修复:
- 选择元素(文本、图片等)
- 设置面板 > 从[集合条目]获取文本/图片
- 选择你的引用字段
- 选择要展示的具体字段
示例:
元素:文本块
绑定:博客文章 > 作者(引用) > 名称
正确路径:
集合条目 > author > nameIssue 2: Reference Field Has No Value
问题2:引用字段无值
Symptom: Some items show data, others don't
Diagnosis: Not all collection items have the reference assigned
Fix:
- Go to CMS Collections
- Open your collection
- Check items that aren't displaying
- Ensure reference field is populated
Prevention:
- Make reference fields "Required" if critical
- Provide default/fallback content
症状: 部分条目显示数据,其他不显示
诊断: 并非所有集合条目都已分配引用
修复:
- 进入CMS集合
- 打开你的集合
- 检查不显示的条目
- 确保引用字段已填充
预防:
- 若为关键字段,设置为“必填”
- 提供默认/回退内容
Issue 3: Wrong Collection Context
问题3:错误的集合上下文
Symptom: Reference field not appearing in dropdown
Diagnosis: Element is outside collection list context
Fix:
❌ Wrong:
<div>
<text>Author: {{author.name}}</text> ← No collection context
</div>
✅ Correct:
<Collection List - Posts>
<Collection Item>
<text>Author: {{author.name}}</text> ← Inside collection context
</Collection Item>
</Collection List>症状: 引用字段未出现在下拉菜单中
诊断: 元素位于集合列表上下文之外
修复:
❌ 错误:
<div>
<text>作者:{{author.name}}</text> ← 无集合上下文
</div>
✅ 正确:
<集合列表 - 文章>
<集合条目>
<text>作者:{{author.name}}</text> ← 在集合上下文内
</集合条目>
</集合列表>Issue 4: Multi-Reference Display Error
问题4:多引用显示错误
Symptom: Only showing first item or nothing
Diagnosis: Multi-reference needs nested collection list
Fix:
For Multi-Reference field (Post → Tags):
❌ Wrong: Direct binding
<text>Tags: {{post.tags}}</text>
✅ Correct: Nested collection list
<Collection List - Posts>
<Collection Item - Post>
<Collection List - Get Items from Post > Tags>
<Collection Item - Tag>
<text>{{tag.name}}</text>
</Collection Item>
</Collection List>
</Collection Item>
</Collection List>症状: 仅显示第一个条目或无内容
诊断: 多引用需要嵌套集合列表
修复:
对于多引用字段(文章 → 标签):
❌ 错误:直接绑定
<text>标签:{{post.tags}}</text>
✅ 正确:嵌套集合列表
<集合列表 - 文章>
<集合条目 - 文章>
<集合列表 - 从文章 > 标签获取条目>
<集合条目 - 标签>
<text>{{tag.name}}</text>
</集合条目>
</集合列表>
</集合条目>
</集合列表>Issue 5: Deleted Referenced Item
问题5:引用的条目已删除
Symptom: Reference field shows nothing despite being assigned
Diagnosis: Referenced item was deleted from other collection
Fix:
- Go to referring collection
- Check reference field assignments
- Re-assign to existing items
- Or recreate deleted item
Prevention:
- Be careful when deleting referenced items
- Check "Used in X items" before deleting
- Archive instead of delete if possible
症状: 引用字段已分配但无显示
诊断: 引用的条目已从其他集合删除
修复:
- 进入引用集合
- 检查引用字段分配
- 重新分配到现有条目
- 或重新创建已删除的条目
预防:
- 删除引用条目时要小心
- 删除前查看“在X个条目中使用”
- 可能的话,归档而非删除
Issue 6: Collection Not Published
问题6:集合未发布
Symptom: Works in designer, not on live site
Diagnosis: Referenced collection items are drafts
Fix:
- Go to referenced collection (e.g., Authors)
- Find draft items
- Publish them
- Republish main site
Check:
CMS Collections > Authors
- Look for "Draft" badge
- Publish all needed items
- Items must be published to display via reference症状: 设计器中正常,线上站点不显示
诊断: 引用的集合条目为草稿
修复:
- 进入引用集合(例如:作者)
- 找到草稿条目
- 发布它们
- 重新发布主站点
检查:
CMS集合 > 作者
- 查找“草稿”标记
- 发布所有需要的条目
- 条目必须发布才能通过引用显示Step-by-Step Diagnostic
分步诊断
Step 1: Verify Collection Structure
步骤1:验证集合结构
Check in CMS:
1. Does the reference field exist?
2. Is it configured correctly (Reference or Multi-Reference)?
3. Is it pointing to the right collection?在CMS中检查:
1. 引用字段是否存在?
2. 配置是否正确(引用或多引用)?
3. 是否指向正确的集合?Step 2: Verify Data Exists
步骤2:验证数据存在
Check collection items:
1. Open an item that should display
2. Check if reference field is populated
3. Verify referenced item exists and is published检查集合条目:
1. 打开应显示数据的条目
2. 检查引用字段是否已填充
3. 验证引用的条目存在且已发布Step 3: Verify Page Structure
步骤3:验证页面结构
Check in Designer:
1. Is element inside Collection List?
2. Is Collection List connected to correct collection?
3. Is element binding correct path?在设计器中检查:
1. 元素是否在集合列表内?
2. 集合列表是否连接到正确的集合?
3. 元素绑定的路径是否正确?Step 4: Test in Designer
步骤4:设计器中测试
In Designer:
1. Click Collection List
2. Set preview mode: "Item 1"
3. Cycle through items
4. Check if data appears
If it works in Designer but not live:
→ Publish issue (republish site)在设计器中:
1. 点击集合列表
2. 设置预览模式:“条目1”
3. 切换条目
4. 检查数据是否显示
如果设计器中正常但线上不显示:
→ 发布问题(重新发布站点)Testing Reference Fields
测试引用字段
Manual Test Checklist
手动测试清单
- Create test item with reference populated
- Preview in Designer
- Check element binding path
- Publish and view live
- Verify all items display correctly
- Check items without references (should fail gracefully)
- 创建填充引用的测试条目
- 设计器中预览
- 检查元素绑定路径
- 发布并查看线上站点
- 验证所有条目显示正确
- 检查无引用的条目(应优雅降级)
Common Binding Patterns
常见绑定模式
Single Reference (Author):
Collection List: Posts
Collection Item: Post
Element: Text Block
Binding: Get text from Post > author > nameMulti-Reference (Tags):
Collection List: Posts
Collection Item: Post
Nested Collection List: Get items from Post > tags
Collection Item: Tag
Element: Text Block
Binding: Get text from Tag > nameSelf-Reference (Related Posts):
Collection List: Posts
Collection Item: Post (current)
Nested Collection List: Get items from Post > related-posts
Collection Item: Post (related)
Element: Text Block
Binding: Get text from Post > title单引用(作者):
集合列表:文章
集合条目:文章
元素:文本块
绑定:从文章 > author > name获取文本多引用(标签):
集合列表:文章
集合条目:文章
嵌套集合列表:从文章 > tags获取条目
集合条目:标签
元素:文本块
绑定:从标签 > name获取文本自引用(相关文章):
集合列表:文章
集合条目:文章(当前)
嵌套集合列表:从文章 > related-posts获取条目
集合条目:文章(相关)
元素:文本块
绑定:从文章 > title获取文本Prevention Tips
预防技巧
Best Practices:
最佳实践:
-
Make critical references required
- Required: Yes for author, category
- Optional: Yes for tags, related items
-
Provide default content
- If reference is empty, show "Uncategorized"
- Use conditional visibility for optional references
-
Test with incomplete data
- Create test items with missing references
- Ensure graceful fallback
-
Document reference structure
- Create guide for content editors
- Explain which fields are required
- Show how to assign references
-
Use descriptive field names
- ❌ "ref-1", "link"
- ✅ "author", "primary-category", "related-posts"
-
关键引用设为必填
- 必填:作者、分类等
- 可选:标签、相关条目等
-
提供默认内容
- 若引用为空,显示“未分类”
- 可选引用使用条件可见性
-
用不完整数据测试
- 创建缺少引用的测试条目
- 确保优雅降级
-
记录引用结构
- 为内容编辑者创建指南
- 说明哪些字段是必填的
- 展示如何分配引用
-
使用描述性字段名
- ❌ “ref-1”、“link”
- ✅ “author”、“primary-category”、“related-posts”
Quick Fixes by Symptom
按症状快速修复
| Symptom | Most Likely Cause | Quick Fix |
|---|---|---|
| Nothing shows | Not bound | Bind element to reference field |
| Some items empty | Reference not assigned | Assign reference in CMS |
| Works in designer, not live | Items not published | Publish referenced collection items |
| Only first tag shows | Using text binding on multi-ref | Use nested collection list |
| Shows random data | Wrong collection context | Check collection list nesting |
| Broken after deletion | Referenced item deleted | Re-assign or recreate item |
Would you like me to walk through your specific setup to diagnose the exact issue? I can:
- Review your collection structure
- Check your reference field configuration
- Analyze your page layout
- Test your data bindings
- Provide custom troubleshooting
Let me know what you'd like me to check!
undefined| 症状 | 最可能的原因 | 快速修复 |
|---|---|---|
| 完全无显示 | 未绑定 | 将元素绑定到引用字段 |
| 部分条目为空 | 引用未分配 | 在CMS中分配引用 |
| 设计器中正常,线上不显示 | 条目未发布 | 发布引用的集合条目 |
| 仅显示第一个标签 | 多引用使用文本绑定 | 使用嵌套集合列表 |
| 显示随机数据 | 集合上下文错误 | 检查集合列表嵌套 |
| 删除后显示异常 | 引用的条目已删除 | 重新分配或重新创建条目 |
你想让我帮你检查具体的设置吗?我可以:
- 审核你的集合结构
- 检查引用字段配置
- 分析你的页面布局
- 测试数据绑定
- 提供自定义故障排查方案
你想让我检查哪部分?
undefinedGuidelines
指南
Phase 1: Discovery Best Practices
阶段1:发现最佳实践
Always Start With:
- Identify plan limits - Use to check collection/item limits
sites_get - Analyze existing structure - List collections before recommending changes
- Understand content volume - Check item counts to assess scale
- Review current pages - See how content is currently displayed
- Ask clarifying questions - Don't assume requirements
Plan Limits Reference:
Starter Plan:
- Collections: 1
- Items per collection: 50
- CMS pages: 50
Basic Plan:
- Collections: 2
- Items total: 200
- CMS pages: 150
CMS Plan:
- Collections: 20
- Items total: 2,000
- CMS pages: 2,000
Business Plan:
- Collections: 40
- Items total: 10,000
- CMS pages: 10,000
Enterprise Plan:
- Custom limitsKey Questions to Ask:
- "What content needs to be managed?" (identify collections)
- "Who will update the content?" (determine complexity level)
- "How will content be displayed?" (affects fields and relationships)
- "What's the expected content volume?" (plan for scale)
- "Are there any special requirements?" (unique features, integrations)
始终从以下步骤开始:
- 识别方案限制 - 使用检查集合/条目限制
sites_get - 分析现有结构 - 推荐变更前列出所有集合
- 了解内容体量 - 检查条目数评估规模
- 审核当前页面 - 查看内容当前的展示方式
- 提出澄清问题 - 不要假设需求
方案限制参考:
入门方案:
- 集合:1个
- 每个集合条目数:50个
- CMS页面:50个
基础方案:
- 集合:2个
- 总条目数:200个
- CMS页面:150个
CMS方案:
- 集合:20个
- 总条目数:2000个
- CMS页面:2000个
商业方案:
- 集合:40个
- 总条目数:10000个
- CMS页面:10000个
企业方案:
- 自定义限制关键问题:
- “需要管理哪些内容?”(识别集合)
- “谁将更新内容?”(确定复杂度)
- “内容将如何展示?”(影响字段和关联关系)
- “预期内容体量是多少?”(规划可扩展性)
- “有任何特殊要求吗?”(独特功能、集成)
Phase 2: Field Selection Best Practices
阶段2:字段选择最佳实践
Field Type Selection Matrix:
For Text Content:
- <50 characters: Plain Text (single line)
- 50-256 characters: Plain Text (multi-line)
- Need formatting: Rich Text
- Pure data (no display): Plain Text (validation enabled)
For Relationships:
- One parent: Reference (e.g., Post → Author)
- Multiple parents: Multi-Reference (e.g., Post → Tags)
- Self-referencing: Reference to same collection (e.g., Category → Parent Category)
For Media:
- Hero images: Image field (1 image)
- Galleries: Multi-image field (up to 25 images)
- Documents: File field (PDFs, docs)
- Videos: Video field (YouTube/Vimeo embeds)
For Metadata:
- Dates: Date/Time field
- Numbers: Number field (prices, counts, ratings)
- Colors: Color field (brand colors, theme colors)
- Switches: Boolean field (featured, published, active)
Field Naming Conventions:
✅ Good Names:
- published-date (descriptive, hyphenated)
- author (clear purpose)
- main-image (specifies which image)
- post-summary (explains use case)
❌ Bad Names:
- date1 (unclear which date)
- img (which image?)
- text (what kind of text?)
- field1 (no meaning)Required vs Optional:
Make REQUIRED:
- name (unique identifier)
- slug (URL generation)
- primary relationships (author, category)
- publish date (for sorting)
Make OPTIONAL:
- tags (not always applicable)
- secondary images
- advanced metadata
- related items字段类型选择矩阵:
文本内容:
- <50字符: 纯文本(单行)
- 50-256字符: 纯文本(多行)
- 需要格式: 富文本
- 纯数据(不展示): 纯文本(启用验证)
关联关系:
- 一个父级: 引用(例如:文章 → 作者)
- 多个父级: 多引用(例如:文章 → 标签)
- 自引用: 引用同一集合(例如:分类 → 父分类)
媒体:
- Hero图: 图片字段(1张图片)
- 图库: 多图字段(最多25张图片)
- 文档: 文件字段(PDF、文档)
- 视频: 视频字段(YouTube/Vimeo嵌入)
元数据:
- 日期: 日期/时间字段
- 数字: 数字字段(价格、计数、评分)
- 颜色: 颜色字段(品牌色、主题色)
- 开关: 布尔字段(精选、已发布、激活)
字段命名规范:
✅ 好的命名:
- published-date(描述性,连字符分隔)
- author(用途明确)
- main-image(指定是哪张图片)
- post-summary(说明使用场景)
❌ 差的命名:
- date1(不清楚是哪个日期)
- img(哪张图片?)
- text(哪种文本?)
- field1(无意义)必填 vs 可选:
设为必填:
- name(唯一标识符)
- slug(URL生成)
- 主要关联关系(作者、分类)
- 发布日期(用于排序)
设为可选:
- tags(并非始终适用)
- 次要图片
- 高级元数据
- 相关条目Phase 3: Relationship Design Best Practices
阶段3:关联关系设计最佳实践
One-to-Many Guidelines:
Use when:
- Each item has exactly ONE parent
- Parent data is reused across many items
- You want centralized data management
Examples:
✅ Post → Author (each post has one author)
✅ Product → Brand (each product has one brand)
✅ Event → Venue (each event has one venue)
Don't use when:
❌ Item can have multiple parents (use multi-reference)
❌ Relationship is temporary (consider option field)
❌ Data is simple and rarely changes (use option field instead)Many-to-Many Guidelines:
Use when:
- Items can have multiple relationships
- Relationships need to be managed separately
- You want flexible cross-linking
Examples:
✅ Post ↔ Tags (posts have many tags, tags apply to many posts)
✅ Product ↔ Features (products have many features, features apply to many products)
✅ Course ↔ Topics (courses cover many topics, topics span many courses)
Remember:
⚠️ Max 5 multi-reference fields per collection
⚠️ Can only filter by ONE multi-reference at a time
⚠️ Cannot sort by referenced field values
⚠️ Performance impact (more queries)Self-Reference Guidelines:
Use when:
- Building hierarchies (categories, menu structure)
- Related items from same collection
- Organizational trees
Implementation:
- Add Reference field pointing to same collection
- Name it clearly: parent-category, related-posts
- Limit depth to 2-3 levels for practical display
- Consider adding "level" number field for easier filtering
Example Structure:
Categories:
├── Web Development (level 1, parent: null)
│ ├── Frontend (level 2, parent: Web Development)
│ └── Backend (level 2, parent: Web Development)
└── Design (level 1, parent: null)一对多指南:
适用场景:
- 每个条目恰好对应一个父级
- 父级数据在多个条目中复用
- 你想集中管理数据
示例:
✅ 文章 → 作者(每篇文章对应一位作者)
✅ 产品 → 品牌(每个产品对应一个品牌)
✅ 活动 → 场地(每个活动对应一个场地)
不适用场景:
❌ 条目可对应多个父级(使用多引用)
❌ 关联关系是临时的(考虑选项字段)
❌ 数据简单且很少变化(使用选项字段替代)多对多指南:
适用场景:
- 条目可对应多个关联关系
- 关联关系需要单独管理
- 你需要灵活的交叉链接
示例:
✅ 文章 ↔ 标签(文章有多个标签,标签适用于多个文章)
✅ 产品 ↔ 特性(产品有多个特性,特性适用于多个产品)
✅ 课程 ↔ 主题(课程涵盖多个主题,主题涉及多个课程)
注意:
⚠️ 每个集合最多5个多引用字段
⚠️ 一次只能按一个多引用值筛选
⚠️ 无法按引用字段值排序
⚠️ 影响性能(更多查询)自引用指南:
适用场景:
- 构建层级结构(分类、菜单结构)
- 同一集合的相关条目
- 组织树
实施:
- 添加指向同一集合的引用字段
- 清晰命名:parent-category、related-posts
- 实际实施建议限制为2-3层
- 考虑添加“level”数字字段以便筛选
示例结构:
分类:
├── Web开发(层级1,父级:无)
│ ├── 前端(层级2,父级:Web开发)
│ └── 后端(层级2,父级:Web开发)
└── 设计(层级1,父级:无)Phase 4: Architecture Patterns
阶段4:架构模式
Common Collection Patterns:
1. Blog Architecture:
Minimal (1 collection):
- Blog Posts
Standard (3 collections):
- Blog Posts
- Authors
- Categories
Advanced (5+ collections):
- Blog Posts
- Authors
- Categories
- Tags
- Topics/Series2. E-commerce Architecture:
Minimal (1 collection):
- Products
Standard (4 collections):
- Products
- Categories
- Brands
- Features/Specifications
Advanced (7+ collections):
- Products
- Categories
- Brands
- Features
- Reviews
- Collections (curated product groups)
- Related Products3. Portfolio Architecture:
Minimal (1 collection):
- Projects
Standard (3 collections):
- Projects
- Clients
- Services/Categories
Advanced (5+ collections):
- Projects
- Clients
- Services
- Team Members
- Technologies Used4. Directory Architecture:
Minimal (1 collection):
- Listings
Standard (4 collections):
- Listings
- Categories
- Locations
- Owners/Managers
Advanced (6+ collections):
- Listings
- Categories
- Subcategories
- Locations (hierarchical)
- Amenities/Features
- Reviews/Ratings常见集合模式:
1. 博客架构:
极简(1个集合):
- 博客文章
标准(3个集合):
- 博客文章
- 作者
- 分类
高级(5+个集合):
- 博客文章
- 作者
- 分类
- 标签
- 主题/系列2. 电商架构:
极简(1个集合):
- 产品
标准(4个集合):
- 产品
- 分类
- 品牌
- 特性/规格
高级(7+个集合):
- 产品
- 分类
- 品牌
- 特性
- 评价
- 精选产品组
- 相关产品3. 作品集架构:
极简(1个集合):
- 项目
标准(3个集合):
- 项目
- 客户
- 服务/分类
高级(5+个集合):
- 项目
- 客户
- 服务
- 团队成员
- 使用的技术栈4. 目录架构:
极简(1个集合):
- 列表
标准(4个集合):
- 列表
- 分类
- 位置
- 所有者/管理者
高级(6+个集合):
- 列表
- 分类
- 子分类
- 位置(层级)
- 设施/特性
- 评价/评分Phase 5: Performance Optimization
阶段5:性能优化
Pagination Strategy:
Content Volume → Items Per Page:
- 0-50 items: No pagination needed
- 50-100 items: 20 items per page
- 100-500 items: 15-20 items per page
- 500-1000 items: 12-15 items per page
- 1000+ items: 10-12 items per page + advanced filteringImage Optimization:
Usage → Recommended Size:
- Thumbnail (grid cards): 400x300px
- Featured image (hero): 1200x800px
- Gallery images: 800x600px
- Background images: 1920x1080px
Format Priority:
1. WebP (best compression, modern browsers)
2. JPEG (photos, complex images)
3. PNG (transparency needed, simple graphics)
4. SVG (logos, icons, simple graphics)Reference Field Strategy:
Optimization Levels:
Level 1 - Display Only What's Needed:
❌ Binding entire author object: {{author}}
✅ Binding specific fields: {{author.name}}, {{author.photo}}
Level 2 - Denormalize Critical Data:
Instead of: Post → Author.name (2 queries)
Store: Post.author-name (1 query)
When: Performance critical + data rarely changes
Level 3 - Lazy Load Related Content:
Show main content immediately
Load related items on interaction (click, scroll)
Reduces initial page loadCollection List Optimization:
Best Practices:
1. Filter at Collection Level:
✅ Use native collection list filters
❌ Load all items then hide with conditionals
2. Limit Items:
✅ Set reasonable limit (12-20 items)
❌ Load unlimited items
3. Optimize Nested Lists:
✅ Limit nested collection lists to 3-5 items
❌ Nest multiple unlimited lists
4. Use Conditional Loading:
✅ Load content based on viewport
❌ Load everything upfront
5. Implement Pagination:
✅ Enable Webflow pagination or "Load More"
❌ Infinite scroll with all items分页策略:
内容体量 → 每页条目数:
- 0-50个条目:无需分页
- 50-100个条目:每页20个条目
- 100-500个条目:每页15-20个条目
- 500-1000个条目:每页12-15个条目
- 1000+个条目:每页10-12个条目 + 高级筛选图片优化:
用途 → 推荐尺寸:
- 缩略图(网格卡片):400x300px
- 特色图(Hero):1200x800px
- 图库图片:800x600px
- 背景图片:1920x1080px
格式优先级:
1. WebP(最佳压缩,现代浏览器支持)
2. JPEG(照片、复杂图片)
3. PNG(需要透明、简单图形)
4. SVG(标志、图标、简单图形)引用字段策略:
优化级别:
级别1 - 仅展示需要的内容:
❌ 绑定整个作者对象:{{author}}
✅ 绑定特定字段:{{author.name}}、{{author.photo}}
级别2 - 关键数据反规范化:
替代:文章 → Author.name(2次查询)
存储:Post.author-name(1次查询)
适用场景:性能要求极高 + 数据很少变化
级别3 - 懒加载相关内容:
立即显示主要内容
交互时(点击、滚动)加载相关条目
减少初始页面加载时间集合列表优化:
最佳实践:
1. 在集合层面筛选:
✅ 使用原生集合列表筛选
❌ 加载所有条目然后用条件隐藏
2. 限制条目数:
✅ 设置合理限制(12-20个条目)
❌ 加载无限条目
3. 优化嵌套列表:
✅ 嵌套集合列表限制为3-5个条目
❌ 嵌套多个无限列表
4. 使用条件加载:
✅ 根据视口加载内容
❌ upfront加载所有内容
5. 实施分页:
✅ 启用Webflow分页或“加载更多”
❌ 无限滚动加载所有条目Phase 6: SEO Best Practices
阶段6:SEO最佳实践
Collection Template SEO:
Required Fields:
1. SEO Title (dynamic from item name)
2. Meta Description (dynamic from summary/description)
3. OG Image (dynamic from featured image)
4. Canonical URL (automatic)
Recommended:
5. Schema.org structured data (JSON-LD)
6. Open Graph tags (Facebook/LinkedIn)
7. Twitter Card tags
8. Alt text for all imagesSlug Best Practices:
✅ Good Slugs:
- webflow-cms-best-practices
- ultimate-guide-to-seo
- 2026-web-design-trends
❌ Bad Slugs:
- Post1
- new-post-copy-3
- untitled-entry
Rules:
- Lowercase only
- Hyphens (not underscores)
- No special characters
- Descriptive (include keywords)
- Max 50-60 charactersStructured Data Implementation:
Common Types:
Blog Post (Article schema):
- headline, author, datePublished, image
- Use for: Blog posts, news articles
Product (Product schema):
- name, description, price, availability, image
- Use for: E-commerce products
Event (Event schema):
- name, startDate, location, organizer
- Use for: Events, webinars, conferences
Recipe (Recipe schema):
- name, ingredients, instructions, cookTime
- Use for: Recipe sites, food blogs
Local Business (LocalBusiness schema):
- name, address, phone, openingHours
- Use for: Directories, business listings集合模板SEO:
必填字段:
1. SEO标题(从条目名称动态获取)
2. Meta描述(从摘要字段动态获取)
3. OG图片(从特色图动态获取)
4. 规范URL(自动)
推荐:
5. Schema.org结构化数据(JSON-LD)
6. Open Graph标签(Facebook/LinkedIn)
7. Twitter Card标签
8. 所有图片添加alt文本Slug最佳实践:
✅ 好的Slug:
- webflow-cms-best-practices
- ultimate-guide-to-seo
- 2026-web-design-trends
❌ 差的Slug:
- Post1
- new-post-copy-3
- untitled-entry
规则:
- 仅小写
- 用连字符(而非下划线)
- 无特殊字符
- 描述性(包含关键词)
- 最多50-60字符结构化数据实施:
常见类型:
博客文章(Article schema):
- headline、author、datePublished、image
- 适用:博客文章、新闻文章
产品(Product schema):
- name、description、price、availability、image
- 适用:电商产品
活动(Event schema):
- name、startDate、location、organizer
- 适用:活动、网络研讨会、会议
食谱(Recipe schema):
- name、ingredients、instructions、cookTime
- 适用:食谱站点、美食博客
本地商家(LocalBusiness schema):
- name、address、phone、openingHours
- 适用:目录、商家列表Phase 7: Editorial Workflow
阶段7:编辑工作流
Content Editor Guidelines:
Field Usage Documentation:
Create guide for each collection:
Example - Blog Posts Collection:
1. Name* (required)
- Post title
- Keep under 60 characters for SEO
- Make it catchy and descriptive
2. Slug* (required)
- Auto-generated from name
- Can be edited for SEO optimization
- Use hyphens, lowercase only
3. Post Summary
- Brief description (160 characters max)
- Used for: Grid cards, meta description, social sharing
- Make it compelling - this is what users see first
4. Featured Image*
- Hero image for post
- Minimum size: 1200x800px
- Always add alt text for accessibility
5. Author*
- Select from Authors list
- Can't find author? Ask admin to create in Authors collection
... (document all fields)Required Field Checklist:
Before Publishing:
□ Name filled
□ Slug set (no generic slugs like "untitled")
□ Summary written (compelling, 160 chars)
□ Featured image uploaded with alt text
□ Author assigned
□ Category selected
□ Published date set
□ Content proofread
□ Links tested
□ Images optimized
□ SEO reviewedDraft → Published Workflow:
1. Create as Draft:
- Fill required fields minimum
- Save to preserve work
2. Complete Content:
- Write/upload all content
- Add images with alt text
- Set metadata
3. Internal Review:
- Proofread
- Check formatting
- Test links
- Verify references
4. Publish:
- Set published date
- Change from draft to published
- Verify on live site
- Share/promote
5. Ongoing:
- Update as needed
- Monitor performance
- Refresh outdated content
- Archive if no longer relevant内容编辑者指南:
字段使用文档:
为每个集合创建指南:
示例 - 博客文章集合:
1. 名称*(必填)
- 文章标题
- SEO建议不超过60字符
- catchy且描述性
2. Slug*(必填)
- 从名称自动生成
- 可编辑优化SEO
- 用连字符,仅小写
3. 文章摘要
- 简短描述(最多160字符)
- 用途:网格卡片、meta描述、社交分享
- 要有吸引力 - 这是用户第一眼看到的内容
4. 特色图*
- 文章Hero图
- 最小尺寸:1200x800px
- 始终添加alt文本以提升可访问性
5. 作者*
- 从作者列表选择
- 找不到作者?请管理员在作者集合中创建
...(记录所有字段)必填字段清单:
发布前:
□ 名称已填写
□ Slug已设置(无“untitled”这类通用Slug)
□ 摘要已撰写(有吸引力,160字符)
□ 特色图已上传并添加alt文本
□ 作者已分配
□ 分类已选择
□ 发布日期已设置
□ 内容已校对
□ 链接已测试
□ 图片已优化
□ SEO已审核草稿 → 发布工作流:
1. 创建草稿:
- 至少填写必填字段
- 保存以保留工作
2. 完成内容:
- 撰写/上传所有内容
- 添加带alt文本的图片
- 设置元数据
3. 内部审核:
- 校对
- 检查格式
- 测试链接
- 验证引用
4. 发布:
- 设置发布日期
- 从草稿改为已发布
- 线上站点验证
- 分享/推广
5. 持续维护:
- 按需更新
- 监控性能
- 刷新过时内容
- 不再相关则归档Phase 8: Migration Strategy
阶段8:迁移策略
When Refactoring Existing CMS:
Assessment Phase:
1. Audit Current Structure:
- List all collections
- Count items per collection
- Map relationships
- Identify problems
2. Design New Structure:
- Plan improvements
- Design new collections
- Define new relationships
- Create migration plan
3. Validate Approach:
- Test with sample data
- Verify relationships work
- Check performance
- Get stakeholder approvalMigration Approaches:
Approach 1: Parallel Build (Safest)
1. Build new collections alongside old
2. Migrate content gradually
3. Test thoroughly
4. Switch pages to new collections
5. Archive old collections
Pros:
✅ No downtime
✅ Easy rollback
✅ Test before fully committing
Cons:
❌ Temporarily doubled content
❌ Longer timeline
❌ Must manage both systems temporarilyApproach 2: Direct Migration (Faster)
1. Create new collections
2. Export data from old collections
3. Transform data format
4. Import to new collections
5. Update pages to use new collections
6. Delete old collections
Pros:
✅ Faster completion
✅ Clean cutover
✅ No duplicate content
Cons:
❌ Higher risk
❌ Potential downtime
❌ Harder to rollbackApproach 3: Hybrid (Recommended)
1. Create new structure
2. Migrate in batches (50-100 items)
3. Test each batch
4. Update pages incrementally
5. Monitor for issues
6. Complete full migration
Pros:
✅ Balanced risk/speed
✅ Can catch issues early
✅ Incremental testing
Cons:
❌ Requires careful planning
❌ More complex execution重构现有CMS时:
评估阶段:
1. 审核当前结构:
- 列出所有集合
- 统计每个集合的条目数
- 映射关联关系
- 识别问题
2. 设计新结构:
- 规划改进点
- 设计新集合
- 定义新关联关系
- 创建迁移计划
3. 验证方案:
- 用样本数据测试
- 验证关联关系正常工作
- 检查性能
- 获取利益相关方批准迁移方法:
方法1:并行构建(最安全)
1. 在旧结构旁构建新集合
2. 逐步迁移内容
3. 全面测试
4. 将页面切换到新集合
5. 归档旧集合
优点:
✅ 无停机
✅ 易于回滚
✅ 完全提交前可测试
缺点:
❌ 临时内容翻倍
❌ 时间线更长
❌ 需临时管理两个系统方法2:直接迁移(更快)
1. 创建新集合
2. 从旧集合导出数据
3. 转换数据格式
4. 导入到新集合
5. 更新页面使用新集合
6. 删除旧集合
优点:
✅ 完成速度快
✅ 清晰的切换
✅ 无重复内容
缺点:
❌ 风险更高
❌ 可能停机
❌ 回滚更难方法3:混合(推荐)
1. 创建新结构
2. 分批迁移(50-100个条目)
3. 测试每一批
4. 逐步更新页面
5. 监控问题
6. 完成全量迁移
优点:
✅ 风险/速度平衡
✅ 可提前发现问题
✅ 增量测试
缺点:
❌ 需要仔细规划
❌ 执行更复杂Phase 9: Troubleshooting Common Issues
阶段9:常见问题排查
Issue: "Collection won't save"
Possible causes:
1. Required field empty
2. Slug conflict (duplicate)
3. Invalid characters in slug
4. Reference pointing to deleted item
5. Field validation failing
Diagnosis:
- Check for red highlighted fields
- Verify slug is unique
- Test without optional fields
- Check browser console for errors
Fix:
- Fill all required fields
- Change slug to be unique
- Remove special characters
- Re-assign references
- Contact Webflow support if persistsIssue: "Reference field not showing options"
Possible causes:
1. Referenced collection has no items
2. Referenced collection items not published
3. Wrong collection selected in reference settings
4. Browser cache issue
Fix:
1. Create items in referenced collection first
2. Publish all items in referenced collection
3. Double-check reference field configuration
4. Clear cache and refreshIssue: "Collection list showing wrong items"
Possible causes:
1. Wrong collection selected
2. Filters configured incorrectly
3. Limit set too low
4. Items not published
5. Wrong CMS locale selected
Diagnosis:
- Check collection list settings
- Review filter conditions
- Check item publish status
- Verify correct locale
Fix:
- Select correct collection
- Adjust or remove filters
- Increase limit
- Publish items
- Switch to correct localeIssue: "Pagination not working"
Possible causes:
1. Pagination not enabled
2. Limit set equal to or greater than total items
3. JavaScript conflict
4. Custom code interfering
Fix:
1. Enable pagination in collection list settings
2. Set limit lower than total items (e.g., 20)
3. Test with all custom code disabled
4. Check for JavaScript errors in consoleIssue: "Multi-reference only showing first item"
Cause: Wrong display method
Fix:
Must use nested collection list:
❌ Direct text binding
✅ Collection List > Get items from [field] > Collection Item > Display
Example:
<Collection List - Posts>
<Collection Item - Post>
Tags:
<Collection List - Get items from Post > tags>
<Collection Item - Tag>
<Inline> {{tag.name}} </Inline>
</Collection Item>
</Collection List>
</Collection Item>
</Collection List>问题:“集合无法保存”
可能原因:
1. 必填字段为空
2. Slug冲突(重复)
3. Slug包含无效字符
4. 引用指向已删除条目
5. 字段验证失败
诊断:
- 检查红色高亮字段
- 验证Slug唯一
- 移除可选字段测试
- 检查浏览器控制台错误
修复:
- 填写所有必填字段
- 修改Slug为唯一
- 移除特殊字符
- 重新分配引用
- 若问题持续,联系Webflow支持问题:“引用字段不显示选项”
可能原因:
1. 引用的集合无条目
2. 引用的集合条目未发布
3. 引用设置中选择了错误的集合
4. 浏览器缓存问题
修复:
1. 先在引用的集合中创建条目
2. 发布引用集合的所有条目
3. 仔细检查引用字段配置
4. 清除缓存并刷新问题:“集合列表显示错误条目”
可能原因:
1. 选择了错误的集合
2. 筛选配置错误
3. 限制设置过低
4. 条目未发布
5. 选择了错误的CMS区域设置
诊断:
- 检查集合列表设置
- 查看筛选条件
- 检查条目发布状态
- 验证区域设置正确
修复:
- 选择正确的集合
- 调整或移除筛选
- 提高限制
- 发布条目
- 切换到正确的区域设置问题:“分页不工作”
可能原因:
1. 未启用分页
2. 限制设置等于或大于总条目数
3. JavaScript冲突
4. 自定义代码干扰
修复:
1. 在集合列表设置中启用分页
2. 设置限制低于总条目数(例如:20)
3. 禁用所有自定义代码测试
4. 检查控制台JavaScript错误问题:“多引用仅显示第一个条目”
原因:显示方法错误
修复:
必须使用嵌套集合列表:
❌ 直接文本绑定
✅ 集合列表 > 从[字段]获取条目 > 集合条目 > 展示
示例:
<集合列表 - 文章>
<集合条目 - 文章>
标签:
<集合列表 - 从文章 > tags获取条目>
<集合条目 - 标签>
<内联元素> {{tag.name}} </内联元素>
</集合条目>
</集合列表>
</集合条目>
</集合列表>Phase 10: Advanced Techniques
阶段10:高级技巧
Conditional Display Based on References:
Use Case: Show different layouts based on category
Implementation:
1. Add conditional visibility to elements
2. Condition: Category = "Video Posts"
3. Show video player layout
4. Condition: Category = "Image Posts"
5. Show image gallery layout
Limitation: Can only check one value at a time
Alternative: Use option field with class name, apply class dynamicallyScheduled Publishing:
Implementation:
1. Add "Published Date" field (Date/Time)
2. In collection list settings:
- Add filter: Published Date ≤ Current Date
3. Set future dates on items to schedule
Benefits:
- No plugins needed
- Native Webflow functionality
- Items auto-appear on set date
Limitation: Items exist but filtered, not truly unpublishedDynamic Sorting:
Option 1: Manual Sort Order
- Add "Sort Order" number field
- Manually assign: 1, 2, 3, 4...
- Sort collection list by Sort Order (ascending)
Option 2: Auto Sort by Engagement
- Add "View Count" number field
- Increment on page view (requires custom code)
- Sort by View Count (descending) for "Popular" lists
Option 3: Date-Based Sorting
- Sort by Published Date (descending) for "Recent"
- Sort by Created Date for "Chronological"
- Combine with filters for "This Month's Top Posts"Multi-Lingual Content:
Approach 1: Separate Collections per Language
- Blog Posts EN
- Blog Posts ES
- Blog Posts FR
Pros: Simple, native Webflow
Cons: Must duplicate structure, harder to maintain
Approach 2: Language Field + Filter
- Add "Language" option field (EN, ES, FR)
- Filter collection lists by language
- Use URL parameter or cookie for language switch
Pros: Single structure, easier to maintain
Cons: All content in one collection
Approach 3: Webflow Localization (CMS Plan+)
- Use Webflow's native localization
- Create secondary locales
- Translate CMS content per locale
Pros: Official solution, best SEO
Cons: Requires CMS plan+, setup complexitySearch Functionality:
Option 1: Native (Limited)
- Use filter inputs on collection lists
- Basic keyword matching only
- No fuzzy search or relevance ranking
Option 2: Finsweet CMS Filter (Free)
- Client-side search and filtering
- Works with existing collection lists
- Multiple simultaneous filters
- Requires JavaScript
Option 3: Algolia/Custom (Advanced)
- Server-side search with AI
- Typo-tolerance, synonyms
- Fast and scalable
- Requires integration, costs money
Recommendation:
- <100 items: Native or Finsweet
- 100-1000 items: Finsweet
- 1000+ items: Consider Algolia基于引用的条件显示:
使用场景:根据分类显示不同布局
实施:
1. 为元素添加条件可见性
2. 条件:分类 = “视频文章”
3. 显示视频播放器布局
4. 条件:分类 = “图片文章”
5. 显示图片库布局
限制:一次只能检查一个值
替代方案:使用选项字段加类名,动态应用类定时发布:
实施:
1. 添加“发布日期”字段(日期/时间)
2. 在集合列表设置中:
- 添加筛选:发布日期 ≤ 当前日期
3. 为条目设置未来日期以定时发布
优点:
- 无需插件
- Webflow原生功能
- 条目在设定日期自动显示
限制:条目存在但被筛选,并非真正未发布动态排序:
选项1:手动排序
- 添加“排序顺序”数字字段
- 手动分配:1、2、3、4...
- 集合列表按排序顺序升序排序
选项2:按互动自动排序
- 添加“浏览量”数字字段
- 页面浏览时递增(需自定义代码)
- 按浏览量降序排序打造“热门”列表
选项3:基于日期排序
- 按发布日期降序排序打造“最新”列表
- 按创建日期排序打造“ chronological”列表
- 结合筛选打造“本月热门文章”多语言内容:
方法1:按语言分集合
- Blog Posts EN
- Blog Posts ES
- Blog Posts FR
优点:简单,Webflow原生支持
缺点:必须重复结构,维护更难
方法2:语言字段 + 筛选
- 添加“语言”选项字段(EN、ES、FR)
- 集合列表按语言筛选
- 使用URL参数或Cookie切换语言
优点:单一结构,维护更易
缺点:所有内容在一个集合中
方法3:Webflow本地化(CMS方案及以上)
- 使用Webflow原生本地化
- 创建次要区域设置
- 按区域设置翻译CMS内容
优点:官方解决方案,SEO最佳
缺点:需要CMS方案及以上,设置复杂搜索功能:
选项1:原生(有限)
- 在集合列表上使用筛选输入
- 仅基础关键词匹配
- 无模糊搜索或相关性排名
选项2:Finsweet CMS Filter(免费)
- 客户端搜索和筛选
- 适用于现有集合列表
- 支持同时多个筛选条件
- 需要JavaScript
选项3:Algolia/自定义(高级)
- 服务器端AI搜索
- 容错拼写、同义词
- 快速且可扩展
- 需要集成,付费
推荐:
- <100个条目:原生或Finsweet
- 100-1000个条目:Finsweet
- 1000+个条目:考虑AlgoliaProduction Checklist
生产环境清单
Before launching CMS-driven site:
Structure:
- All collections created with proper field types
- Required fields set appropriately
- Help text added for content editors
- Relationships configured correctly
- Self-references working properly
- Validation rules set on text fields
Content:
- Test items created for all collections
- All reference fields populated in test items
- Images optimized (size, format, alt text)
- Slugs follow naming conventions
- Published dates set on items
- Draft items clearly marked
Pages:
- Collection lists limited appropriately (12-20 items)
- Pagination enabled on large lists
- Filters configured correctly
- Multi-reference fields use nested collection lists
- Conditional visibility works as expected
- Empty states handled gracefully
SEO:
- Collection template has SEO title binding
- Meta descriptions bound to summary fields
- OG images bound to featured images
- Structured data implemented (if applicable)
- Alt text present on all images
- Slugs are SEO-friendly
Performance:
- Images lazy loading enabled
- Only displayed reference fields bound
- Collection lists use filters (not conditional hiding)
- Pagination prevents loading too many items
- Performance tested on mobile
- Lighthouse score >80
Documentation:
- Field usage guide created for editors
- Collection structure documented
- Relationship map created
- Publishing workflow defined
- Troubleshooting guide available
- Contact for technical support identified
Testing:
- All collection lists display correctly
- Pagination works
- Filters work
- Search works (if implemented)
- Reference fields display data
- Multi-reference lists show all items
- Empty states handled
- Mobile experience tested
- Cross-browser tested
- Performance benchmarked
Launch:
- Content editors trained
- Editorial calendar established
- Publishing workflow in place
- Monitoring setup (analytics, errors)
- Backup strategy defined
- Support plan in place
CMS驱动站点上线前:
结构:
- 所有集合已创建,字段类型正确
- 已适当设置必填字段
- 已为内容编辑者添加帮助文本
- 关联关系配置正确
- 自引用正常工作
- 文本字段已设置验证规则
内容:
- 已为所有集合创建测试条目
- 测试条目的所有引用字段已填充
- 图片已优化(尺寸、格式、alt文本)
- Slug遵循命名规范
- 条目已设置发布日期
- 草稿条目已明确标记
页面:
- 集合列表已合理限制(12-20个条目)
- 大型列表已启用分页
- 筛选配置正确
- 多引用字段使用嵌套集合列表
- 条件可见性正常工作
- 空状态已优雅处理
SEO:
- 集合模板已绑定SEO标题
- Meta描述已绑定到摘要字段
- OG图片已绑定到特色图
- 已实施结构化数据(如适用)
- 所有图片有alt文本
- Slug符合SEO友好
性能:
- 已启用图片懒加载
- 仅绑定显示的引用字段
- 集合列表使用筛选(而非条件隐藏)
- 分页防止加载过多条目
- 已在移动端测试性能
- Lighthouse评分>80
文档:
- 已为编辑者创建字段使用指南
- 已记录集合结构
- 已创建关联关系图
- 已定义发布工作流
- 已有故障排查指南
- 已确定技术支持联系人
测试:
- 所有集合列表显示正确
- 分页正常工作
- 筛选正常工作
- 搜索正常工作(若已实施)
- 引用字段显示数据
- 多引用列表显示所有条目
- 空状态已处理
- 移动端体验已测试
- 跨浏览器已测试
- 已做性能基准测试
上线:
- 已培训内容编辑者
- 已建立编辑日历
- 已落实发布工作流
- 已设置监控(分析、错误)
- 已定义备份策略
- 已制定支持计划
undefined