A CLI script built to help you warm up the website cache by scanning through the sitemap.xml. This utility help to
warm up website in major encoding like brotli, gzip, warm up images by various encoding like AVIF, WebP.
Tài liệu Tiếng Việt tại đây - Vietnamese documentation here: https://datuan.dev/backlog/datuan-sitemap-warmer/
By default, this utility will warm up any URLs that changed in last 5 minutes (300s) by checking the value
of <lastmod> tag in sitemap.xml files and any images inside URLs through <image:image> tag. If you want to test this
plugin, try to update some posts or pages or using parameter --range
with a higher value. See Options section for more details.
docker run tdtgit/sitemap-warmer yourdomain.comFor more options and parameters, please refer to Options section.
(In case you don't have Docker installation)
- NodeJS 12/14/16+
- Ubuntu/CentOS/*nix or Windows/MacOS
- A website has a sitemap.xml endpoint. Example: https://datuan.dev/sitemap.xml. Tested and worked well with plugins RankMath SEO, Yoast SEO, Jetpack.
Install NodeJS and install the utility by command below:
npm install -g datuan-sitemap-warmerThen you can try to scan and warm up some sites using a simple command. Replace datuan.dev to your site's domain.
Protocol (https://) is a default option and only specific if your site are still running http://
warmup datuan.dev
# OR
warmup http://nonhttps.comYou can (should) setup a cronjob to run your command automatically. The recommendation interval is every minute.
* * * * * warmup datuan.devFor best practice, add another cronjob to warm up all URLs in sitemap in case any URL not warmed up yet. See more at Options section.
0 */12 * * * warmup datuan.dev -a
* * * * * warmup datuan.devYou can also warm up multiple domains of course.
* * * * * warmup http://domain1.com
*/2 * * * * warmup domain2.net
*/5 * * * * warmup domain3.xyzUsage:
warmup datuan.dev <URL> <parameter>| Parameter | Description | Default |
|---|---|---|
-a, --all |
Warm up all URLs in sitemap | False |
-r, --range |
Only warm up URLs with lastMod newer than X seconds.This parameters is ignored if -a (--all) is provided |
300s (5 minutes) |
-d, --delay |
Delay (in milliseconds) between each warm up call. If you using the low-end hosting, keep this value higher |
500 |
--no-images |
Disable images warm up | False |
--no-css |
Disable CSS warm up | False |
--no-js |
Disable Javascript warm up | False |
--no-brotli |
Disable Brotli compression warm up | False |
-q, --quite |
Suppress the debug log | False |
-h, --headers |
Add custom headers | None |
warmup datuan.dev --headers.auth "Bearer super_secret" --headers.user-agent "My own crawler"...
Thanks goes to these wonderful people (emoji key):
Robert Michalski 💻 |
This project follows the all-contributors specification. Contributions of any kind welcome!