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ảngwp_users
,wp_usermeta
.
Mẹo: Tic chọn bảng
wp_=5=_
đầu tiên, nhấn giữ Shift, kéo xuống bảngwp_=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ảngwp_users
vàwp_usermeta
.
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ànhwp_
- 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.
Đ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
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àowp-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=_
vàwp_
- Đổi tên hai bảng
wp_users
vàwp_usermeta
thànhwp_=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é.