Di chuyển WordPress Multisite thành Signal site không dùng Plugin

Không thể phụ nhận lợi ích của Wordpress multisite mang lại, nhưng vì một lý do nào đó mà bạn muốn chuyển một trang con trong mạng thành một site riêng biệt.

Bắt Đầu Nào

Để thuận tiện cho bạn, hãy điền thông tin của bạn vào bên dưới

Id web

Bước 1. Xuất dữ liệu của site con chuyển đi

  • Xác định ID của site con cần chuyển. Trong trường hợp của tôi, trang con cần chuyển có ID là =5=.
  • Truy cập vào cơ sở dữ liệu và xuất các bảng thuộc trang con có ID là =5= và 2 bảng wp_users, wp_usermeta.

Mẹo: Tic chọn bảng wp_=5=_ đầu tiên, nhấn giữ Shift, kéo xuống bảng wp_=5=_ cuối cùng và click vào đó. thả phím Shift ra. Tiếp tục tìm và tic chọn 2 bảng wp_userswp_usermeta.

image

Sau khi tic chọn xong, kéo xuống cuối trang, click vào nút Thực hiện để xuất dữ liệu.

Bước 2. Chỉnh sửa tên bảng cơ sở dữ liệu

Trong bước này, bạn phải đổi tên các bảng cơ sở dữ liệu từ wp_=5=_ thành wp_ vì chúng sẽ là các bảng chính cho trang web. Điều này trái ngược với các bảng phụ cho một trang web bổ sung.

Khi cơ sở dữ liệu đã được tải xuống đầy đủ, hãy mở tệp SQL trong trình soạn thảo văn bản và thực hiện tìm kiếm và thay thế:

  • Từ wp_=5=_ thành wp_
  • Từ /uploads/sites/=5=/ thành /uploads/

Xin lưu ý: Nếu bạn đang sử dụng cấu trúc tên miền phụ hoặc thư mục con của Multisite, thì bạn sẽ muốn thay đổi các giá trị URL trong các hàng cơ sở dữ liệu “siteurl” và “home” trong bảng “wp_options” thành URL trang web mới.

image

Điều này sẽ thay thế các tên bảng cơ sở dữ liệu duy nhất và không có gì khác trong văn bản tập tin.

Lưu tệp và đóng trình soạn thảo văn bản.

Bước 3. Tạo trang web mới (cùng vps)

Có hai trường hợp là sử dụng old.domain cũ hoặc bạn có new.domain mới để chuyển sang. Nếu bạn sử dụng chính domain cũ, vậy trước hết ngắt kết nối domain với site con bằng cách xóa và tạo mới.

Trong trường hợp của mình là nginx + webinoly, với các nền tảng khác thì các bạn nhập các lệnh sao cho phù hợp nhé. Lưu ý, các lệnh xóa và tạo site bên dưới là của webinoly

  • Xóa domain site con
    sudo site =DOMAIN= -delete
  • Tạo website wp
    sudo site =DOMAIN= -wp -cache=on
  • Tạo SSL
    sudo site =DOMAIN= -ssl=on
    Giờ đây bạn đã có thể truy cập =DOMAIN= với cài đặt wp mặc định.

Bước 4. Sao chép các nội dung các thư mục quan trọng sang =DOMAIN=.

Ta cần sao chép các thư mục quan trọng như Plugins, Themes, Upload (hình ảnh) từ site cũ sang =DOMAIN=

  • Di chuyển tới thư mục wp-content trên site cũ
    cd /var/www/mainsite/htdocs/wp-content/
  • Copy thư mục Plugin
    cp -av plugins/ /var/www/=DOMAIN=/htdocs/wp-content/
  • Copy thư mục Themes
    cp -av themes/ /var/www/=DOMAIN=/htdocs/wp-content/
  • Copy thư mục upload
    cp -av uploads/site/=5=/ /var/www/=DOMAIN=/htdocs/wp-content/uploads/ # thay bằng id của bạn

:warning: Lưu ý: Thư mục hình ảnh cũ sẽ nằm trong wp-content/uploads/sites/=5=, hãy sao chép nó vào wp-content/uploads/ trên site mới =DOMAIN=. Để tránh mất seo hình ảnh, bạn cũng có thể sao chép thư mục hình ảnh như site cũ wp-content/uploads/site/=5=/ trên site mới.

Bước 5. Import data

Import qua Myphpadmin

Bây giờ bạn đã có cơ sở dữ liệu được sửa đổi cho một trang web, hãy vào wp-config.php để xem tên database được tạo khi tạo web ở bước 3.

Đăng nhập qua phpMyAdmin và import data đã sửa ở bước 2

Import qua ssh

Upload tệp data đã sửa ở bước 2 lên thư mục root sau đó dùng lệnh
cd # trở về thư mục gốc
mysql ten_data < file_data_upload.sql

Bước 6. Gỡ lỗi

Lỗi thường xảy ra ở bước bạn import cơ sở dữ liệu. Nếu bạn gặp trường hợp này, đừng lo lắng. Truy cập vào Myphpadmin, sau đó sao chép cơ sở dữ liệu từ data gốc qua nút Thao tác.

  • Trong dữ liệu mới, Tìm và xóa tất cả các bảng wp_x_ ngoại trừ wp_=5=_wp_
  • Đổi tên hai bảng wp_userswp_usermeta thành wp_=5=_users, wp_=5=_usermeta.
  • Mở file wp-config.php, thay đổi $table_prefix = 'wp_'; thành $table_prefix = 'wp_=5=_';

Lưu lại và xem kết quả nhé. :tada: