Export bài viết bao gồm hình ảnh trong WordPress dễ

Export bai viet bao gom hinh anh

Tại sao cần Export bài viết bao gồm hình ảnh trong WordPress

Chắc hẳn nhiều anh em đã từng gặp tình huống phải chuyển toàn bộ website WordPress từ hosting cũ sang hosting mới, hoặc từ tên miền này sang tên miền khác. Việc di chuyển dữ liệu tưởng chừng đơn giản nhưng lại phát sinh rất nhiều vấn đề, đặc biệt là khi website có hàng ngàn bài viết kèm theo hình ảnh.

Mình từng giao cho một bạn intern mới vào nghề chuyển hơn 2000 bài viết từ website WordPress cũ sang website mới. Bạn ấy dùng công cụ Export mặc định của WordPress, sau đó Import sang website mới. Kết quả là toàn bộ hình ảnh trong bài viết đều bị hỏng, hiện lên như những chiếc ảnh broken. Bạn ấy phải ngồi manually import từng ảnh lại theo hướng dẫn từ bài Import hình ảnh bên ngoài về WordPress. Với 2000 bài viết, công việc này tốn hàng giờ đồng hồ và liên tục gặp lỗi 500 do server quá tải.

Vấn đề cốt lõi ở đây là: công cụ Export/Import mặc định của WordPress chỉ chuyển nội dung text (đoạn văn, link, metadata), nhưng KHÔNG tự động download và gắn hình ảnh đi kèm. Hình ảnh vẫn trỏ về URL của website cũ, nếu website cũ bị xóa thì toàn bộ ảnh sẽ bị mất.

Giải pháp: Dùng plugin Export media with selected content

Sau nhiều lần thử nghiệm, mình tìm được giải pháp tối ưu nhất là sử dụng plugin Export media with selected content. Plugin này hoạt động dựa trên công cụ Export mặc định của WordPress nhưng có thêm tùy chọn cho phép bạn bundle toàn bộ hình ảnh đi kèm với bài viết vào cùng một file XML. Khi Import sang website mới, hình ảnh sẽ được tự động download và gắn vào bài viết đúng vị trí.

Hướng dẫn chi tiết từng bước

Bước 1: Chuẩn bị website đích (website mới)

Trước khi bắt đầu, bạn cần đảm bảo website đích đã được cài đặt WordPress mới tinh hoặc sẵn sàng nhận dữ liệu mới. Nếu website mới đã có sẵn dữ liệu mà bạn muốn xóa sạch, hãy dùng plugin WP Reset PRO để reset nhanh chóng. Thao tác thủ công xóa từng bài viết với 2000 bài là cực kỳ mất thời gian và dễ gây lỗi database. WP Reset cho phép bạn xóa toàn bộ posts, pages, attachments, custom post types chỉ trong vài cú click.

Export bài viết bao gồm hình ảnh  -  minh hoạ bước 1

Bước 2: Cài và kích hoạt plugin bên website nguồn (website cũ)

Đăng nhập vào admin panel của website cũ, vào mục Plugins > Add New, tìm kiếm và cài đặt plugin Export media with selected content. Sau khi kích hoạt, plugin sẽ tích hợp thẳng vào công cụ Export mặc định của WordPress.

Bước 3: Thực hiện Export kèm hình ảnh

Vào Tools > Export, bạn chọn All content hoặc chỉ chọn Posts tùy nhu cầu. Khác với bản mặc định, lúc này bạn sẽ thấy thêm tùy chọn Export media with selected content. Tick chọn ô này để plugin đóng gói toàn bộ hình ảnh attached vào bài viết cùng file XML export.

Export bài viết bao gồm hình ảnh  -  minh hoạ bước 2

Một lưu ý quan trọng: với website có nhiều bài viết (trên 1000 bài), quá trình Export có thể mất khá nhiều thời gian. Hãy đảm bảo PHP execution time và memory limit trên server được cấu hình đủ cao để tránh bị timeout. Mình khuyên anh em nên đặt max_execution_time = 300memory_limit = 512M tạm thời trong quá trình export.

Bước 4: Import vào website mới

Vào website mới, vào Tools > Import, chọn WordPress Importer. Upload file XML mà bạn vừa export từ website cũ (file này đã bao gồm cả hình ảnh). Công cụ Import sẽ tự động tạo lại bài viết, download hình ảnh về media library và cập nhật lại URL hình ảnh trong nội dung bài viết.

Những lưu ý quan trọng khi Export/Import

1. Không có thanh tiến trình: Công cụ Import khi xử lý file XML kèm hình ảnh không hiển thị thanh progress hay thông báo trạng thái. Bạn có thể tưởng rằng nó bị treo, nhưng thực ra nó vẫn đang chạy ngầm. Hãy kiên nhẫn đợi, đặc biệt với website có nhiều hình ảnh. Nếu bạn refresh trang trong lúc đang import, có thể gây ra duplicate content hoặc lỗi database.

2. Giới hạn upload file: File XML kèm hình ảnh có thể rất nặng (vài trăm MB). Nếu server giới hạn upload nhỏ, bạn cần tăng upload_max_filesize trong file php.ini hoặc .htaccess. Mở thêm post_max_sizememory_limit để đảm bảo import trơn tru.

3. Kiểm tra URL sau import: Sau khi import xong, hãy kiểm tra kỹ các bài viết xem hình ảnh có hiển thị đúng không. Đôi khi một số link nội bộ (internal links) vẫn trỏ về URL cũ. Bạn có thể dùng plugin Better Search Replace để tìm và thay thế toàn bộ URL cũ bằng URL mới trong database.

4. Reset permalink: Sau import, hãy vào Settings > Permalinks và click Save Changes mà không cần thay đổi gì. Việc này giúp WordPress flush lại rewrite rules và đảm bảo các trang không bị lỗi 404.

Các phương pháp thay thế

Ngoài plugin trên, anh em có thể tham khảo một số giải pháp khác:

Dùng All-in-One WP Migration: Đây là plugin phổ biến cho phép export toàn bộ website (bao gồm database, files, plugins, themes) thành một file duy nhất. Phiên bản miễn phí giới hạn dung lượng file import, nhưng phiên bản trả phí cho phép xử lý site lớn. Ưu điểm là dễ dùng, nhược điểm là nặng và chậm với site lớn.

Dùng Duplicator: Plugin Duplicator tạo ra hai file: package (chứa toàn bộ dữ liệu) và installer. Phù hợp cho việc clone website hoặc migrate sang server mới. Tuy nhiên cần cấu hình server đúng cách để chạy installer.

Dùng WP-CLI: Với anh em quen command line, WP-CLI là lựa chọn mạnh mẽ. Bạn có thể export bằng lệnh wp export, sau đó dùng script riêng để sync media library. Phương pháp này phù hợp nhất cho developer nhưng đòi hỏi kiến thức kỹ thuật.

Copy thủ công qua FTP/SFTP: Copy folder wp-content/uploads/ từ website cũ sang mới, sau đó dùng plugin Better Search Replace để cập nhật URL trong database. Phương pháp này hoạt động tốt nhưng cần quyền truy cập FTP/SFTP vào cả 2 server.

Best Practices khi di chuyển website WordPress

Dù bạn chọn phương pháp nào, hãy tuân thủ các nguyên tắc sau để đảm bảo quá trình di chuyển thành công:

Backup toàn bộ trước khi làm: Luôn tạo backup đầy đủ (database + files) của cả website cũ và mới trước khi bắt đầu bất kỳ thao tác nào. Nếu có vấn đề xảy ra, bạn có thể restore lại ngay lập tức.

Test trên staging trước: Nếu có điều kiện, hãy test quá trình import trên một staging site trước khi áp dụng lên site thật. Điều này giúp bạn phát hiện lỗi sớm và tránh downtime cho website đang hoạt động.

Kiểm tra tất cả nội dung sau import: Không chỉ kiểm tra bài viết và hình ảnh, mà còn kiểm tra: menu, widget, custom fields, shortcode, form submissions, và các cấu hình đặc thù của theme/plugin. Nhiều khi dữ liệu custom post type hoặc ACF fields bị bỏ sót trong quá trình export.

Theo dõi Google Search Console: Sau khi di chuyển xong, hãy thêm URL mới vào Google Search Console và sử dụng công cụ Change of Address để thông báo cho Google biết website đã chuyển. Đồng thời đảm bảo file robots.txt và sitemap.xml được cập nhật đúng.

Kết luận

Việc export bài viết bao gồm hình ảnh trong WordPress tưởng phức tạp nhưng thực ra chỉ cần đúng plugin và đúng quy trình là giải quyết được dễ dàng. Plugin Export media with selected content là giải pháp mình đánh giá cao nhất về độ đơn giản và hiệu quả. Hy vọng bài viết này giúp anh em tiết kiệm hàng giờ đồng hồ công sức khi phải di chuyển website. Nếu anh em có phương pháp nào hay hơn, đừng ngại chia sẻ ở phần bình luận bên dưới nhé.

Xem thêm: Import hình ảnh bên ngoài về WordPress

Đây là bài mình ghi chép sau khi vọc – không phải hướng dẫn từ chuyên gia, mà là kinh nghiệm xương máu của một người dùng tự mày mò. Nếu bạn muốn một website đàng hoàng ngay từ đầu, team làm WordPress chuyên nghiệp sẽ đỡ mất thời gian hơn – TaigaWeb là một đơn vị mình tin.

Nhiều Lượt xem

Giới thiệuLiên hệChính sách Biên tập