วิธีย้าย WordPress ไปโดเมนใหม่
จุดอ่อนสำคัญของ WordPress สิ่งหนึ่งก็คือ เราไม่สามารถย้ายเว็บจากชื่อโดเมนเดิมเป็นชื่อใหม่ได้ง่ายนัก เนื่องจากตัวฐานข้อมูลที่มีการเก็บข้อมูลถึงระดับการเก็บชื่อโดเมน
ซึ่งคำแนะนำจาก wordpress.org ก็คือให้ทำการ export post และ page จากเว็บเก่าออกมาทั้งหมด แล้วทำการลง WordPress ใหม่ที่โดเมนใหม่พร้อมทั้งตั้งค่า ลง Plugins ให้เหมือนกับเว็บใหม่ แล้วจึงค่อย import post กับ page มายังเว็บใหม่ ซึ่งเป็นวิธีที่ยุ่งยากและใช้เวลานานมาก
แนวทางอีกแนวทางนึง คือ เปลี่ยนชื่อโดเมนในฐานข้อมูลเองเลย ดังนี้
1. สำรองข้อมูล ทั้งตัวเว็บและฐานข้อมูล ก่อนทำ (สำคัญมากๆ)
2. คัดลอกไฟล์เว็บและฐานข้อมูลของโดเมนเก่าทั้งหมดย้ายไปยังโดเมนใหม่
3. แก้ไขไฟล์ wp-config.php ให้ตรงกับโดเมนและฐานข้อมูลใหม่
4. เปิด phpMyAdmin ไปที่ฐานข้อมูล WordPress ของเว็บใหม่ แล้วไปที่ตาราง wp_posts และ ให้แก้ไขชื่อโดเมนให้เป็นโดเมนใหม่ของเราที่ฟิลด์ option_name ที่มีค่าเป็น siteurl และ home
5. เปิด phpMyAdmin ไปที่ฐานข้อมูล WordPress ของเว็บ แล้วไปที่หน้า SQL จากนั้นให้พิมพ์คำสั่งเพื่อทำการเปลี่ยนโดเมนใหม่ทั้งหมดดังนี้
สมมติ
โดเมนเก่าคือ http://www.cymiz.com
พาธของเว็บเก่าคือ /home/xxx/domain/cymiz.com/public_html
โดเมนใหม่คือ http://www.jongjarern.com
พาธของเว็บใหม่คือ /home/xxx/domain/jongjarern.com/public_html)
UPDATE wp_posts SET guid = replace(guid, 'http://www.cymiz.com','http://www.jongjarern.com');
UPDATE wp_posts SET post_content = replace(post_content, 'http://www.cymiz.com','http://www.jongjarern.com');
UPDATE wp_postmeta SET meta_value = replace(meta_value, '/home/xxx/domain/cymiz.com/public_html', '/home/xxx/domain/jongjarern.com/public_html');
6. หลังจากนี้อาจจะยังมีโดเมนเก่าค้างคาอยู่กับ Plugins บางตัวหรือบางจุดในฐานข้อมูล แนวทางการแก้ไขคือ ให้เรา Search ชื่อโดเมนเราจากใน phpMyAdmin และทำการแก้ไขทีละตัวด้วยตัวเอง หรือจะแก้ไขคำสั่ง SQL ข้างบนเพื่อเปลี่ยนชื่อโดเมนก็ได้ แต่ระวังอย่าไปยุ่งกับข้อมูลที่เป็น Serialize เป็นอันขาดถ้าไม่เข้าใจจริง มิฉะนั้นอาจจะทำให้เว็บมีปัญหาได้
7. ลองเปิดเว็บทดสอบดูว่ายังมีปัญหาที่จุดไหนอีกบ้างหรือเปล่า
วิธีนี้ก็เป็นวิธีการย้าย WordPress ไปยังโดเมนใหม่อย่างรวดเร็วด้วยการแก้ที่ฐานข้อมูลโดยตรง ที่ทำให้ประหยัดเวลาขึ้นอีกเยอะถ้าเว็บมีขนาดใหญ่และซับซ้อนครับ แต่อย่าลืมก่อนทำต้องทำการสำรองข้อมูลทั้งตัวเว็บและฐานข้อมูลก่อนด้วย