Việc tạo một hosting phụ để lưu trữ file media cho website WordPress giúp giảm tải trên hosting chính, tối ưu hóa tốc độ tải trang và băng thông. Dưới đây là các bước cơ bản:
Nội dung
1. Mua và thiết lập hosting phụ
Bạn cần một hosting mới hoặc dịch vụ lưu trữ chuyên dụng (CDN, Cloud Storage) như:
- Shared hosting: Dùng để lưu file media.
- CDN (Content Delivery Network): Dịch vụ như Cloudflare, BunnyCDN hoặc AWS S3.
Lưu ý: Hosting phụ nên hỗ trợ giao thức FTP hoặc có thể được tích hợp với WordPress.
2. Upload file media lên hosting phụ
Bạn có thể sử dụng các phương pháp sau:
- FTP client (FileZilla, WinSCP):
- Đăng nhập hosting phụ qua FTP và tạo thư mục (ví dụ:
/media
). - Upload toàn bộ file media từ WordPress (thư mục
wp-content/uploads
) hoặc file mới lên thư mục này.
- Đăng nhập hosting phụ qua FTP và tạo thư mục (ví dụ:
- Dịch vụ đồng bộ hóa: AWS CLI, Cyberduck cho AWS S3 hoặc Google Cloud.
3. Kết nối hosting phụ với WordPress
Sử dụng Plugin:
- Cài đặt plugin WP Offload Media hoặc Media Library Folders Pro:
- Kết nối hosting phụ với WordPress.
- Thiết lập URL tùy chỉnh cho file media (thường ở dạng
https://media.yourdomain.com
).
Hoặc chỉnh sửa thủ công:
Thay đổi URL file media:
- Tạo Subdomain hoặc Domain trỏ tới hosting phụ:
- Vào cPanel/DNS Zone Editor và thêm subdomain (ví dụ:
media.yourdomain.com
) trỏ đến hosting phụ.
- Vào cPanel/DNS Zone Editor và thêm subdomain (ví dụ:
- Chỉnh sửa file
wp-config.php
:
Thêm dòng sau để thay đổi đường dẫn file media: - Cập nhật đường dẫn file media cũ (nếu có):
Dùng SQL query trong phpMyAdmin để thay thế URL file media:
4. Kiểm tra và tối ưu hóa
- Kiểm tra URL của file media: Đảm bảo các file tải từ hosting phụ (bắt đầu bằng
https://media.yourdomain.com
). - Cài đặt plugin cache: Tăng tốc độ tải.
- Kích hoạt HTTPS: Đảm bảo hosting phụ sử dụng SSL để tránh lỗi tải file trên trình duyệt.
5. Tùy chọn nâng cao
- Sử dụng CDN: Đưa file media vào CDN như Cloudflare hoặc BunnyCDN để tăng tốc toàn cầu.
- Tự động tải lên hosting phụ: Dùng plugin hoặc cronjob để đồng bộ file mới từ WordPress.
6. Code
Nếu bạn muốn tự viết code để thêm chức năng giống WP Offload Media (đưa file media của WordPress lên một hosting hoặc dịch vụ lưu trữ khác), dưới đây là một hướng dẫn cơ bản. Mục tiêu là tự động tải file media mới lên hosting phụ hoặc dịch vụ lưu trữ khi upload qua WordPress.
6.1. Hook vào quá trình upload file của WordPress
Sử dụng wp_handle_upload
để bắt sự kiện mỗi khi file được upload.
6.2. Hàm tải file lên hosting phụ
Dưới đây là một ví dụ cơ bản để upload file lên hosting phụ qua FTP:
6.3. Xử lý URL file trong Media Library
Để đảm bảo các file đã upload lên hosting phụ có URL đúng, bạn cần thay đổi URL của file trong Media Library.
6.4. Di chuyển file cũ sang hosting phụ
Nếu bạn muốn di chuyển tất cả các file media đã tồn tại lên hosting phụ, hãy sử dụng một script PHP hoặc plugin để quét thư mục wp-content/uploads
và tải từng file lên.
Ví dụ:
6.5. Lưu ý
- Kiểm tra bảo mật: Đảm bảo kết nối FTP hoặc API được mã hóa (FTPS, SFTP, HTTPS).
- Xử lý lỗi: Thêm các bước kiểm tra lỗi trong quá trình upload file để tránh gián đoạn.
- CDN Tích hợp: Bạn có thể mở rộng để tích hợp với dịch vụ CDN như AWS S3, Cloudflare hoặc BunnyCDN thay vì chỉ dùng FTP.