เอกสารภายใน · 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
- ย้าย server แต่ domain+URL เหมือนเดิม → Google แทบไม่รู้ → SEO ไม่กระทบ
- บล็อกเก่าคงทุก URL ไว้ → ไม่มีอะไรต้อง redirect
- บล็อกใหม่ใช้ namespace /blog/ แยก → ไม่ชนของเก่า ไม่ cannibalize
- เลิกแผนเดิม (301 พันลิงก์ map old→new) — ไม่จำเป็น เพราะไม่ restructure ของเก่า
Proxy routing
path เหล่านี้ → WordPress, ที่เหลือทั้งหมด → vibe (Next)
/blog/*/running-article/*/running-talk/*/running-shoe-review/*/running-news/*/running-event/*/wp-*/wp-json/*ขั้นตอน
- 1ย้าย WP จากโฮสต์พี่เค้า → server ตัวเอง (lift-and-shift, domain+URL เหมือนเดิม)
- 2ใช้ปลั๊กอิน migration (All-in-One WP Migration / Duplicator) — clone ทั้งก้อน DB+ไฟล์+รูป+ธีม. ❌ ไม่ใช่ XML export (ได้แค่ content)
- 3เทสต์บน server ใหม่ก่อน (temp URL/hosts) ให้เว็บครบ → ค่อยชี้ DNS + ตั้ง SSL → เก็บ server เก่าจน propagate
- 4ตั้ง reverse proxy (Cloudflare/Nginx/Vercel rewrites): WP paths → WordPress, ที่เหลือ → vibe
- 5สร้าง parent category 'blog' ใน WP → โพสต์ใหม่ลงตรงนี้ = /blog/...
- 6vibe ดึงบทความผ่าน WP REST API มาโชว์ (fetcher — ยังไม่ทำ)