Lưu trữ hình ảnh trên subdomain trong WordPress.

Nếu để ý, chắc bạn sẽ thấy tất cả link hình ảnh trên blog WP Căn bản đều có dạng static.wpcanban.com phải không nào? Nhiều độc giả thắc mắc liệu có phải chúng tôi đang sử dụng CDN hay không? Câu trả lời là không nhé. Thực ra, tôi đã chuyển thư mục uploads WordPress lên lưu trữ trên subdomain. Do đó, link của các tập tin được upload (trong đó có cả link hình ảnh) sẽ có dạng subdomain thay vì domain chính. Tác dụng của thủ thuật này là giảm số lượng request trực tiếp đến domain chính, cân bằng tải, làm tăng tốc độ load dữ liệu. Nếu bạn cũng đang muốn làm điều tương tự thì ngay sau đây là hướng dẫn chi tiết.
Tham khảo thêm:
Hướng dẫn lưu trữ hình ảnh trên subdomain
1. Việc đầu tiên các bạn cần làm chính là backup dữ liệu của blog/ website (cả database lẫn mã nguồn). Điều này sẽ giúp bạn nhanh chóng khôi phục blog/ website về trạng thái ban đầu trong trường hợp xảy ra sai sót khi thao tác.
2. Tạo một sudomain cho domain chính, chẳng hạn như img.domain.com.

Một thư mục có tên là img sẽ được tự động tạo ra trong thư mục public_html.
3. Trỏ subdomain này về host, sử dụng IP giống với IP của domain chính.

4. Truy cập vào File Manager của cPanel/ DirectAdmin hoặc FTP, copy (hoặc move) toàn bộ nội dung có trong thư mục uploads (nằm trong đường dẫn wp-content/uploads/) sang thư mục img đã được tạo ở bước 2.
5. Truy cập vào phpMyAdmin, lựa chọn đúng database của blog/ website. Click vào nút Query trên menu ngang.

6. Copy và paste đoạn code sau đây vào khung SQL query on database… và click nút Submit Query.
[sql]UPDATE wp_posts SET post_content = REPLACE(post_content,’http://domain.com/wp-content/uploads’,’http://img.domain.com/’)[/sql]
Lưu ý: đổi domain.com thành domain của bạn. Chẳng hạn như:

7. Lặp lại tương tự bước 6, tuy nhiên, lần này, hãy sử dụng code sau đây:
[sql]UPDATE wp_posts SET guid = REPLACE(guid,’http://domain.com/wp-content/uploads’,’http://img.domain.com/’)[/sql]
Nhớ thay domain.com bằng domain của bạn nhé.
8. Quay trở lại giao diện chính của database, click vào mục Search.

9. Nhập từ path vào khung Words or values to search for (wildcard: “%”). Tick chọn table options trong mục Inside tables.

Click vào nút “Go” để bắt đầu quá trình tìm kiếm. Kết quả sẽ có dạng như hình bên dưới. Hãy click vào nút Browser để xem danh sách đầy đủ.

10. Hãy chú ý vào 2 mục upload_path và upload_url_path trong danh sách kết quả. Click vào nút Edit và chỉnh sửa thông số option_value cho phù hợp với blog/ website của bạn. Xem ví dụ trong hình bên dưới.

11. Mở file .htaccess trong thư mục gốc của WordPress ra, thêm đoạn code sau vào trên cùng và lưu lại.
RedirectMatch 301 ^/wp-content/uploads/(.*)$ http://img.domain.com/$1
Lưu ý: thay domain.com bằng domain của bạn.
Thao tác này sẽ giúp redirect những hình ảnh cũ đã được công cụ tìm kiếm index trước đó sang link mới, tránh bị lỗi 404. Cuối cùng, hãy xóa cache trình duyệt và cache blog/ website (nếu bạn có sử dụng plugin tạo cache) và xem kết quả nhé. Chúc các bạn thành công!
Trên đây là các bước chi tiết giúp lưu trữ hình ảnh trên subdomain. Nếu bạn có bất cứ thắc mắc hay khó khăn nào, xin vui lòng gửi vào khung bình luận bên dưới để được hỗ trợ. Bạn biết phương thức khác đơn giản hơn để lưu trữ hình ảnh trên subdomain? Đừng quên chia sẻ nó với chúng tôi.
Nếu bạn thích bài viết này, hãy subscribe blog của tôi để thường xuyên cập nhật những bài viết hay nhất, mới nhất qua email nhé. Cảm ơn rất nhiều. :)





Cho mình hỏi mình muốn hiện ảnh nội dung trong bài viết ra ngoài thay ảnh đại diện luôn thì làm thế nào? Kiểu giống như trang xem.vn ấy. Thanks bạn
Bạn tham khảo plugin Set All First Images As Featured xem sao nhé. :P
Ad cho hỏi chút mình đã làm đúng theo hướng dẫn như trên, lúc up ảnh lên thì nó ko ở sub mà vẫn ở domain chính.
Chán quá, chỉ dùng cùng host được thôi. không dùng cho sub trên host khác được :D
Cái cpanel của bác nó cho tạo subdomain trong public_html của domain chính mới làm theo được, còn của em là directadmin, khi tạo subdomain thì nó tạo ra 1 thư mục riêng thì có hướng dẫn nào không bác?
Làm tương tự nhau cả thôi mà bạn? :P
code ko ghi ra ngoài dễ copy . để trong hình vậy làm khó mem mới . bó tay
Chả có code nào quan trọng và khó nhớ mà mình lại bỏ trong ảnh cả bạn nhé. Bạn nên xem lại cho kỹ. :P
Thế thì cho mình hỏi, giờ host mình quá tải muốn up ảnh thumb bên ngoài các host khác và lấy link về làm ảnh thumb trên wordpress thì phải làm thế nào nhỉ , có plugin nào như thế ko bạn ? Thanks
Bạn có thể thử một trong các plugin sau đây: RB External Thumbnail, External Thumbnail hoặc External URL To Post Thumbnail. :)
Cám ơn bạn nhiều nhé . Để mình test thử xem sao :D
mình đã thử và không được luôn bạn ơi
Cả 3 plugin đều không được à bạn?
cả 3 plugin trên luôn bạn ơi, cả 3 đều hoạt động bình thưởng, nhưng tớ phát hiện ra là nó tự động upload ảnh lên host để làm ảnh thumb chứ không pahi3 là chèn link ở 1 host khác . Như thế thì hình vẫn up ở host mình .
tại sao bây giờ bạn không dùng subdomain để lưu nữa!!!!
Vì hiện tại mình đang dùng định dạng ảnh WebP mà lưu trữ ảnh trên subdomain thì định dạng ảnh này không hoạt động được. :)
Mình đã làm đc, bài viết rất hữu ích, cảm ơn bạn đã chia sẻ.
À mình xin hỏi 1 vấn đề là có plugin nào để giảm tải web load dc nhanh hơn trên mobile không bạn, hiện tại trên PC thì load nhanh mà trên mobile load chậm quá
Bạn nên tham khảo AMP hoặc sử dụng plugin để tạo giao diện mobile riêng (không dùng giao diện responsive nữa). Còn rất khó để tối ưu một giao diện nếu nó sử dụng quá nhiều JS và CSS. :P
Mình cảm ơn bạn, mình đã tìm dc plugins mobile thích hợp rồi, giờ còn vấn đề về hiển thị lượt xem ngoài home từng bài thì có dạng code hay plugins nào đáp ứng dc ko admin.
Làm theo mà không được
Bạn gặp vướng mắc ở bước nào? Mình thấy site của bạn đang dùng WordPress.com mà, có phải WordPress.org đâu? :P
Thực ra cái này không cần thiết :D