ทำภายใต้ Sub Directory บน Hosting ลูกค้าเลย เช่น http://www.domain.com/2017/
เพื่อป้องกันปัญหาของ hosting ในแต่ละเจ้าที่ตั้งค่าไม่เหมือนกัน และลูกค้าสามารถดูแบบ live ก่อน online
พอ Online จริง ย้ายไฟล์ .htaccess และ index.php ออกมาไว้ที่ root และ แก้ไข path ในไฟล์
พร้อมกับตั้งค่าใน WordPress ที่ setting > Site Address (URL)
- ถ้าจะย้ายไฟล์ทั้ง Sub Directory ออกมาไว้ที่ root =ก่อนย้ายก้เข้าไป setting ที่อยู่ของ path แล้วลากไฟล์ทั้งหมดไปไว้ที่ root เลย แค่นี้น่าจะย้ายได้เลย
- ถ้าจะทำเว็บไซต์ WordPress ที่ปรับแต่งค่าต่างๆแล้ว ไว้เป็นต้นฉบับ1 เว็บ แล้วเวลาลูกค้าต้องการก็เพียงแค่คลิก ก็จะได้เว็บไซต์แบบต้นฉบับให้ลูกค้าเลย =ถ้าเรื่องดีไซน์ก้ทำธีมออกแบบเป็นต้นฉบับไว้ แล้วก้ทำ dummy content ด้วย เวลาไปติดตั้งแล้วค่อย import ทีเดียว ก็จะได้เว็บพร้อมเนื้อหาเป็นตัวอย่างให้ลูกค้าดูและแก้ไขข้อมูลเอง
ถ้าใน root ผมมีหลายๆ sub domain
หรือหลายโฟล์เดอร์ ผมก็จะใช้วิธีติดตั้งใน sub folder แทนการโยนไฟล์ทั้งหมดไว้ที่ root
เหตุผลเดียวคือ ความเป็นระเบียบครับ
แต่ถ้าเว็บนั้นมีแค่เว็บหลักเว็บเดียว ผมก็จะโยนไฟล์ไว้ที่. Root เลย
แล้วก้ใช้. Plug in พวก maintenance หรือ Password ป้องกันคนทั่วไปเข้าชมเว็บ
ส่วนลูกค้าก้ให้ Password ไป ก้ดูเว็บได้แล้ว
All-in-One WP Migration สะดวกดีครับ แต่อาจต้องเสียเวลาลง WordPress เปล่าๆก่อนย้ายหน่อยนะครับ แต่เรื่องการตั้งค่า หรือ เนื้อหา มาสวยงามดีเลยครับ ถ้าขนาดไม่เกิน 512 ก็ฟรี
ถ้าสนใจว่า WordPress แนะนำยังไง ลองดูที่ Moving WordPress
- ทำแบบที่ว่ามาได้ครับ ถ้าเอาตามมาตรฐานเลยลองอ่าน Giving WordPress Its Own Directory
- ถ้าย้ายไฟล์เฉยๆ แล้วเปลี่ยน config สิ่งที่จะมีปัญหาตามมาคือ
- รูปที่อยู่ใน Post ต่างๆ มักจะอ้างอิง Path เดิมอยู่ครับ ต้องไล่แก้ (Search & Replace)
- พวก Widget ต่างๆ ที่เคยทำไว้ จะหายไป ต้องทำใหม่ เพราะค่า Serialize มันเปลี่ยน (คือการเข้ารหัสของ WordPress)
- ดังนั้น เรามักใช้ปลั๊กอินช่วยย้ายครับ ที่ผมว่าง่ายสุดๆ เลยคือ All-in-One WP Migration หรือถ้า Geek หน่อยก็ WP Migrate DB
- ของ SeedThemes จะให้ทุกธีมทำไฟล์แบบนี้ไว้ด้วยอย่างน้อย 1 ชุดครับ ผมเรียกว่า “เว็บเริ่มต้น” เป็นไฟล์ที่ Export มาจาก All-in-One WP Migration ลงเนื้อหาและติดตั้งปลั๊กอินทุกอย่างให้เรียบร้อย
https://wordpress.org/plugins/better-search-replace/ เห็นว่ารองรับ Serialize ด้วย
==
วิธีเปลี่ยนชื่อ Domain ใน WordPress
การเปลี่ยนชื่อเว็บไซต์ หรือทำการย้าย WordPress ไปยัง URL ใหม่ หรือย้ายไปยัง Directory ใปหม่หรือ Sub-Domain ใหม่ถือว่าทุกกรณีเป็นการเปลี่ยนชื่อ URL หรือชื่อโดเมน
ปกติเมื่อทำการโอนย้าย File และ Database แล้วเว็บไซต์จะทำงานผิดปรกติทันที
-เปิดเว็บ error หาหน้าไม่เจอ
-หากเปิดได้ URL ที่คลิกในหน้าเว็บก็จะถูก Link ไปยัง Domain เดิม หรือ URL เดิม
– ไม่สามารถ Login หน้า wp-admin เพื่อเข้าตั้งค่า wordpressได้วิธีแก้
* วิธีการนี้บางจุดเป็นการส่งข้อมูลเข้ายังฐานข้อมูลโดยตรง ก่อนเริ่มกรุณาทำ Backup ไว้ก่อนเพิ่อความปลอดภัย
1. ระบุชื่อโดเมนใหม่ในไฟล์ wp-config.php
โดยการเพิ่ม code 2 บรรทัดนี้
define('WP_HOME','http://newdomain.com');
define('WP_SITEURL','http://newdomain.com');2. ระบุชื่อโดเมนใหม่ ในไฟล์ functions.php ของธีมที่ใช้งาน
โดยการเพิ่ม code 2 บรรทัดนี้ลงไป (ที่บรรทัดแรกจะพบ “<?php” ให้เว้นลงมา 1 บรรทัดแล้วใส่ต่อลงมาเลย)
update_option('siteurl','http://newdomain.com');
update_option('home','http://newdomain.com');ตัวอย่าง
หากเราใช้ Theme หลักชื่อ twentyfifteen
ไฟล์ functions.php จะอยู่ที่ /home/user/domains/yourdomain.com/public_html/wp-content/themes/twentyfifteen/functions.php* ในกรณีที่ใน themes ทีใช้งานไม่มีไฟล์ functions.php
ให้ทำการสร้างขึ้นมาใหม่วางไว้ในแฟ้ม themes นั้นๆ แล้วใส่ code ดังนี้
<?php
update_option('siteurl','http://newdomain.com');
update_option('home','http://newdomain.com');
?>3. เมื่อทำข้อ 1 และ 2 เรียบร้อยแล้ว จะสามารถเปิดเว็บไซต์ได้แล้ว แต่รูปภาพ vdo หรือไฟล์จะ Media Library บางตัวอาจยังไม่แสดงผลหรือทำงานไม่สมบูรณ์ Link บางตัวในบทความอาจยังมีชื่อโดเมนเด่าติดอยู่ วิธีแก้ไขสามารถทำได้โดยใช้ plugin ชื่อ better search replace (หรือตัวอื่นก็ได้ที่ทำหน้าที่คล้ายกัน)
เมื่อติดตั้งและเปิดใช้งาน plugin เรียบร้อย จาก WordPress Dashboard ให้คลิกที่ Menu Tools และเลือก Better Search Replace
ที่หน้าเครื่องมือนี้ให้ใส่ช่อง Search for เป็นชื่อโดเมนเดิม และ Replace With เป็นชื่อโดเมนใหม่ จากนั้นคลิก Run ปุ่มสีฟ้า รอจนกระบวนการเสร็จสิ้น จากนั้นตรวจสอบความถูกต้องของเว็บไซต์อีกครั้งครับ
ลองทำเเล้ว โพสท์ error ลองโพสใหม่ก็ error
ต้องแก้ที่ permalink ให้เป็น plain
(น่าจะเกิดจาก .htaccess เดิม)ถ้าโฮสเดียวกันก็จะไม่ได้แก้ไขเรื่อง mysql db
ก็เข้าไป phpmyadmin แล้วกดไปตรง table ชื่อ wp_options เสร็จแล้วก็แก้ url ตรง siteurl(ในกรณีที่โฮสคนละที่ก็ Export mydql db เก่ามาก่อน แล้วสร้าง mysql db อันใหม่แล้วก็ Import mysql นั้นลงไปยัง mysql db อันใหม่นะครับ) Velvet Blues Update URLs ใช้ง่าย