Hướng dẫn tối ưu website WordPress toàn tập A-Z

Hướng dẫn tối ưu website WordPress toàn tập A-Z

Bài viết này thực hiện (hoặc lụm bài về đăng câu like từ các trang khác) bởi Việt Lâm Coder một YOUTUBER có tâm và đẹp trai siêu cấp vô địch zũ trụ. Các bạn đi ngang nếu được cho Lâm 1 like và 1 đăng ký kênh Youtube nhé !!

WordPress là một mã nguồn mở (CMS) tuyệt vời để thiết kế web và duy trì một trang web thực sự dễ dàng. Tuy nhiên tại thời điểm nó có thể gây ra việc sử dụng tài nguyên cao khi không đúng cách tối ưu.

Tại sao bạn nên tối ưu hóa WordPress

Bởi vì WordPress làm cho nó dễ dàng để làm được rất nhiều điều, điều này đòi hỏi rất nhiều thứ. Tùy thuộc vào kích thước và độ phức tạp của trang web của bạn, cũng như lưu lượng truy cập bạn nhận được, bạn sẽ muốn trả thêm chi phí để đảm bảo trang web WordPress của bạn được tối ưu hóa để nhận được nhiều lượt truy cập hơn.

speed-up-wordpress

Nếu bạn đã xem tài nguyên sử dụng tài khoản của bạn trong cPanel – Hosting, và nhận thấy tài khoản của bạn đã sử dụng vượt quá tài nguyên, hoặc nếu bạn đã từng bị nhà cung cấp máy chủ liên lạc về việc website của bạn liên tục bị cảnh báo. Hãy theo dõi bài viết này bạn sẽ biết cách làm thế nào để tối ưu hóa wordpress của bạn.

Hướng dẫn tối ưu website WordPress từ A – Z

Dưới đây chúng tôi đã biên soạn một danh sách về những gì khuyên bạn nên làm để tối ưu hóa trang web WordPress của bạn. Đây là những yêu cầu để giảm sử dụng tài nguyên theo mỗi phương pháp, và không phải tất cả được yêu cầu. Ví dụ hầu hết khách hàng chỉ cần bộ nhớ đệm WordPress và đó là đủ để sử dụng tài nguyên và trải nghiệm tốt.

Bước 1: Cài plugin Cache (bộ nhớ đệm) cho WordPress

WordPress theo mặc định sẽ tự động tạo ra các trang và các bài viết của bạn bằng cách kéo từ cơ sở dữ liệu của bạn. Nếu bạn có 100 người xem một trong các trang của bạn, theo mặc định này sẽ gây ra 100 PHP hành quyết. Thay vào đó là người đầu tiên để xem trang của bạn nên kéo từ các cơ sở dữ liệu, và tạo một trang lưu trữ. Trang lưu trữ này có thể được xem, hàng trăm, nếu không phải hàng ngàn lần bởi những người khác với cách sử dụng tối thiểu.

Hướng dẫn sử dụng plugin W3 Total Cache để tăng tốc WordPress

Bước 2: Vô hiệu hóa mặc định file wp-cron.php

WordPress sử dụng một tập tin gọi là wp-cron.php như một công việc định kỳ ảo, hoặc nhiệm vụ theo lịch trình để tự động hóa những thứ như dự kiến xuất bản bài viết, kiểm tra các plugin hay theme cập nhật, gửi thông báo email và nhiều hơn nữa.

Theo mặc định thì WordPress được thiết lập để gọi wp-cron.php mọi ai đó truy cập trang web WordPress của bạn khi một tác vụ được thực hiện. Trên các trang web lưu lượng truy cập thấp thì không có nhiều vấn đề, nhưng khi lượng khách truy cập tăng đột biến, máy chủ phải kiểm tra nhiều lần cho các tác vụ theo lịch trình có thể dẫn đến các vấn đề tài nguyên sử dụng cho máy chủ của bạn, cộng với làm cho trang web của bạn tải chậm hơn.Hãy thực hiện các bước sau đây để vô hiệu hóa chúng.

B1: Mở file wp-config.php bằng phần mềm soạn thảo PHP
B2: Tìm đến dòng 37 và thêm đoạn mã dưới đây được đánh dấu màu đỏ:

1
2
3
4
/** The Database Collate type. Don't change this if in doubt. */
define('DB_COLLATE', '');
define('DISABLE_WP_CRON', 'true');

B3: Bấm lưu lại.

Bây giờ WordPress sẽ không tự động chạy các script wp-cron.php mỗi khi trang web của bạn nhận được một lưu lượng truy cập mới.

Tự thiết lập cron job cho wp-cron.php

Đối với hầu hết các bạn đang sử dụng WordPress có kịch bản wp-cron.php chạy mỗi lần 6 giờ là tốt nhất. Đó có thể chỉ là 4 vụ hành quyết trong một ngày, so với có thể hàng trăm, thậm chí hàng ngàn, nếu bạn đã có rất nhiều lưu lượng truy cập trang web của ngày hôm đó.

Các bước cần thực hiện như sau:

B1: Log into cPanel

B2: Dưới phần Advanced, kích vào Cron Jobs.

click-on-cron-jobs

B3: Lựa chọn một khung giờ từ “Common Settings” thả xuống.

select-once-an-hour-from-common-settings

B4: Bây giờ hãy chọn mỗi lần 6 giờ như trong hình dưới.

select-every-6-hours-from-hour-field

B5: Cuối cùng hãy điền vào các mã để chạy công việc định kỳ của bạn và nhấp vào Add New Cron Job.

1
cd /home/userna5/public_html; php -q wp-cron.php

userna5 là tên người sử dụng cPanel của bạn.

Hãy nhớ rằng đường dẫn /home/userna5/public_html sẽ được gán vào một tên miền chính, nếu bạn đang sử dụng một domain addon, hoặc có WordPress cài đặt trong một thư mục con bạn sẽ phải chắc chắn cập nhật đường dẫn của bạn.

fill-in-cron-job-command-click-add-new-cron-job

B6: Đến đây là bước hoàn tất, bạn sẽ thấy rằng công việc định kỳ mới của bạn đã được thêm thành công.

added-cron-job-successfully

Bước 3: Vô hiệu hoá WordPress Autosave và thoát Admin Dashboard khi không sử dụng

1. Vô hiệu hóa Wordpress Autosave

Autosaves WordPress, và hoạt động quản trị bảng điều khiển dựa vào kịch bản /wp-admin/admin-ajax.php.

Đôi khi có thể có hàng trăm, nếu không phải hàng ngàn những yêu cầu này và bạn có thể hạn chế chúng bằng cách vô hiệu hóa tính năng tự động lưu trong WordPress và ở lại đăng xuất khỏi các admin khi không sử dụng.

Trong bài viết này tôi sẽ dạy bạn làm thế nào về cơ bản bạn có thể vô hiệu hóa tính năng tự động lưu WordPress được sử dụng trong khi bạn đang chỉnh sửa trang hoặc bài viết. Điều này có thể giúp ngăn chặn tài khoản của bạn từ việc sử dụng tài nguyên máy chủ quá mức trong khi bạn đang làm việc trên trang web WordPress của bạn.Theo mặc định WordPress sẽ tự động lưu bất kỳ trang nào hoặc bài viết mà bạn đang làm việc trên một lần một phút, vì vậy nếu bạn xảy ra để bắt đầu làm việc trên một bài đăng mới và sau đó bạn đi ra khỏi máy tính của bạn những autosaves sẽ tiếp tục xảy ra.

CẬP NHẬT 2014/02/18: Bắt đầu với phiên bản WordPress 3.6 các tùy chọn dưới đây vẫn vô hiệu hóa chức năng autosave WordPress. Tuy nhiên với WordPress HeartBeat API mới, chỉ đơn giản bằng cách sử dụng các bước dưới đây sẽ không hoàn toàn giới hạn số lượng admin-ajax.php yêu cầu các bảng điều khiển sẽ gửi đến máy chủ.

Vô hiệu hoá WordPress autosave với AUTOSAVE_INTERVAL

Sử dụng các bước dưới đây, tôi sẽ cho bạn thấy làm thế nào bạn có thể sửa đổi tập tin WordPress wp-config.php của bạn để chức năng vô hiệu hóa tính năng tự động lưu WordPress bằng cách thiết lập các giá trị AUTOSAVE_INTERVAL cho cả một ngày.

Làm theo cách này trang hoặc bài viết của bạn sẽ được tự động lưu một lần, rồi sau đó bạn sẽ chỉ cần phải tự bấm vào Save Draft thay vì dựa trên WordPress để làm điều đó một lần một phút cho bạn. Thực hiện các bước dưới đây:

B1: Đăng nhập vào cPanel của bạn.

B2: Truy cập cPanel File Manager Code Editor và tìm đến tập tin wp-config.php.

B3: Nhập mã được đánh dấu phía trên cùng của tập tin wp-config.php:

1
2
3
4
5
6
* @package WordPress
*/
<strong>define('AUTOSAVE_INTERVAL', 86400);</strong>
// ** MySQL settings - You can get this info from your web host ** //

Sau đó bấm vào Save Changes ở phía trên bên phải.

Điều này đặt ra mức độ thường xuyên autosave WordPress nên chạy và trong trường hợp này chúng tôi đã thiết lập nó để 86.400 giây mà là cả một ngày. Vì vậy, nó sẽ vô hiệu hóa những functionaility autosave.

Các thiết lập mặc định trong sử dụng autosave

Dưới đây là một ví dụ từ bản ghi truy cập WordPress của tôi trước khi thực hiện thay đổi này trong khi tôi đã chỉnh sửa một bài viết, bạn có thể xem các yêu cầu đang xảy ra mỗi phút:

123.123.123.123 – – [29/Jan/2013:14:21:53 -0500] “POST /wp-admin/admin-ajax.php HTTP/1.1” 200 187 “http://example.com/wp-admin/post-new.php” “Mozilla/5.0 Chrome/24”
123.123.123.123 – – [29/Jan/2013:14:21:53 -0500] “POST /wp-admin/admin-ajax.php HTTP/1.1” 200 180 “http://example.com/wp-admin/post-new.php” “Mozilla/5.0 Chrome/24”
123.123.123.123 – – [29/Jan/2013:14:22:40 -0500] “POST /wp-admin/admin-ajax.php HTTP/1.1” 200 220 “http://example.com/wp-admin/post-new.php” “Mozilla/5.0 Chrome/24”
123.123.123.123 – – [29/Jan/2013:14:23:40 -0500] “POST /wp-admin/admin-ajax.php HTTP/1.1” 200 220 “http://example.com/wp-admin/post-new.php” “Mozilla/5.0 Chrome/24”
123.123.123.123 – – [29/Jan/2013:14:24:40 -0500] “POST /wp-admin/admin-ajax.php HTTP/1.1” 200 199 “http://example.com/wp-admin/post-new.php” “Mozilla/5.0 Chrome/24”
123.123.123.123 – – [29/Jan/2013:14:25:40 -0500] “POST /wp-admin/admin-ajax.php HTTP/1.1” 200 199 “http://example.com/wp-admin/post-new.php” “Mozilla/5.0 Chrome/24”
123.123.123.123 – – [29/Jan/2013:14:26:40 -0500] “POST /wp-admin/admin-ajax.php HTTP/1.1” 200 199 “http://example.com/wp-admin/post-new.php” “Mozilla/5.0 Chrome/24”
123.123.123.123 – – [29/Jan/2013:14:27:40 -0500] “POST /wp-admin/admin-ajax.php HTTP/1.1” 200 199 “http://example.com/wp-admin/post-new.php” “Mozilla/5.0 Chrome/24”

Cập nhật các thiết lập tự động lưu đến 5 phút.

Sau khi tăng AUTOSAVE_INTERVAL đến 300 giây (5 phút), bạn có thể thấy rằng các yêu cầu hiện nay là khoảng cách nhau 5 phút:

123.123.123.123 – – [29/Jan/2013:15:33:23 -0500] “POST /wp-admin/admin-ajax.php HTTP/1.1” 200 199 “http://example.com/wp-admin/post-new.php” “Mozilla/5.0 Chrome/24”
123.123.123.123 – – [29/Jan/2013:15:38:23 -0500] “POST /wp-admin/admin-ajax.php HTTP/1.1” 200 199 “http://example.com/wp-admin/post-new.php” “Mozilla/5.0 Chrome/24”

Bây giờ bạn sẽ hiểu tại sao WordPress có khả năng sử dụng tài nguyên quá mức khi bạn chỉnh sửa một trang hoặc bài viết.

2. Thoát Wordpress Admin Dashboard khi không sử dụng

Tôi sẽ nhanh chóng chỉ cho bạn thấy lý do tại sao bạn nên đăng xuất admin bảng điều khiển WordPress của bạn khi không sử dụng. Có thể có nhiều yêu cầu mà trình duyệt web của bạn gửi đến các kịch bản /wp-admin/admin-ajax.php trong khi bạn đang đăng nhập vào bảng điều khiển quản trị WordPress, và đi từ máy tính của bạn không cần giám sát trong quá trình cả ngày những người yêu cầu có thể tăng lên đến một số lượng lớn các tài nguyên sử dụng.

Tôi thực sự chỉ cần trả lời một trường hợp khách hàng đã có vấn đề này và nó không may dẫn đến tài khoản của họ bị đình chỉ sử dụng lên hơn 350% tài nguyên CPU được phân bổ của họ trên một máy chủ chia sẻ.

Hướng dẫn sử dụng plugin Wordfence Security để tối ưu và bảo mật WordPress.

Bước 4: Hạn chế hoặc từ chối thu thập thông tin vào công cụ tìm kiếm

Bằng cách sử dụng một tập tin robots.txt, bạn có thể từ chối truy cập vào công cụ tìm kiếm nào đó bạn không muốn thu thập dữ trang web của bạn, hoặc từ chối chúng tới các phần cụ thể của trang web của bạn.

Làm thế nào để ngăn chặn công cụ tìm kiếm thu thập dữ liệu từ Website của bạn
Chỉnh sửa hoặc tạo ra các tập tin robots.txtCác tập tin robots.txt cần phải ở thư mục gốc của trang web của bạn. Nếu tên miền của bạn là example.com nó phải được tìm thấy.Trên website:

Trên sever:

1
/home/userna5/public_html/robots.txt

Bạn cũng có thể tạo một tập tin mới và gọi nó là robots.txt như chỉ là một file văn bản đơn giản nếu bạn không đã có một.

Công cụ tìm kiếm User-agents

Các quy tắc chung nhất, bạn muốn sử dụng trong một tập tin robots.txt được dựa trên User-agent của các công cụ tìm kiếm thu thập thông tin.

Crawler sử dụng một User-agent để xác định mình khi thu thập, đây là một số ví dụ phổ biến

Truy cập công cụ tìm kiếm thu thập thông tin thông qua tập tin robots.txt

Có một vài lựa chọn khi nói đến controling thế nào trang web của bạn là thu thập thông tin với các tập tin robots.txt.

User-agent: quy tắc xác định đó User-agent các quy tắc áp dụng cho, và * là một ký tự đại diện phù hợp với bất kỳ User-agent.

Disallow: đặt các tập tin hoặc thư mục mà không được phép được thu thập.

Dưới đây là một số trong những ứng dụng phổ biến nhất của các tập tin robots.txt:Thiết lập một sự chậm trễ thu thập dữ liệu cho tất cả các công cụ tìm kiếm
Cho phép tất cả các công cụ tìm kiếm thu thập dữ liệu trang web
Không cho phép tất cả các công cụ tìm kiếm thu thập dữ liệu trang web
Không cho phép một công cụ tìm kiếm cụ thể từ bò website
Không cho phép tất cả các công cụ tìm kiếm từ các thư mục đặc biệt
Không cho phép tất cả các công cụ tìm kiếm từ các tập tin đặc biệt
Không cho phép tất cả các công cụ tìm kiếm, nhưng một

Thiết lập một sự chậm trễ thu thập dữ liệu cho tất cả các công cụ tìm kiếm:

Nếu bạn đã có 1.000 trang trên trang web của bạn, một công cụ tìm kiếm có khả năng có chỉ số toàn bộ trang web của bạn trong một vài phút.

Tuy nhiên điều này có thể gây ra hệ thống cao sử dụng tài nguyên với tất cả những trang được tải trong một khoảng thời gian ngắn.

Crawl-delay: 30 giây sẽ cho phép thu thập thông tin để lập chỉ mục toàn bộ trang web 1.000 trang của bạn chỉ trong 8,3 giờ

Crawl-delay: 500 giây sẽ cho phép thu thập thông tin để lập chỉ mục toàn bộ trang web 1.000 trang của bạn trong 5,8 ngày

Bạn có thể thiết lập các Crawl-delay: cho tất cả các công cụ tìm kiếm cùng một lúc với:

1
2
User-agent: *
Crawl-delay: 30

Cho phép tất cả các công cụ tìm kiếm thu thập dữ liệu trang web:

Theo mặc định công cụ tìm kiếm sẽ có thể thu thập dữ liệu trang web của bạn, nhưng bạn cũng có thể chỉ rõ chúng được cho phép với:

1
2
User-agent: *
Disallow:

Không cho phép tất cả các công cụ tìm kiếm thu thập dữ liệu trang web:

Bạn có thể không cho phép bất kỳ công cụ tìm kiếm thu thập dữ liệu trang web của bạn, với các quy tắc:

1
2
User-agent: *
Disallow: /

Không cho phép một công cụ tìm kiếm cụ thể từ bò website:

Bạn có thể không cho phép chỉ là một công cụ tìm kiếm cụ thể từ bò trang web của bạn, với các quy tắc:

1
2
User-agent: Baiduspider
Disallow: /

Không cho phép tất cả các công cụ tìm kiếm từ các thư mục cụ thể:

Nếu chúng tôi đã có một vài thư mục như / cgi-bin /, / tin /, và / tmp / chúng tôi không muốn chương trình để thu thập thông tin chúng ta có thể sử dụng này:

1
2
3
4
User-agent: *
Disallow: /cgi-bin/
Disallow: /private/
Disallow: /tmp/

Không cho phép tất cả các công cụ tìm kiếm từ các tập tin cụ thể:

Nếu chúng ta có một tập tin như contactus.htm, index.htm, và store.htm chúng tôi không muốn chương trình để thu thập thông tin chúng ta có thể sử dụng này:

1
2
3
4
User-agent: *
Disallow: /contactus.htm
Disallow: /index.htm
Disallow: /store.htm

Không cho phép tất cả các công cụ tìm kiếm nhưng một:

Nếu chúng ta chỉ muốn cho phép Googlebot truy cập của chúng tôi / thư mục / private, và không cho phép tất cả các chương trình khác mà chúng tôi có thể sử dụng:

1
2
3
4
5
User-agent: *
Disallow: /private/
User-agent: Googlebot
Disallow:

Khi các Googlebot đọc tập tin robots.txt của chúng tôi, nó sẽ thấy nó không phải là không được phép từ bò bất kỳ thư mục.

Bước 5: Chặn người dùng không mong muốn từ trang web của bạn

Bạn hoàn toàn có thể từ chối truy cập vào website của bạn từ một trong hai địa chỉ IP nhất định, hoặc User-Agent bằng cách sử dụng file .htaccess. Ví dụ mã .htaccess sau đây sẽ chặn công cụ tìm kiếm Baidu.com của Trung Quốc, HTTrack là một máy photocopy trang web, và các công cụ tìm kiếm của Nga Yandex.com.

1
2
3
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^.*(Baiduspider|HTTrack|Yandex).*$ [NC]
RewriteRule .* - [R=403,L]

Bước 6: Ngăn chặn Spam comment WordPress

Bạn nên sử dụng một CAPTCHA plugin để bảo vệ chống lại thư rác nhận xét như WP-reCAPTCHA. Nếu trang web WordPress của bạn đã có thư rác nhận xét bạn có thể dọn sạch WordPress comment spam.

Chống spam trên WordPress với Plugin Akismet

Bước 7: Nâng cấp WordPress thường xuyên

Để đảm bảo tất cả mọi thứ đang chạy tối ưu được bảo cập nhật thường xuyên.

Kết luận

Bây giờ bạn đã có sự hiểu biết tốt hơn để tối ưu và bảo mật website WordPress của bạn để giảm thiểu sử dụng tài nguyên cần thiết từ máy chủ để xử lý yêu cầu tài khoản của bạn. Chúc bạn thành công !

Bài viết này thực hiện (hoặc lụm bài về đăng câu like từ các trang khác) bởi Việt Lâm Coder một YOUTUBER có tâm và đẹp trai siêu cấp vô địch zũ trụ. Các bạn đi ngang nếu được cho Lâm 1 like và 1 đăng ký kênh Youtube nhé !!

Liên hệ ngay với Việt Lâm Coder
Xin chào! Chúng tôi có thể giúp gì cho bạn ?
Gọi ngay cho chúng tôi