Files
moreminimore-new/CONTENT-GUIDE.md
2026-04-22 06:57:23 +07:00

3.4 KiB

Content Guide - MoreminiMore Website

Overview

This website uses Astro 6 with Content Collections for managing blog posts and pages.

Content Structure

src/content/
├── blog/
│   ├── post-1.md
│   ├── post-2.md
│   └── ...
└── config.ts          # Content collection definitions

Adding New Blog Posts

  1. Create a new .md file in src/content/blog/
  2. Use the frontmatter template below:
---
title: "Your Post Title"
description: "SEO description for this post"
pubDate: 2026-04-22
image: "/images/blog/your-image.jpg"
tags: ["tag1", "tag2"]
---

Your content here...

Frontmatter Fields

Field Type Required Description
title string Yes Post title
description string Yes SEO meta description
pubDate Date Yes Publication date
image string Yes Hero image path (16:9 recommended)
tags string[] No Tags for categorization

Images

Blog Post Images

  • Location: public/images/blog/
  • Aspect ratio: 16:9
  • Recommended size: 1200x675px or larger
  • Formats: JPG, PNG, WebP

Service Page Images

  • Location: public/images/services/
  • Each service has dedicated images:
    • hero.jpg - Hero section
    • about.jpg - About section
    • feature-1.jpg, feature-2.jpg, etc.

Homepage Images

  • Location: public/images/
  • hero-home.jpg - Main hero
  • about-home.jpg - About section
  • contact-home.jpg - Contact section

Page Structure

Static Pages

  • src/pages/index.astro - Homepage
  • src/pages/about-us.astro - About page
  • src/pages/contact-us.astro - Contact page
  • src/pages/faq.astro - FAQ page
  • src/pages/portfolio.astro - Portfolio page

Service Pages

  • src/pages/web-development.astro
  • src/pages/marketing-automation.astro
  • src/pages/ai-automation.astro
  • src/pages/tech-consult.astro

Blog

  • src/pages/blog/index.astro - Blog listing
  • src/pages/blog/[slug].astro - Individual post (dynamic)
  • src/pages/privacy-policy.astro
  • src/pages/terms-and-conditions.astro

Admin

  • src/pages/admin/consent-logs.astro - Cookie consent logs

Content Collections (Astro DB)

Blog Collection

const blogCollection = defineCollection({
  type: 'content',
  schema: z.object({
    title: z.string(),
    description: z.string(),
    pubDate: z.date(),
    image: z.string(),
    tags: z.array(z.string()).optional(),
  }),
});

Adding New Pages

  1. Create .astro file in src/pages/
  2. Import and use Layout:
---
import Layout from '../layouts/Layout.astro';
---
<Layout title="Page Title" description="SEO description">
  <main>
    <!-- Your content -->
  </main>
</Layout>

SEO Best Practices

  1. Title: Keep under 60 characters
  2. Description: Keep under 160 characters
  3. Images: Always include alt text
  4. Headings: Use proper heading hierarchy (h1 → h2 → h3)

Thai Content

All content is in Thai language. When adding new content:

  • Use Thai characters
  • Follow Thai writing conventions
  • Include Thai punctuation

Testing Content

# Run development server
npm run dev

# Build for production
npm run build

# Preview production build
npm run preview

Content Review Checklist

Before publishing:

  • Proofread Thai content
  • Check all images load correctly
  • Verify links work
  • Test on mobile view
  • Check page titles and descriptions