Trong bài viết trước, cloudhosting.com.vn đã hướng dẫn bạn cách kiểm tra dung lượng hosting. Và mình nhận được nhiều thắc mắc rằng thư mục public html chiếm quá nhiều dung lượng hosting.
Vậy thì trong bài viết này, hãy cùng mình đi tìm hiểu public_html là gì, vì sao thư mục này lại chiếm nhiều dung lượng hosting và cách giải quyết nhé.
Thư mục public_html là gì?

Public_html là thư mục gốc (root directory) chứa toàn bộ mã nguồn website của bạn trên hosting.
Nói dễ hiểu thì
- Website hiển thị được là nhờ dữ liệu nằm trong public_html
- Trình duyệt truy cập domain → web server đọc dữ liệu từ public_htm
Tùy loại website, public_html có thể chứa:
- Mã nguồn WordPress, Laravel, HTML…
- Thư mục wp-content, uploads, themes, plugins
- Hình ảnh, video, file CSS, JS
- File cấu hình như .htaccess, wp-config.php
Chính vì chứa toàn bộ tài nguyên website, public_html rất dễ trở thành nơi “ngốn” dung lượng nhất trên hosting và tình trạng public html chiếm quá nhiều dung lượng hosting là khá phổ biến.
Thư mục public_html nằm ở đâu?
Nếu như bạn đang thuê hosting sử dụng bảng điều khiển cPanel hoặc DirectAdmin phổ biến hiện nay, việc tìm kiếm thư mục này rất dễ dàng:
- Đăng nhập vào trình quản lý Hosting (cPanel/DirectAdmin).
- Tìm đến mục File Manager (Quản lý tệp tin).
- Ngay tại danh sách thư mục bên tay trái hoặc chính giữa màn hình, bạn sẽ thấy thư mục có tên là public_html. Đây chính là nơi bạn cần thao tác.
Còn trong trường hợp bạn chạy nhiều website trên 1 hosting, thì tên miền chính sẽ nằm trong mục public_html, còn các tên miền con sẽ nằm trong thư mục con của public_html.
Vậy, tại sao lại đặt website trong public_html
Nhiều người mới bắt đầu thường thắc mắc tại sao phải đặt website trong public_html mà không phải một thư mục khác?
Đây là quy định cấu hình mặc định của các Web Server (như Apache, Nginx, LiteSpeed). Máy chủ được lập trình để “nhìn” vào thư mục public_html đầu tiên khi có một yêu cầu truy cập từ tên miền của bạn.
Nếu bạn upload dữ liệu website ra ngoài thư mục này (ví dụ ngang hàng với public_html), người dùng truy cập vào domain sẽ chỉ thấy một trang trắng hoặc lỗi 403 Forbidden, vì máy chủ không tìm thấy dữ liệu để hiển thị.
Tại sao thư mục public_html chiếm quá nhiều dung lượng hosting

Sau khi đã hiểu về vai trò của thư mục này, chúng ta sẽ đi sâu vào việc “bắt bệnh”. Tại sao một website tin tức hay bán hàng thông thường chỉ nặng vài trăm MB, nhưng thư mục gốc lại phình to lên đến hàng chục GB?
Thực tế, việc public_html chiếm quá nhiều dung lượng hosting thường không đến từ mã nguồn chính của website, mà đến từ các tệp tin “rác” sinh ra trong quá trình vận hành mà bạn không hề hay biết. Dưới đây là các thủ phạm chính:
1. Không nén/tối ưu hình ảnh trước khi tải lên
Một bài viết bạn upload 10 tấm ảnh. Mỗi tấm ảnh chụp từ điện thoại nặng 5MB và bạn upload trực tiếp lên web mà không nén. Chỉ cần 1 bài viết đã tốn 50MB. Với 100 bài viết, bạn mất 5GB dung lượng chỉ cho hình ảnh. Đây là sự lãng phí tài nguyên khủng khiếp.
2. Để file back up ngay trong thư mục public html
Nhiều quản trị viên có thói quen backup dữ liệu thủ công hoặc dùng plugin backup. Các file nén có đuôi .zip, .tar.gz hoặc file database .sql sau khi được tạo ra thường nằm ngay trong public_html.
Ví dụ: Bạn nén toàn bộ mã nguồn để tải về máy, file nén đó nặng 1GB. Bạn quên xóa nó đi. Tháng sau bạn lại nén tiếp… Cứ như vậy, dung lượng hosting bị chiếm dụng bởi những file backup cũ kỹ mà bạn không còn dùng đến.
3. File log và file debug phát sinh liên tục
Đây là nguyên nhân phổ biến nhất chiếm tới 60% các trường hợp đầy dung lượng. Khi website (đặc biệt là WordPress) gặp lỗi mã nguồn, xung đột plugin hoặc theme, hệ thống sẽ tự động ghi lại lỗi đó vào một tệp tin văn bản tên là error_log nằm ngay trong public_html hoặc các thư mục con như wp-admin.
Nếu lỗi này lặp đi lặp lại hàng nghìn lần mỗi giây, file error_log có thể tăng kích thước từ vài KB lên đến 10GB, 20GB chỉ trong vài ngày, âm thầm “ăn mòn” dung lượng hosting của bạn
4. Cache và file tạm không được dọn dẹp
Để tăng tốc độ tải trang, chúng ta thường dùng các plugin tạo cache (như WP Rocket, W3 Total Cache). Cơ chế của cache là tạo ra hàng nghìn file tĩnh (HTML) lưu trong thư mục wp-content/cache.
Theo thời gian, nếu plugin không có cơ chế tự dọn dẹp (Garbage Collection) tốt, hoặc bạn thay đổi giao diện liên tục mà không xóa cache cũ, thư mục này sẽ phình to không kiểm soát.
5. Website bị hack hoặc nhiễm mã độc
Dấu hiệu:
- Xuất hiện file lạ, tên ngẫu nhiên
- File được tạo liên tục dù không thao tác gì
- Hosting đầy rất nhanh dù website ít nội dung
Trong trường hợp này, public_html chiếm quá nhiều dung lượng hosting không phải do nội dung thật, mà do script độc hại tạo file rác.
Và cách hướng dẫn kiểm tra xem “thủ phạm” đang khiến hosting của bạn đầy là gì, các bạn có thể đọc lại bài viết https://cloudhosting.com.vn/cach-kiem-tra-dung-luong-hosting-trong-qua-trinh-su-dung/
Cách xử lý khi public_html bị đầy dung lượng hosting

Bước 1: Truy tìm và xử lý file Error_log
Nếu bạn xác định được public_html chiếm quá nhiều dung lượng hosting là do file log, hãy làm như sau:
- Vào File Manager, tìm file có tên error_log.
- Click chuột phải chọn View (Xem) để đọc nội dung lỗi. Việc này giúp bạn biết plugin hay đoạn code nào đang gây lỗi để nhờ lập trình viên sửa triệt để.
- Sau khi đã biết nguyên nhân, hãy xóa file error_log này đi. Dung lượng host sẽ giảm ngay lập tức.
Mẹo nâng cao: Bạn có thể tắt chức năng ghi log trong file wp-config.php (đối với WordPress) nếu không cần thiết bằng cách sửa dòng define(‘WP_DEBUG_LOG’, true); thành false.
Bước 2: Dọn dẹp các tệp tin nén và bản sao lưu cũ
Sử dụng thanh tìm kiếm trong File Manager, hoặc nhìn bằng mắt thường trong thư mục gốc public_html. Hãy tìm các file có đặc điểm sau:
- Đuôi file: .zip, .rar, .tar, .tar.gz, .sql.
- Tên file: Thường có dạng backup_date…, full_backup…, hoặc public_html.zip.
Nếu bạn đã có bản lưu trữ ở máy tính, hãy xóa thẳng tay các file này trên hosting. Đây là những “tảng đá” nặng nề nhất cản trở hiệu suất hosting của bạn.
Bước 3: Tối ưu hóa thư mục wp-content
Đối với người dùng WordPress, wp-content nằm trong public_html là nơi chứa dữ liệu nặng nhất.
- Xử lý thư mục Cache: Truy cập đường dẫn: public_html/wp-content/cache. Bạn có thể xóa toàn bộ các thư mục con bên trong mục cache này. Sau đó, vào trang quản trị website, bật lại plugin Cache để nó tạo lại cache mới sạch sẽ hơn
- Xử lý thư mục Uploads: Truy cập public_html/wp-content/uploads. Kiểm tra xem có các file ảnh gốc không dùng đến, hoặc các file ảnh kích thước quá lớn (High Resolution) không cần thiết cho web hay không.
Bước 4: Loại bỏ mã nguồn thừa (Theme & Plugin)
Nhiều người có thói quen cài thử theme/plugin rồi tắt (Deactivate) chứ không xóa (Delete). Dù không hoạt động, chúng vẫn nằm trong public_html và chiếm dung lượng.
- Vào wp-content/themes: Xóa các theme bạn không kích hoạt (chỉ giữ lại theme đang dùng).
- Vào wp-content/plugins: Xóa các plugin đã ngừng sử dụng.
Bước 5: Kiểm tra thư mục .Trash (Thùng rác)
Trên File Manager của cPanel, khi bạn xóa file nhưng chưa chọn “Skip the trash and permanently delete the files”, file đó sẽ nằm trong thư mục ẩn .trash.
Hãy kiểm tra thư mục này (cần bật chế độ Show Hidden Files trong phần Settings của File Manager) và làm sạch nó (Empty Trash) để thu hồi dung lượng thực tế.
Sau khi thực hiện những bước trên, dung lượng hosting của bạn thông thường sẽ được giải phóng.
Nhưng, nếu ngược lại, thực hiện các bước trên mà dung lượng giải phóng không đáng kể thì đã đến lúc bạn cân nhắc nâng cấp hosting, mở rộng dung lượng để đáp ứng sự tăng trưởng của website rồi.
Tóm lại:
Việc public_html chiếm quá nhiều dung lượng hosting là vấn đề rất phổ biến, đặc biệt với website hoạt động lâu năm hoặc không được quản lý thường xuyên. Điều quan trọng không phải là xóa thật nhiều file, mà là xóa đúng – xóa an toàn – hiểu rõ mình đang làm gì.
Nếu bạn xử lý đúng nguyên nhân, hosting sẽ nhẹ hơn, website ổn định hơn và tránh được tình trạng public_html chiếm quá nhiều dung lượng hosting lặp đi lặp lại trong tương lai.
Chúc các bạn thành công!
