วิธีการย้าย Wordpress ไปยังโดเมนใหม่

RSS Feed

จุดอ่อนสำคัญของ 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.wingfoss.com ส่วนพาธของเว็บเก่าคือ /home/wingfoss/domain/wingfoss.com/public_html และโดเมนใหม่คือ http://www.wingfoss.in.th ส่วนพาธของเว็บใหม่คือ /home/wingfoss/domain/wingfoss.in.th/public_html)
    UPDATE wp_posts SET guid = replace(guid, 'http://www.wingfoss.com','http://www.wingfoss.in.th');
    UPDATE wp_posts SET post_content = replace(post_content, 'http://www.wingfoss.com', 'http://www.wingfoss.in.th');
    UPDATE wp_postmeta SET meta_value = replace(meta_value, '/home/wingfoss/domain/wingfoss.com/public_html', '/home/wingfoss/domain/wingfoss.in.th/public_html');
  6. หลังจากนี้อาจจะยังมีโดเมนเก่าค้างคาอยู่กับ Plugins บางตัวหรือบางจุดในฐานข้อมูล แนวทางการแก้ไขคือ ให้เรา Search ชื่อโดเมนเราจากใน phpMyAdmin และทำการแก้ไขทีละตัวด้วยตัวเอง หรือจะแก้ไขคำสั่ง SQL ข้างบนเพื่อเปลี่ยนชื่อโดเมนก็ได้ แต่ระวังอย่าไปยุ่งกับข้อมูลที่เป็น Serialize เป็นอันขาดถ้าไม่เข้าใจจริง มิฉะนั้นอาจจะทำให้เว็บมีปัญหาได้
  7. ลองเปิดเว็บทดสอบดูว่ายังมีปัญหาที่จุดไหนอีกบ้างหรือเปล่า

วิธีนี้ก็เป็นวิธีการย้าย Wordpress ไปยังโดเมนใหม่อย่างรวดเร็วด้วยการแก้ที่ฐานข้อมูลโดยตรง ที่ทำให้ประหยัดเวลาขึ้นอีกเยอะถ้าเว็บมีขนาดใหญ่และซับซ้อนครับ แต่อย่าลืมก่อนทำต้องทำการสำรองข้อมูลทั้งตัวเว็บและฐานข้อมูลก่อนด้วย ไม่งั้นอาจจะเสียน้ำตาทีหลังเอาได้นะครับ

ปล.เว็บ wingfoss.in.th ใช้ Drupal ในการทำ แต่ไม่เขียนบทความเกี่ยวกับ Drupal บ้างเลยแฮะ ฮ่วย!!!

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Lines and paragraphs break automatically.
  • Allowed HTML tags: <a> <br> <cite> <code> <dd> <div> <dl> <dt> <em> <img> <li> <ol> <p> <span> <strong> <ul>
    Allowed Style properties: color, font, font-family, font-size, font-style, font-weight, text-align
  • You can enable syntax highlighting of source code with the following tags: <blockquote>, <code>, <pre>, <apache>, <bash>, <c>, <cpp>, <css>, <drupal5>, <drupal6>, <html>, <java>, <javascript>, <mysql>, <php>, <python>, <ruby>, <smarty>. The supported tag styles are: <foo>, [foo].
  • Image links with 'rel="lightbox"' in the <a> tag will appear in a Lightbox when clicked on.

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.