Đổi domain WordPress

Tạo sẵn câu lệnh SQL để đổi domain cũ sang domain mới.

Dữ liệu vào

Kết quả

Công cụ Đổi domain WordPress sinh sẵn bộ câu lệnh SQL để thay toàn bộ tên miền cũ bằng tên miền mới trong cơ sở dữ liệu WordPress. Bạn điền domain cũ, domain mới và tiền tố bảng, rồi dán khối lệnh nhận được vào phpMyAdmin hoặc dòng lệnh MySQL - không phải nhớ cú pháp UPDATE ... REPLACE nào cả.

Đổi tên miền WordPress không chỉ là sửa hai dòng home và siteurl. Đường dẫn cũ còn nằm rải rác trong nội dung bài viết, trong guid của từng bài, và trong các trường meta do theme hay plugin sinh ra. Bỏ sót một chỗ là ảnh vỡ, link nội bộ trỏ về domain cũ, hoặc trang chuyển hướng vòng.

Khối lệnh do công cụ sinh ra chạm đúng bốn bảng cần thiết: wp_options cho home và siteurl, wp_posts cho guid và post_content, và wp_postmeta cho các trường meta. Tiền tố bảng có thể đổi, vì nhiều bản cài WordPress không dùng wp_ mặc định.

Đây là tình huống hay gặp khi đẩy site từ localhost lên hosting, khi chuyển từ tên miền tạm của nhà cung cấp sang tên miền chính thức, hoặc khi nâng site từ http lên https.

Bộ lệnh sinh ra làm những gì

  • Cập nhật home và siteurl

    Sửa hai tuỳ chọn gốc trong wp_options - thứ quyết định WordPress tự nhận mình đang ở địa chỉ nào.

  • Thay đường dẫn trong nội dung bài

    Quét post_content của mọi bài và trang, đổi mọi liên kết và đường dẫn ảnh còn trỏ về domain cũ.

  • Sửa guid của bài viết

    Cập nhật trường guid để các bản sao lưu và công cụ nhập/xuất không còn tham chiếu tên miền cũ.

  • Quét bảng meta

    Thay đường dẫn trong wp_postmeta, nơi theme và page builder cất phần lớn cấu hình của chúng.

  • Tiền tố bảng tuỳ chỉnh

    Điền đúng tiền tố của bản cài đặt, không mặc định phải là wp_.

Cách đổi domain cho WordPress

  1. Sao lưu cơ sở dữ liệu trước

    Xuất một bản dump đầy đủ trước khi chạy bất kỳ lệnh nào. Lệnh UPDATE không thể hoàn tác, và bản sao lưu là cách quay lui duy nhất.

  2. Điền domain cũ

    Nhập đúng địa chỉ đang lưu trong cơ sở dữ liệu, kèm http hoặc https và không có dấu gạch chéo ở cuối.

  3. Điền domain mới

    Nhập địa chỉ đích theo đúng định dạng đó. Nếu chuyển sang https thì phần giao thức cũng phải đổi theo.

  4. Điền tiền tố bảng

    Mặc định là wp. Kiểm tra giá trị $table_prefix trong file wp-config.php nếu bạn không chắc.

  5. Chạy khối lệnh SQL

    Sao chép khối lệnh, dán vào tab SQL của phpMyAdmin hoặc vào dòng lệnh MySQL, rồi thực thi.

  6. Xoá cache và kiểm tra lại

    Xoá cache của plugin và của CDN, sau đó mở vài bài viết để chắc chắn ảnh và liên kết nội bộ đã trỏ đúng.

Câu hỏi thường gặp về đổi domain WordPress

Chạy khối lệnh này có làm hỏng website không?

Lệnh chỉ thay chuỗi domain cũ bằng domain mới trong bốn bảng của WordPress, nhưng UPDATE thì không hoàn tác được. Luôn xuất một bản sao lưu cơ sở dữ liệu trước khi chạy.

Vì sao không sửa mỗi home và siteurl là xong?

Vì đường dẫn cũ còn nằm trong nội dung bài viết, trong guid và trong các trường meta của theme hay plugin. Chỉ sửa hai tuỳ chọn đó thì trang chủ vào được nhưng ảnh vẫn vỡ và liên kết nội bộ vẫn trỏ về tên miền cũ.

Domain cũ có phải ghi kèm http hay https không?

Có. Hãy ghi đúng như chuỗi đang nằm trong cơ sở dữ liệu. Nếu bạn đồng thời chuyển từ http sang https thì đó cũng chính là phần cần được thay.

Tiền tố bảng của tôi không phải wp_ thì sao?

Điền tiền tố thật vào ô tương ứng, công cụ sẽ sinh lệnh theo đúng tên bảng đó. Giá trị này nằm ở dòng $table_prefix trong wp-config.php.

Dữ liệu tôi nhập có được gửi đi đâu không?

Không. Khối lệnh được ghép ngay trong trình duyệt của bạn; công cụ không gọi máy chủ và không giữ lại tên miền bạn nhập.

Sau khi chạy xong cần làm gì nữa?

Xoá cache của plugin và CDN, vào lại Cài đặt > Đường dẫn tĩnh rồi bấm Lưu để nạp lại luật rewrite, và kiểm tra vài bài viết có ảnh để chắc chắn không còn đường dẫn cũ.

Công cụ liên quan

Thường dùng cùng khi chuyển website: