# 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: ```markdown --- 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) ### Legal - `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 ```typescript 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: ```astro --- import Layout from '../layouts/Layout.astro'; ---
``` ## 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 ```bash # 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