- shares
- Facebook Messenger
- Gmail
- Viber
- Skype
Di chuyển website WordPress sang WordPress hosting khác hoặc bạn mua tên miền mới và muốn chuyển từ tên miền cũ không sử dụng. Bài viết này sẽ hướng dẫn bạn từng bước làm sao để sao lưu WordPress và di chuyển sang tên miền mới.
Trong blog này chúng tôi có khá nhiều bài viết, hướng dẫn các phương thức giúp bạn sao lưu WordPress an toàn.
Bạn cũng nên xem bài:
- Di chuyển website wordpress sang hosting khác
- Hướng dẫn cài đặt mã nguồn wordpress từ localhost lên host an toàn
Đổi tên miền cho website WordPress
Trong trường hợp bạn không cài đặt WordPress sử dụng duplicator, hay những plugins sao lưu WordPress khác, bạn có thể sử dụng cách sao lưu WordPress thông thường nhưng cũng rất an toàn. Bạn sao chép toàn bộ tệp & thư mục public_html, sang máy tính hoặc nơi lưu trữ cloud.
Sao lưu WordPress
Để thực hiện bạn đăng nhập vào cPanel, và zip toàn bộ thư mục của website. Tiếp theo bạn cần tải bản sql mới nhất, bạn có thể dễ dàng export .sql với sự trợ giúp của phpMyAdmin.
Nếu bạn có quyền truy cập SSH vào hosting, với những website có dữ liệu lớn cách dùng lệnh SQL sẽ tốt hơn:
mysqldump --all-databases --single-transaction --quick --lock-tables=false > full-backup-$(date +%F).sql -u root -p
Nếu bạn muốn tách cấu trúc tables và dữ liệu, sử dụng 2 lệnh SQL sau:
# export tables no data mysqldump -d -u demohoangdata -p837939 demohoangdata > /home/demodata/schema.sql # export data mysqldump --complete-insert=TRUE --extended-insert=FALSE --protocol=TCP -t -h localhost -P 3306 -u demohoangdata -p demohoangdata > /home/demodata/data.sql
Xem thêm mysqldump
Thay tên miền & Hosting cho WordPress
Sau khi bạn đã sao lưu toàn bộ WordPress, bạn tiến hành up toàn bộ file nén lên Hosting mới và giải nén vào thư mục public_html/. Nếu bạn chỉ đổi tên miền vẫn dữ hosting cũ, thì bỏ bước này. Lưu ý: nếu dung lượng hosting của bạn hạn chế có thể chi nhỏ file nén , sau mỗi lần tải lên để tránh đạt giới hạn lưu trữ tệp sau khi giải nén zip bạn hãy xóa chúng đi.
Tiếp đến, bạn import file .sql vào CSQL WordPress. Có 2 cách làm, cách đơn giản nhất là bạn sử dụng giao diện quản lý database phpMyAdmin. Truy cập vào cPanel, chuyển đến mục phpMyAdmin nhấn vào liên kết, bạn được chuyển sang trang mới, tại trang này sẽ hiển thị danh sách các CSQL , lưu ý chọn đúng database của site WordPress để làm việc. Trên giao diện phpMyAdmin chọn nút Import.
Chọn tệp .sql từ máy tính và nhấn vào Import để bắt đầu nhập dữ liệu. Lưu ý: phpMyAdmin giới hạn import file với kích hoạt < = 50M, nếu file .sql tải về của bạn vượt quá dung lượng cho phép, bạn cần chia nhỏ .sql thành nhiều file với dung lượng cho phép bởi phpMyAdmin. Vì Với share hosting không cho phép bạn sửa cấu hình phpMyAdmin, do vậy bạn chỉ có thể dùng cách này.
Mọi thông tin về tên miền cũ, bao gồm liên kết URL trong bài viết, hình ảnh media có lưu dạng absolute URL sẽ cần thay đổi sang domain mới. Bạn có thể sử dụng lệnh .sql để thay thế hàng loạt. Mình thường sử dụng những lệnh dưới đây:
update wp_options set option_value=REPLACE(option_value,"http://netbuy.vn","http://newdomain.com"); update wp_posts set guid=REPLACE(guid,"http://netbuy.vn","http://newdomain.com"); update wp_posts set post_content=REPLACE(post_content,"http://netbuy.vn","http://newdomain.com"); update wp_postmeta set meta_value=REPLACE(meta_value,"http://netbuy.vn","http://newdomain.com"); update wp_wfHits set URL=REPLACE(URL,"http://netbuy.vn","http://newdomain.com"); update wp_wfHits set referer=REPLACE(referer,"http://netbuy.vn","http://newdomain.com"); update wp_usermeta set meta_value=REPLACE(meta_value,"http://netbuy.vn","http://newdomain.com");
Nhớ thay bằng tên miền và tiền tố bảng prefix của bạn trước khi thực thi lệnh SQL. Tuy nhiên dùng cách này sẽ không an toàn , các dữ liệu mảng được mã hóa bởi hàm PHP serialize. Dữ liệu này lưu ở bảng wp_options
, để sửa chuỗi mảng mã hóa bạn có thể tìm và sửa nó với cách sau.
Mở phpMyAdmin , mở bảng wp_options & tìm các dòng có chữa mảng serialize. Bạn giải mã mảng và sửa lại mảng PHP bằng cách thay sang tên miền mới.
<?php $arr = unserialize($str); //sửa mảng, VD $arr['footer'] = str_replace('http://oldomain', 'http://newdomain', $arr['footer']); echo serialize($arr);
Sao chép chuỗi mã hóa mới và cập nhật thay đổi vào CSQL. Với website nhỏ cách này giúp bạn dễ dàng sửa Mysql , thay nội dung sang tên miền mới, nhưng bạn không thể thực hiện đối với những website có dữ liệu vài MB. Không chỉ sửa bảng wp_options, URL có thể nằm ở những tables khác, vậy phải làm sao?
Để thực hiện với CSQL lớn, bạn sử dụng code PHP để sử lý, nguyên lý là tìm và thay thế chuỗi hàng loạt cho từng dòng/cột dữ liệu có trong bảng Mysql. Tải file wp-modifydb.php và upload lên hosing của bạn vào thư mục public_html/.
Gợi ý: Vì liên quan đến bảo mật WordPress bạn nên đổi tên wp-modifydb.php sang tên khó nhớ.
Mở tệp này trên trình duyệt:
Nhập thông tin kết nối CSQL WordPress, lưu ý nếu tìm thấy tệp cấu hình wp-config.php , sẽ tự động nhập thông tin kết nối từ WordPress. Làm theo từng bước, bạn có thể chọn bàng cần sửa hoặc để mặc định.
Lưu ý: nếu bạn chạy file này từ hosting khác hoặc localhost, bạn cần mở kết nối MySQL ra ngoài. cPanel có sẵn tính năng này, sử dụng biểu tượng Remote MySQL trong cPanel, nhập IP của bạn hoặc ‘%’ nếu bạn không chắc chắn./p>
Sau khi bạn thay thế bảng với chuỗi hàng loạt, bạn cần kiểm tra xem tên miền mới và WordPress có chạy đúng chưa, nếu tất cả đều hoạt động chính xác hãy xóa file này đi, để tránh người khác thay đổi dữ liệu của bạn một lần nữa.
Hãy cho mình biết suy nghĩ của bạn trong phần bình luận bên dưới bài viết này. Hãy theo dõi kênh chia sẻ kiến thức WordPress của Hoangweb trên Twitter và Facebook
- shares
- Facebook Messenger
- Gmail
- Viber
- Skype
Định Vị Xe Máy says
đã đổi tên miền thành cong, tất cả là nhờ bạn, cảm ơn bạn đã chia sẻ