เอกสารภายใน · TODO: ลบหน้านี้ (app/migrate) ก่อน launch จริง

Migration Plan

ย้าย WP มา server ตัวเอง + เชื่อมกับ vibe โดยไม่แตะของเก่า — พลัง SEO ปีที่แล้วอยู่ครบ ไม่ต้อง 301

ข้อค้นพบ (จาก WP REST จริง)

bearrun.in.th = บล็อกวิ่ง 108 โพสต์ ~95% เป็นคอนเทนต์ ไม่ใช่เว็บลิสต์งาน. พลัง SEO กองที่บทความในโครง category เดิม.
77
running-article
บทความเทคนิค/ซ้อม
37
running-talk
เล่าประสบการณ์/รีวิว
13
running-event
งานที่ผ่านมา (เขียนถึง)
8
running-shoe-review
รีวิวรองเท้า
7
running-news
ข่าว
6
อุปกรณ์/Hoka/uncat
เบ็ดเตล็ด

สถาปัตยกรรม

Home + ระบบงานวิ่ง vibe (Next)
slug ใหม่ /events, /event/... — ของใหม่ forward-looking
บล็อกเก่า (108 โพสต์) WordPress — คงเดิม
ทุก URL/category อยู่ที่เดิม ไม่แตะ → พลัง SEO ครบ ไม่ต้อง 301
บล็อกใหม่ WordPress /blog/...
parent category 'blog' (permalink เดิม category-based) เริ่มอันดับใหม่
โดเมนเดียว bearrun.in.th reverse proxy
แยก path: WP ↔ vibe

คีย์: ไม่ต้อง 301

Proxy routing

path เหล่านี้ → WordPress, ที่เหลือทั้งหมด → vibe (Next)
/blog/*/running-article/*/running-talk/*/running-shoe-review/*/running-news/*/running-event/*/wp-*/wp-json/*

ขั้นตอน

  1. 1ย้าย WP จากโฮสต์พี่เค้า → server ตัวเอง (lift-and-shift, domain+URL เหมือนเดิม)
  2. 2ใช้ปลั๊กอิน migration (All-in-One WP Migration / Duplicator) — clone ทั้งก้อน DB+ไฟล์+รูป+ธีม. ❌ ไม่ใช่ XML export (ได้แค่ content)
  3. 3เทสต์บน server ใหม่ก่อน (temp URL/hosts) ให้เว็บครบ → ค่อยชี้ DNS + ตั้ง SSL → เก็บ server เก่าจน propagate
  4. 4ตั้ง reverse proxy (Cloudflare/Nginx/Vercel rewrites): WP paths → WordPress, ที่เหลือ → vibe
  5. 5สร้าง parent category 'blog' ใน WP → โพสต์ใหม่ลงตรงนี้ = /blog/...
  6. 6vibe ดึงบทความผ่าน WP REST API มาโชว์ (fetcher — ยังไม่ทำ)