Cách tăng tốc độ sitemap yoast seo lên đến gấp 1000 lần.
Cũng không lâu lắm mình mới nhận 1 dự án tăng tốc cho 1 website: có 800.000 sản phẩm, database khoảng gần 40GB.
Khi truy cập vào sitemap với quá nhiều sản phẩm như trên thì sitemap yoast seo lúc vào được và lúc thì không báo lỗi 500 hoặc 503, nếu có vào được thì vào được cực kỳ là chậm.
nhờ kỹ thuật này mình đã giải quyết triệt để được vấn đề trên.
Tuy nhiên, khi sử dụng Yoast trên các trang xuất bản quy mô lớn rất nhiều bài viết, rất nhiều sản phẩm (database lên đến cả chục GB) bạn có thể gặp phải một số tắc nghẽn đáng kể về hiệu suất. Vấn đề phổ biến nhất mà chúng tôi phải giải quyết là việc tạo sitemap XML do plugin yoast seo cung cấp.
Việc tạo tất cả các sitemap web cho một website lớn có tầm hơn 100.000 bài viết là một yêu cầu cao đối với bất kỳ phần mềm tạo sitemap nào trên thị trường. Nó có xu hướng tạo ra thời gian chờ máy chủ lỗi 500 và truy vấn tốn rất rất nhiều tài nguyên.
Nhiều anh em ddos thủ thấy sitemap là một điểm yếu lớn nên vì vậy sẽ tích cực đánh vào sitemap.
website của bạn database không quá khủng thì thực sự bài viết này không có giá trị gì cho bạn, bài viết này chỉ phù hợp với những website có database khủng. website của bạn ít bài viết thì bạn nên bỏ qua bài viết này.
Giải pháp: tạo sitemap tĩnh bằng wp cli với cron
Điều kiện để sử dụng kỹ thuật này:
- Máy chủ có hỗ trợ WP CLI (vì sao mình phải dùng wp cli vì khi database siêu quá khủng thực thi PHP thường toàn báo lỗi thì chỉ có thực thi thông quan WP CLI thôi, nếu như bạn thắc mắc tại sao không biết ra một cơ chế như page cache html cho nó đơn giản tương thích được với nhiều nền tảng sitemap khác nhau cho nó nhanh, như mình đã nói ở bên trên thì database siêu khủng quá truy cập vào sitemap toàn báo lỗi 500 có truy cập được đâu mà tạo cache, buộc phải dùng wp cli)
- website đang sử dụng plugin yoast seo hoặc yoast seo premium
code này mình lấy cảm hứng từ nguồn: https://github.com/TheCodeCompany/yoast-sitemap-cli và mình sửa đổi lại và sữa những lỗi mà plugin này lâu ngày không được cập nhật để cho phù hợp với nhu cầu bản thân mình.
Bạn hãy download plugin cài đặt kích hoạt cho website của mình.
Download Plugins Yoast seo Sitemap offlinebước tiếp theo khai báo noindex và follow cho sitemap.
Với OpenLiteSpeed bạn đưa đoạn này vào cuối file cấu hình vhost
context exp:^.*(sitemap_index.xml)$ {
location $DOC_ROOT/$0
allowBrowse 1
extraHeaders <<<END_extraHeaders
cache-control public,max-age=0
X-Robots-Tag noindex, follow
END_extraHeaders
rewrite {
}
addDefaultCharset off
phpIniOverride {
}
}
Với Apache và litespeed enterprise bạn cho đoạn code này vào file .htaccess
<FilesMatch "(sitemap\.xml|sitemap_index\.xml)$">
<IfModule mod_headers.c>
Header set X-Robots-Tag "noindex, follow"
</IfModule>
</FilesMatch>
Với nginx bạn cho đoạn code này vào file vhost
location ~* sitemap_index\.xml$ {
add_header X-Robots-Tag "noindex, follow";
}
Để sử dụng bạn hãy vào terminal gõ lệnh sau để tạo ra sitemap:
wp yoast-sitemap-giatuan --path=/home/wptangtoc.com --allow-root
hãy thay: /home/wptangtoc.com bằng đường dẫn mã nguồn website của bạn.
Để cho nó chạy một lúc chạy cũng khá lâu ấy, như vậy là bạn đã tạo xong sitemap offline của yoast seo, thì lúc này sẽ có 1 file: là sitemap_index.xml nằm ở ngay trong mã nguồn của bạn.
Như thế là đã tạo xong được sitemap yoast seo cache rồi.
cần cần thêm bước nữa để cho nó tự động hoá. là thêm cho nó vào cron để cứ đến lúc nào đó thì nó sẽ tái tạo lại cache sitemap để cho nó update lại.
bạn vào phần chỉnh sửa code có thể add lệnh này vào:
0 0,3,6,9,12,15,18,21 * * * wp yoast-sitemap-giatuan --path=/home/wptangtoc.com --allow-root >/dev/null 2>&1
ý nghĩa của đoạn cron trên là: 0 giờ, 3 giờ, 6 giờ, 9 giờ, 12 giờ, 15 giờ, 18 giờ, 21 giờ sẽ thực hiện công việc tái tạo lại cache sitemap yoast seo. Và nớ thay /home/wptangtoc.com bằng đường dẫn thư mục của bạn nhé.
Kết luận:
như vậy là xong rồi, Chúc bạn thành công.
Hy vọng bài viết này sẽ hữu ích dành cho những anh em đang quản trị website có lượng database khủng.
Để lại một bình luận