Skip to content Skip to main navigation Skip to footer

Sử dụng WP CLI để Export/Import Post giữ nội dung và hình ảnh

Giới thiệu chung

Sử dụng WP CLI để Export/Import Post như thế nào?. Có rất nhiều bạn khi sử dụng WordPress thực hiện di chuyển nội dung website từ web này sang web kia (Mình xin ví dụ là web A và web B). Các bạn sử dụng công cụ Export có sẳn của WordPress để xuất ra một file *.xml (Extensible Markup Language) tuy nhiên khi bạn mang file *.xml này dang Web B thì khi import vào chỉ có nội dung và không có hình ảnh đi kèm. Vậy để giải quyết vấn đề này thì với bài viết hôm nay mình sẽ hướng dẫn bạn sử dụng một công cụ là WP CLI để export và import file. Trước khi bắt đầu vào chủ đề hãy cùng mình tìm hiểu sơ qua về những tính năng và đặc điểm của định dạng file này.

sử dụng WP CLI để Export/Import Post

Đặc điểm của file XML

  • XML được dùng cho dữ liệu có cấu trúc.
  • Về trực quan thì fike XML khá giống với HTML.
  • Tuy là văn bản, nhưng XML không phải dùng để đọc.
  • XML thường rất dài.
  • XML được coi là cầu nối đưa HTML tới XHTML và là nền tảng cho RDF và Web mã hóa.
  • XML là một module.
  • XML miễn phí bản quyền, platform độc lập và được hỗ trợ rất tốt.

Ưu điểm của XML

Ưu điểm lớn nhất của XML chính là sự độc lập. Điều này cũng rất dễ hiểu, vì XML được sử dụng để mô tả dữ liệu dưới dạng text, nên hầu hết các phần mềm hay các chương trình bình thường đều có thể đọc được định dạng file này.

XML có thể đọc và phân tích nguồn dữ liệu khá dễ dàng nên nó được sử dụng với mục đích chính là trao đổi dữ liệu giữa các chương trình, các hệ thống khác nhau. XML được sử dụng cho Remote Procedure Calls nhằm phục vụ cho các dịch vụ của website.

Song song đó là nhược điểm của XML

Tỷ lệ sai sót khi sử dụng XML để truyền dữ liệu khoảng từ 5-7%. Con số này tuy không quá cao, nhưng trên thực tế, người dùng vẫn cần cân nhắc trước khi sử dụng nó để trao đổi thông tin.

Vì sao mình lại sử dụng WP CLI thay vì sử dụng công cụ Import có sẳn trong WordPress. Vì không phải máy chủ hosting nào cũng đủ mạnh để bạn import, nhất là khi số lượng post của bạn quá nhiều, lên đến vài trăm, vài ngàn thì khi bạn import ở giao diện sẽ mất rất nhiều thời gian, nếu máy chủ không đáp ứng đủ sẽ hiện cảnh báo như là (request time out, 503.. đây là những mã lỗi http cơ bản)

Và ảnh bên dưới là web mình thực hiện.

  1. Web 1: demo1 (Giao diện web, post hoàn chỉnh có hình ảnh)
  2. Web 2: demo2 (WordPress mặc định)
WP CLI để Export/Import Post

Các bước thực hiện

Mình sẽ thực hiện xuất nội dung và hình ảnh của web demo1 sang web demo2. Và bạn cần lưu ý web A hoạt động để Web B get ảnh qua nhé.

Bước 1: Sử dụng cli để xuất file (Export file)

Trước tiên bạn cần xác định được website bạn đang nằm ở thư mục đường dẫn nào, bạn hãy vào mục Domain(Tên miền) để xác định thư mục lưu trữ.

  • web demo1.dotrungquan.net có đường dẫn lưu mã nguồn là demo1.dotrungquan.net
  • web demo2.dotrungquan.net có đường dẫn lưu mã nugồn là demo2.dotrungquan.net
sử dụng WP CLI để Export/Import Post

Khi đã xác định được đường dẫn lưu mã nguồn. Bạn truy cập vào cPanel, di chuyển đến Terminal, đây là giao diện command thao tác qua dòng lệnh, bạn thực hiện di chuyển vào thư mục bằng lệnh cd.

AZDIGI
cd demo1.dotrungquan.net
wp export

Giải thích lệnh:

  • cd demo1.dotrungquan.net (di chuyển vào thư mục có tên là demo1.dotrungquan.net)
  • wp export (xuất file wordpress)

Khi hoàn tất bạn sẽ nhận được thông báo hoàn tất với một file có định dạng xml.

Bước 2: Sử dụng cli để nhập file (import file)

Đầu tiên bạn hãy download file *.xml về và tải lên web B. Khi đã tải lên xong bạn thực hiện cài đặt 2 plugin sau, đó là wordpress importer(hỗ trợ import) và automatic upload image(hỗ trợ get ảnh)

  1. WordPress Importer
  2. Automatic Upload Images

Nếu bạn cài Plugin thủ công hãy xem hướng dẫn cài Plugin sau

Do mình đang hướng dẫn trên command line nên mình sẽ thực hiện cài đặt, kích hoạt với lệnh sau.

AZDIGI
wp plugin install wordpress-importer --activate
wp plugin install automatic-upload-images --activate

Sau khi đã cài đặt/kích hoạt xong bạn thực hiện import file *.xml đã tải lên bằng lệnh sau.

Lưu ý: Thay file-name.xml bằng tên file bạn đã xuất ra trước đó.

AZDIGI
cd demo2.dotrungquan.net
wp import file-name.xml --authors=create

Chú thích lệnh:

  1. cd demo2.dotrungquan.net (di chuyển vào thư mục demo2.dotrungquan.net)
  2. wp import file-name.xml –authors=create (cú pháp để import file với option authors=create sẽ tự động tạo user theo file )

Tùy vào số lượng bài viết để xác định thời giạn thực hiện. Như ảnh trên là mình đang import 13/228 bài post. Sau khi import hoàn tất bạn hãy truy cập web B để kiểm tra nhé.

Đây là thành quả thực hiện của mình. Do mình không cài theme theo đúng của web A mà sử dụng theme mặc định của WordPress nên hiển thị không đẹp, tuy nhiên vẫn thành công trong việc Export/Import. Hi vọng với bài viết trên sẽ giúp bạn thực hiện thành công.

  • Hotline 247: 028 730 24768 (Ext 0)
  • Ticket/Email: Bạn dùng email đăng ký dịch vụ gửi trực tiếp về: support@azdigi.com