Blog Website

Website bị chậm sau vài tháng ra mắt: Nguyên nhân thực sự và cách xử lý không cần biết code

Tại sao website WordPress chậm dần theo thời gian? Phân tích 5 nguyên nhân thực sự (database phình, ảnh không tối ưu, plugins tích lũy, PHP cũ, hosting quá tải) và checklist 7 bước tối ưu không cần code.

A
admin
07/09/2025
Cập nhật 04/04/2026
13 phút đọc
2,819 từ

Một chủ tiệm bánh ở Hà Nội liên hệ chúng tôi với vấn đề cực kỳ phổ biến: “Website làm 8 tháng trước, lúc mới xong load rất nhanh, bây giờ mỗi trang mất 8–10 giây, khách phàn nàn nhiều.” Sau khi kiểm tra, chúng tôi tìm ra nguyên nhân: 47 plugins đang hoạt động (một số đã ngừng update từ 2019), tổng dung lượng ảnh trong thư mục uploads là 4.2GB với không ảnh nào được nén, và hosting shared đang chạy PHP 7.2 thay vì 8.x. Không phải lỗi của ai — chỉ là không có ai “bảo dưỡng” website sau khi launch. Bài viết này giải thích nguyên nhân thực sự và giải pháp thực tế không cần biết code.

Tại sao website chậm dần theo thời gian?

Website WordPress mới thường nhanh — vì chưa có nhiều dữ liệu và plugin. Theo thời gian, nhiều thứ tích lũy lại và làm chậm hiệu suất:

Nguyên nhân 1: Phình database

WordPress lưu mọi thứ vào database MySQL, bao gồm cả những thứ không còn cần thiết: post revisions (bản nháp cũ — mỗi lần lưu bài viết tạo ra một revision, sau 2 năm có thể có hàng nghìn revisions), transients (dữ liệu tạm thời lưu cache — nhưng không tự xóa khi hết hạn), spam comments đã được đánh dấu, và orphaned metadata (dữ liệu mồ côi từ plugins đã uninstall). Database 500MB sẽ chậm hơn đáng kể so với database 50MB cho cùng một website.

Giải pháp: Plugin WP-Optimize (miễn phí) → chạy Clean Database → xóa post revisions, transients, spam. Thực hiện mỗi tháng một lần.

Nguyên nhân 2: Ảnh không được tối ưu tích lũy

Mỗi ảnh upload lên WordPress không tự động nén. Sau 1–2 năm đăng nội dung, thư mục uploads có thể chứa hàng trăm ảnh JPEG chất lượng cao từ camera (2–5MB mỗi ảnh), gây ra: tốc độ load trang chậm, tốn dung lượng hosting, và TTFB (Time to First Byte) không được cải thiện dù đã bật cache.

Giải pháp không cần code: Plugin ShortPixel hoặc Imagify → Bulk Optimize (tối ưu hàng loạt) toàn bộ ảnh đã có. Kết quả thường giảm 40–70% tổng dung lượng ảnh. Sau khi xử lý ảnh cũ, bật tính năng auto-optimize để ảnh mới tự động được nén khi upload.

Nguyên nhân 3: Plugin tích lũy và không cần thiết

Mỗi plugin kích hoạt thêm PHP code phải chạy mỗi khi có request, thêm CSS và JavaScript phải load trên mỗi trang, và thêm database queries. Plugin được cài rồi không dùng nhưng quên deactivate (vô hiệu hóa) là nguồn tài nguyên lãng phí phổ biến nhất.

Kiểm tra plugin audit: Plugins → Installed Plugins → xem danh sách. Với mỗi plugin hỏi: nó đang làm gì? Có đang được dùng không? Có plugin khác đã bao gồm chức năng tương tự không? Deactivate và delete (không chỉ deactivate) những plugin không dùng.

Nguyên nhân 4: PHP version cũ

PHP 8.1 và 8.2 nhanh hơn PHP 7.4 khoảng 30–40% trong các benchmark (kiểm tra hiệu suất chuẩn). Nhiều hosting shared vẫn đang chạy PHP 7.x mặc định vì lý do compatibility (tương thích). Kiểm tra PHP version trong hosting control panel (cPanel) và nâng lên PHP 8.1+ nếu theme và plugins tương thích.

Lưu ý quan trọng: Trước khi nâng PHP version, tạo backup đầy đủ và kiểm tra compatibility của tất cả plugins trong môi trường staging nếu có thể.

Nguyên nhân 5: Hosting đã quá tải

Shared hosting có giới hạn tài nguyên không được công bố rõ ràng. Khi nhiều website trên cùng server đều tăng traffic, tài nguyên server bị chia sẻ mỏng hơn — mọi website đều chậm lại. Dấu hiệu đặc trưng: website chậm vào giờ cao điểm (9–11h sáng, 1–3h chiều) và nhanh vào đêm muộn. Giải pháp: nâng lên VPS hoặc cloud hosting.

Công cụ chẩn đoán tốc độ không cần kỹ thuật

Công cụ Cho biết điều gì Link Miễn phí?
PageSpeed Insights Core Web Vitals, cơ hội cải thiện cụ thể pagespeed.web.dev ✅ Hoàn toàn
GTmetrix Waterfall chart, thành phần nào load chậm nhất gtmetrix.com ✅ Cơ bản miễn phí
WebPageTest Test từ nhiều location, filmstrip view webpagetest.org ✅ Hoàn toàn
Query Monitor Plugin WordPress: query database nào chậm wordpress.org/plugins ✅ Hoàn toàn

Checklist tối ưu tốc độ không cần code — Làm theo thứ tự này

  1. Cài plugin caching: WP Rocket (tốt nhất, trả phí 49USD/năm) hoặc W3 Total Cache + Cloudflare (miễn phí). Đây thường là cải thiện lớn nhất và dễ nhất.
  2. Tối ưu database: WP-Optimize → Clean Database → chạy ngay và lên lịch hàng tháng.
  3. Tối ưu ảnh hàng loạt: ShortPixel hoặc Imagify → Bulk Optimize toàn bộ media library.
  4. Audit plugins: Xóa plugins không dùng, tìm thay thế nhẹ hơn cho plugins nặng.
  5. Nâng PHP version: Trong cPanel → PHP version selector → chọn PHP 8.1 hoặc 8.2.
  6. Bật CDN: Cloudflare miễn phí → bật Proxy và Auto Minify CSS/JS/HTML.
  7. Nâng cấp hosting: Nếu sau 6 bước trên vẫn chậm — vấn đề ở hosting, không phải WordPress.

Đọc thêm về bảo trì website định kỳ để ngăn ngừa vấn đề tốc độ từ sớm, và khi nào nên redesign thay vì chỉ tối ưu.

Server-side optimization — Khi WordPress đã làm tất cả mà vẫn chậm

Nếu đã thực hiện đầy đủ 7 bước checklist trên mà website vẫn chậm, vấn đề thường nằm ở cấp độ server. Một số giải pháp server-side không cần phải là developer:

HTTP/2 và HTTP/3

HTTP/2 (phiên bản giao thức HTTP hiện đại, cho phép multiplexing — gửi nhiều requests đồng thời qua một kết nối) và HTTP/3 (phiên bản mới nhất, dùng giao thức QUIC thay vì TCP, nhanh hơn đặc biệt trên mạng không ổn định) cải thiện tốc độ đáng kể so với HTTP/1.1 cũ. Kiểm tra hosting có hỗ trợ HTTP/2 không qua Chrome DevTools → Network → Protocol column. Nếu thấy “h2” — đang dùng HTTP/2. Nếu thấy “http/1.1” — hỏi hosting upgrade.

Object Caching (Redis hoặc Memcached)

Object caching (lưu cache kết quả database queries — thay vì chạy lại cùng một query mỗi request, kết quả được lưu trong RAM và trả về tức thì) cải thiện đáng kể tốc độ với WordPress site nhiều dynamic content. Redis và Memcached là hai giải pháp phổ biến nhất. Nhiều managed WordPress hosting (như Kinsta, WP Engine) bao gồm Redis cache — đây là một trong những lý do tại sao managed hosting đắt hơn nhưng thường nhanh hơn shared hosting rẻ đáng kể.

GZIP/Brotli Compression

Compression (nén dữ liệu — server nén files trước khi gửi, browser giải nén khi nhận, giảm băng thông cần thiết đáng kể) là tối ưu server-side đơn giản nhất. Gzip compression giảm kích thước HTML, CSS, JavaScript trung bình 60–80%. Brotli compression (mới hơn, hiệu quả hơn Gzip ~20%) đang được hỗ trợ bởi phần lớn browsers hiện đại. Kiểm tra và bật compression qua Cloudflare hoặc trong .htaccess file — tài liệu cụ thể có thể tìm từ hosting provider của bạn.

Đo lường trước và sau — Chứng minh ROI của việc tối ưu

Trước khi bắt đầu tối ưu, chạy và lưu baseline (điểm cơ sở) từ PageSpeed Insights và GTmetrix. Sau mỗi bước tối ưu, chạy lại và so sánh. Việc này không chỉ giúp bạn biết bước nào hiệu quả nhất — mà còn có data để justify (biện hộ) đầu tư tiếp theo nếu cần thuê chuyên gia. Chụp screenshot của PageSpeed score trước và sau, lưu vào Google Drive — đây là tài liệu hữu ích cho cả bạn và agency bảo trì sau này.

WordPress Performance Profiling — Tìm đúng nguyên nhân

Trước khi thực hiện bất kỳ tối ưu nào, dùng Query Monitor plugin (miễn phí, cài từ WordPress.org) để identify (xác định) chính xác vấn đề. Query Monitor hiển thị:

  • Tổng số database queries mỗi page load và query nào chậm nhất
  • PHP execution time của từng plugin — plugin nào đang “ngốn” nhiều thời gian nhất
  • Memory usage và peak memory — trang có vượt giới hạn memory không
  • HTTP API calls — plugin nào đang gọi external APIs mỗi page load

Thông tin này cho phép bạn ra quyết định có data thay vì đoán mò: nếu Query Monitor cho thấy một plugin cụ thể gây ra 50% load time — bạn biết cần tìm thay thế cho plugin đó, thay vì mất thời gian optimize những thứ khác.

Long-term performance monitoring — Không để tốc độ giảm dần mà không hay

Tốc độ website giảm dần theo thời gian là điều bình thường — nhưng chỉ được chấp nhận nếu được phát hiện và xử lý sớm. Setup monitoring tự động:

  • SpeedVitals.com (miễn phí): Theo dõi Core Web Vitals hàng ngày và gửi alert khi score giảm xuống dưới ngưỡng bạn thiết lập
  • UptimeRobot (miễn phí): Kiểm tra website availability mỗi 5 phút, gửi SMS/email khi down
  • Google Search Console → Core Web Vitals Report: Trend theo thời gian dựa trên real user data — check hàng tháng

Với monitoring này, thay vì phát hiện website đang chậm khi khách hàng phàn nàn — bạn biết ngay khi vừa có thay đổi gây ra vấn đề và có thể rollback (hoàn nguyên) nhanh chóng.

Image optimization deep dive — Kỹ thuật nâng cao không cần code

Ngoài plugin bulk optimize đã đề cập, có thêm một số kỹ thuật tối ưu ảnh không cần code nhưng có tác động lớn:

  • Đặt tên file ảnh có nghĩa trước khi upload: “product-ghế-sofa-màu-xanh-hcm.jpg” tốt hơn “IMG_20241201_142035.jpg”. Google Images đọc tên file làm signal để hiểu nội dung ảnh. Với ảnh đã upload, ShortPixel cho phép rename (đổi tên) trong quá trình optimize.
  • Fill alt text đầy đủ và có nghĩa: Alt text (văn bản thay thế ảnh) quan trọng cho cả SEO lẫn accessibility. Plugin Rank Math có tính năng bulk edit alt text cho toàn bộ media library. Ưu tiên ảnh sản phẩm và hình ảnh quan trọng trên các trang chính.
  • Chọn đúng kích thước khi upload: Không upload ảnh 4000x3000px khi chỉ hiển thị 800x600px. Resize về kích thước hiển thị tối đa trước khi upload. Công cụ online miễn phí: Squoosh.app (của Google) — drag and drop, so sánh chất lượng, download.
  • Lazy loading cho video embed: Video YouTube và Vimeo embed là nguồn làm chậm trang lớn nhất (thêm hàng chục requests cho mỗi embed). Plugin WP YouTube Lyte hoặc Lite Vimeo Embed thay thế iframe embed bằng thumbnail click-to-load — trang tải nhanh hơn đáng kể mà trải nghiệm video không thay đổi.

Câu hỏi thường gặp về website bị chậm

Website chậm có ảnh hưởng đến thứ hạng Google không?

Có, trực tiếp và đáng kể. Google dùng Core Web Vitals (LCP, INP, CLS) là ranking signal chính thức từ 2021. Website có LCP trên 4 giây sẽ bị đánh giá “Poor” và bị bất lợi so với đối thủ có LCP tốt hơn trong cùng niche. Ngoài SEO, tốc độ ảnh hưởng trực tiếp đến conversion rate: theo Google, mỗi giây delay giảm 7% tỷ lệ chuyển đổi. Website load 6 giây có thể đang mất 28% doanh thu tiềm năng so với website load 2 giây.

Có nên tự tối ưu hay thuê chuyên gia?

6 bước trong checklist trên có thể tự làm với rủi ro thấp — chỉ cần backup trước khi thực hiện bất kỳ thay đổi nào. Thuê chuyên gia khi: muốn tối ưu sâu hơn (server-side optimization, custom code, database query optimization), website phức tạp có nhiều custom code, hoặc sau khi tự làm vẫn không đạt được PageSpeed score mong muốn. Chi phí thuê chuyên gia tối ưu tốc độ thường từ 2–10 triệu tùy độ phức tạp — so với việc mất khách hàng mỗi ngày vì website chậm, đây thường là đầu tư xứng đáng.

Caching plugin có đủ không hay cần thêm gì?

Caching giải quyết được phần lớn vấn đề tốc độ cho website WordPress thông thường — thường cải thiện load time 50–70%. Nhưng caching không giải quyết được: ảnh quá nặng (vẫn phải download dù từ cache), database queries chậm (vẫn chạy mỗi khi cache hết hạn), hosting server chậm (TTFB vẫn cao dù có cache). Để đạt Core Web Vitals “Good” ổn định, cần kết hợp ít nhất caching + image optimization + hosting đủ nhanh.