Changes: - Add FAL_KEY and GEMINI_API_KEY to .env.example - Update picture-it to use ~/.config/opencode/.env (unified creds) - Remove shodh-memory skill (no longer used) - Remove alphaear-* skills (deprecated) - Remove thai-frontend-dev skill (replaced by website-creator) - Remove theme-factory skill - Add mql-developer skill (MQL5 trading) - Add ecommerce-astro skill (Astro e-commerce) - Add website-creator skill (Next.js + Payload CMS) - Update install script for new skills
313 lines
8.4 KiB
Markdown
313 lines
8.4 KiB
Markdown
# Sitemap Template
|
|
|
|
สร้าง sitemap ตามคำตอบจาก pre-project questions
|
|
|
|
---
|
|
|
|
## Basic Sitemap Structure
|
|
|
|
```
|
|
/
|
|
├── index # Home (หน้าแรก)
|
|
├── about # About Us (เกี่ยวกับเรา)
|
|
├── services/ # Services Index (รายการบริการ)
|
|
│ ├── index # Services list
|
|
│ └── [slug] # Service detail page
|
|
├── blog/ # Blog Index (รายการบทความ)
|
|
│ ├── index # Blog list
|
|
│ └── [slug] # Blog post page
|
|
├── contact # Contact (ติดต่อ)
|
|
├── privacy-policy # Privacy Policy (นโยบายความเป็นส่วนตัว)
|
|
├── terms-of-service # Terms of Service (เงื่อนไขการให้บริการ)
|
|
├── login # Login (เข้าสู่ระบบ)
|
|
├── register # Register (สมัครสมาชิก)
|
|
├── account/ # Account Dashboard (หน้าบัญชีผู้ใช้)
|
|
│ ├── index # Dashboard overview
|
|
│ ├── profile # Edit profile
|
|
│ ├── orders # Order history
|
|
│ └── settings # Account settings
|
|
├── (optional modules...)
|
|
```
|
|
|
|
---
|
|
|
|
## Optional Modules
|
|
|
|
### Blog Module
|
|
```
|
|
/blog/
|
|
├── index # All posts
|
|
├── [slug] # Single post
|
|
└── category/[category]/ # Filter by category
|
|
└── index
|
|
```
|
|
|
|
### Portfolio Module
|
|
```
|
|
/portfolio/
|
|
├── index # Gallery overview
|
|
└── [slug] # Single portfolio item
|
|
```
|
|
|
|
### Product Catalog Module
|
|
```
|
|
/products/
|
|
├── index # Product listing
|
|
├── [slug] # Product detail
|
|
└── category/[category]/ # Filter by category
|
|
└── index
|
|
```
|
|
|
|
### FAQ Module
|
|
```
|
|
/faq/
|
|
└── index # FAQ page (accordion style)
|
|
```
|
|
|
|
### Team Module
|
|
```
|
|
/team/
|
|
├── index # Team list
|
|
└── [slug] # Team member profile
|
|
```
|
|
|
|
### Pricing Module
|
|
```
|
|
/pricing/
|
|
└── index # Pricing plans page
|
|
```
|
|
|
|
### Careers Module
|
|
```
|
|
/careers/
|
|
├── index # Job listings
|
|
└── [slug] # Job detail
|
|
```
|
|
|
|
---
|
|
|
|
## SEO Sitemap Structure
|
|
|
|
### XML Sitemap (sitemap.xml)
|
|
```xml
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
|
<url>
|
|
<loc>{SITE_URL}/</loc>
|
|
<lastmod>{DATE}</lastmod>
|
|
<changefreq>weekly</changefreq>
|
|
<priority>1.0</priority>
|
|
</url>
|
|
<url>
|
|
<loc>{SITE_URL}/about/</loc>
|
|
<lastmod>{DATE}</lastmod>
|
|
<changefreq>monthly</changefreq>
|
|
<priority>0.8</priority>
|
|
</url>
|
|
<!-- เพิ่มทุกหน้าที่ต้องการ index -->
|
|
</urlset>
|
|
```
|
|
|
|
### robots.txt
|
|
```
|
|
User-agent: *
|
|
Allow: /
|
|
|
|
Sitemap: {SITE_URL}/sitemap.xml
|
|
|
|
# Block admin areas
|
|
Disallow: /admin/
|
|
Disallow: /api/
|
|
Disallow: /account/
|
|
```
|
|
|
|
---
|
|
|
|
## Page Meta Template
|
|
|
|
สร้าง meta information สำหรับแต่ละหน้า:
|
|
|
|
| Page | Title (TH) | Title (EN) | Description (TH) | Keywords |
|
|
|------|-----------|-----------|-----------------|----------|
|
|
| Home | {SITE_NAME} - {TAGLINE} | {SITE_NAME} | {DESCRIPTION} | {KEYWORDS} |
|
|
| About | เกี่ยวกับ {SITE_NAME} | About Us | {DESCRIPTION} | {KEYWORDS} |
|
|
| Services | บริการของ {SITE_NAME} | Our Services | {DESCRIPTION} | {KEYWORDS} |
|
|
| Blog | บทความ | Blog | {DESCRIPTION} | {KEYWORDS} |
|
|
| Contact | ติดต่อ {SITE_NAME} | Contact Us | {DESCRIPTION} | {KEYWORDS} |
|
|
| Privacy Policy | นโยบายความเป็นส่วนตัว | Privacy Policy | {DESCRIPTION} | privacy, pdpa, {KEYWORDS} |
|
|
| Terms | เงื่อนไขการให้บริการ | Terms of Service | {DESCRIPTION} | terms, {KEYWORDS} |
|
|
|
|
---
|
|
|
|
## Content Structure Example
|
|
|
|
```
|
|
src/
|
|
├── content/
|
|
│ ├── pages/
|
|
│ │ ├── home.md
|
|
│ │ ├── about.md
|
|
│ │ ├── contact.md
|
|
│ │ ├── privacy-policy.md
|
|
│ │ └── terms-of-service.md
|
|
│ ├── blog/
|
|
│ │ ├── post-1.md
|
|
│ │ ├── post-2.md
|
|
│ │ └── ...
|
|
│ ├── services/
|
|
│ │ ├── service-1.md
|
|
│ │ └── ...
|
|
│ └── team/
|
|
│ ├── member-1.md
|
|
│ └── ...
|
|
├── layouts/
|
|
│ ├── BaseLayout.astro
|
|
│ ├── PageLayout.astro
|
|
│ ├── BlogLayout.astro
|
|
│ └── AuthLayout.astro
|
|
├── components/
|
|
│ ├── Navigation.astro
|
|
│ ├── Footer.astro
|
|
│ ├── Hero.astro
|
|
│ ├── ServiceCard.astro
|
|
│ ├── BlogCard.astro
|
|
│ ├── ContactForm.astro
|
|
│ ├── CookieConsent.astro
|
|
│ └── ...
|
|
└── pages/
|
|
├── index.astro
|
|
├── about.astro
|
|
├── services/
|
|
│ ├── index.astro
|
|
│ └── [slug].astro
|
|
├── blog/
|
|
│ ├── index.astro
|
|
│ └── [slug].astro
|
|
├── contact.astro
|
|
├── privacy-policy.astro
|
|
├── terms-of-service.astro
|
|
├── login.astro
|
|
├── register.astro
|
|
└── account/
|
|
├── index.astro
|
|
├── profile.astro
|
|
├── orders.astro
|
|
└── settings.astro
|
|
```
|
|
|
|
---
|
|
|
|
## Navigation Structure
|
|
|
|
### Desktop Navigation
|
|
```
|
|
[Logo] Home | Services | Blog | About | Contact [Login] [Register]
|
|
```
|
|
|
|
### Mobile Navigation (Hamburger)
|
|
```
|
|
☰ [Logo]
|
|
─────────
|
|
Home
|
|
Services
|
|
Blog
|
|
About
|
|
Contact
|
|
─────────
|
|
Login
|
|
Register
|
|
```
|
|
|
|
---
|
|
|
|
## Footer Structure
|
|
```
|
|
[Logo + Tagline]
|
|
|
|
[Links Column 1] [Links Column 2] [Links Column 3] [Contact]
|
|
- หน้าแรก - บริการ - บทความ - {ADDRESS}
|
|
- เกี่ยวกับเรา - ผลงาน - คำถามที่พบบ่อย - {PHONE}
|
|
- ติดต่อเรา - ติดต่อ - นโยบายความเป็นส่วนตัว - {EMAIL}
|
|
- สมัครสมาชิก - เงื่อนไขการให้บริการ
|
|
|
|
Copyright (c) {YEAR} {SITE_NAME} | Built with Astro
|
|
```
|
|
|
|
---
|
|
|
|
## JSON-LD Structured Data
|
|
|
|
### Organization Schema
|
|
```json
|
|
{
|
|
"@context": "https://schema.org",
|
|
"@type": "Organization",
|
|
"name": "{SITE_NAME}",
|
|
"url": "{SITE_URL}",
|
|
"logo": "{SITE_URL}/logo.png",
|
|
"description": "{DESCRIPTION}",
|
|
"address": {
|
|
"@type": "PostalAddress",
|
|
"streetAddress": "{ADDRESS}",
|
|
"addressLocality": "{CITY}",
|
|
"addressCountry": "TH"
|
|
},
|
|
"contactPoint": {
|
|
"@type": "ContactPoint",
|
|
"telephone": "{PHONE}",
|
|
"contactType": "customer service"
|
|
}
|
|
}
|
|
```
|
|
|
|
### LocalBusiness Schema (ถ้ามีร้านค้า)
|
|
```json
|
|
{
|
|
"@context": "https://schema.org",
|
|
"@type": "LocalBusiness",
|
|
"name": "{SITE_NAME}",
|
|
"image": "{SITE_URL}/og-image.jpg",
|
|
"priceRange": "{PRICE_RANGE}",
|
|
"address": {...},
|
|
"openingHoursSpecification": {...},
|
|
"aggregateRating": {...}
|
|
}
|
|
```
|
|
|
|
### WebSite Schema
|
|
```json
|
|
{
|
|
"@context": "https://schema.org",
|
|
"@type": "WebSite",
|
|
"name": "{SITE_NAME}",
|
|
"url": "{SITE_URL}",
|
|
"potentialAction": {
|
|
"@type": "SearchAction",
|
|
"target": "{SITE_URL}/search?q={search_term_string}",
|
|
"query-input": "required name=search_term_string"
|
|
}
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
## Notes
|
|
|
|
- ทุกหน้าต้องมี:
|
|
- Title tag (unique)
|
|
- Meta description (unique)
|
|
- Open Graph tags
|
|
- Canonical URL
|
|
- Structured data (ถ้าเหมาะสม)
|
|
|
|
- หน้า Privacy Policy และ Terms of Service ต้องมี:
|
|
- วันที่มีผลบังคับใช้
|
|
- วันที่แก้ไขล่าสุด
|
|
- ข้อมูล DPO
|
|
- ลิงก์ถึงกัน
|
|
|
|
- หน้า Contact ต้องมี:
|
|
- แบบฟอร์มติดต่อ (ทำงานจริง)
|
|
- ข้อมูลติดต่อ (ที่อยู่, โทร, อีเมล)
|
|
- แผนที่ (ถ้ามีร้านค้า)
|