Features

Every module, explained in detail.

CDN Cache Warming

CacheWarmer uses Puppeteer to launch a headless Chromium browser and visit every URL in your sitemap. This triggers CDN edge nodes and reverse proxies to cache the fully rendered page.

Unlike simple HTTP requests, Headless Chrome executes JavaScript, loads all resources, and generates the same response a real browser would. This means your CDN caches the complete, rendered page — including dynamically loaded content.

Key Capabilities

  • Configurable concurrency (process multiple URLs in parallel)
  • Adjustable delay between requests to respect server limits
  • Custom User-Agent string for cache-specific behavior
  • Configurable viewport size for responsive cache warming
  • Wait-until options (load, DOMContentLoaded, networkidle)
Available in all plans
Environment
# .env configuration
CACHE_WARM_ENABLED=true
CACHE_WARM_CONCURRENCY=5
CACHE_WARM_DELAY_MS=1000
CACHE_WARM_USER_AGENT=CacheWarmer/1.0
CACHE_WARM_VIEWPORT_WIDTH=1920
CACHE_WARM_VIEWPORT_HEIGHT=1080
CACHE_WARM_WAIT_UNTIL=networkidle0

Facebook Sharing Debugger

When you share a link on Facebook, it uses cached Open Graph metadata. If you've updated your page title, description, or image, Facebook may still show the old version.

CacheWarmer calls the Facebook Graph API scrape endpoint for each URL, forcing Facebook to re-fetch your Open Graph tags. This ensures that when anyone shares your link, the preview is always current.

Requires a Facebook App ID and App Secret. See the API Keys setup guide for instructions.
Premium

Facebook Sharing Debugger

API Call
POST https://graph.facebook.com/
  ?id=https://example.com/page
  &scrape=true
  &access_token=YOUR_TOKEN

Response:
{
  "url": "https://example.com/page",
  "title": "Your Page Title",
  "description": "Updated description",
  "image": [{ "url": "..." }]
}

LinkedIn Post Inspector

LinkedIn caches link preview data aggressively. CacheWarmer automates what the LinkedIn Post Inspector does manually — forcing LinkedIn to re-crawl and update its cached metadata for your URLs.

This ensures that when your content is shared on LinkedIn, the preview card always shows the latest title, description, and image.

LinkedIn has strict rate limits. CacheWarmer respects them with configurable delays and exponential backoff.
Premium

LinkedIn Post Inspector

Environment
# .env configuration
LINKEDIN_ENABLED=true
LINKEDIN_SESSION_COOKIE=your_session_cookie
LINKEDIN_DELAY_MS=3000
LINKEDIN_MAX_RETRIES=3

Twitter/X Card Cache

Twitter/X caches card previews when a URL is first shared. CacheWarmer pre-warms this cache by triggering Twitter's card validator for each URL in your sitemap.

This means every link shared on Twitter/X will display the correct card with your latest title, description, and image — right from the first share.

Premium

X Card Validator

Environment
# .env configuration
TWITTER_ENABLED=true
TWITTER_DELAY_MS=2000
TWITTER_MAX_RETRIES=3

Pinterest Rich Pin Validator

Pinterest Rich Pins pull metadata from your pages to display enhanced previews. When you update your content, Pinterest may continue showing outdated information.

CacheWarmer refreshes your Rich Pin Open Graph metadata for every URL in your sitemap, ensuring Pinterest always displays current titles, descriptions, and images.

Premium New in v1.1.0

Pinterest URL Debugger

Environment
# .env configuration
PINTEREST_ENABLED=true
PINTEREST_DELAY_MS=2000
PINTEREST_MAX_RETRIES=3

IndexNow Protocol

IndexNow is an open protocol that enables websites to instantly notify participating search engines about content changes. Supported by Bing, Yandex, Seznam, Naver, and others.

CacheWarmer submits your URLs directly to the IndexNow API, ensuring search engines discover your new and updated content immediately instead of waiting for the next crawl cycle.

IndexNow requires a key file hosted at your domain root. See the setup guide.
Available in all plans

indexnow.org

API Call
POST https://api.indexnow.org/indexnow
Content-Type: application/json

{
  "host": "example.com",
  "key": "your-indexnow-key",
  "urlList": [
    "https://example.com/page-1",
    "https://example.com/page-2",
    "https://example.com/page-3"
  ]
}

Google Search Console API

Submit URLs directly to Google for inspection and indexing via the Google Search Console API. This is the fastest way to get Google to discover and index your new or updated content.

CacheWarmer manages Google's daily quota (200 URL inspections per day) automatically, prioritizing new and recently updated URLs.

Requires a Google Cloud service account with Search Console API access. Daily limit: 200 URLs. See the setup guide.
Premium

Google Search Console

Environment
# .env configuration
GOOGLE_ENABLED=true
GOOGLE_SERVICE_ACCOUNT_JSON=./config/google-sa.json
GOOGLE_DAILY_QUOTA=200
GOOGLE_DELAY_MS=1500

Bing Webmaster Tools API

Direct URL submission to Bing via their Webmaster API, complementing IndexNow for comprehensive Bing coverage. This ensures Bing discovers your content through multiple channels.

CacheWarmer handles authentication, rate limiting, and error handling automatically. Supports batch submission of up to 500 URLs per request.

Premium

Bing Webmaster Tools

Environment
# .env configuration
BING_ENABLED=true
BING_API_KEY=your_bing_api_key
BING_DELAY_MS=1000
BING_MAX_RETRIES=3

Cloudflare Cache Purge + Warm

For sites behind Cloudflare, CacheWarmer integrates directly with the Cloudflare Zone API to purge stale cache entries and immediately re-warm them with fresh content.

This two-step process ensures your Cloudflare edge caches are never stale: first purge the old content, then immediately warm with the new version. Auto-detection of Cloudflare zones makes setup straightforward.

Requires a Cloudflare API token with Zone.Cache Purge permissions. Enterprise plan only. See the API Keys setup guide.
Enterprise New in v1.1.0
Environment
# .env configuration
CLOUDFLARE_ENABLED=true
CLOUDFLARE_API_TOKEN=your_cf_api_token
CLOUDFLARE_ZONE_ID=your_zone_id
CLOUDFLARE_PURGE_BEFORE_WARM=true

Imperva Cache Purge + Warm

For sites protected by Imperva (formerly Incapsula), CacheWarmer integrates with the Imperva API to purge stale cache entries and re-warm them with fresh content.

Works the same way as Cloudflare integration: purge first, then immediately warm. Supports both site-level and resource-level cache purging for granular control.

Requires an Imperva API ID and API key with cache purge permissions. Enterprise plan only. See the API Keys setup guide.
Enterprise New in v1.1.0
Environment
# .env configuration
IMPERVA_ENABLED=true
IMPERVA_API_ID=your_imperva_api_id
IMPERVA_API_KEY=your_imperva_api_key
IMPERVA_SITE_ID=your_site_id
IMPERVA_PURGE_BEFORE_WARM=true

Akamai Cache Purge + Warm

For sites behind Akamai CDN, CacheWarmer integrates with the Akamai Fast Purge API (CCU v3) to invalidate stale cache entries and immediately re-warm them.

Supports both URL-level and CP code-based purging. Fast Purge invalidation typically completes within seconds, followed by immediate re-warming with fresh content.

Requires Akamai EdgeGrid API credentials with CCU (Content Control Utility) access. Enterprise plan only. See the API Keys setup guide.
Enterprise New in v1.1.0
Environment
# .env configuration
AKAMAI_ENABLED=true
AKAMAI_CLIENT_SECRET=your_client_secret
AKAMAI_HOST=your_host.purge.akamaiapis.net
AKAMAI_ACCESS_TOKEN=your_access_token
AKAMAI_CLIENT_TOKEN=your_client_token
AKAMAI_PURGE_BEFORE_WARM=true

Smart Warming Premium

Warm smarter, not harder. Only process URLs that have actually changed.

Diff-Detection

Compares sitemap lastmod timestamps between runs. Only URLs with updated content are re-warmed, saving time and API quotas.

Priority-Based

Process high-priority URLs first based on sitemap <priority> values. Your most important pages are always warmed first.

Conditional (Enterprise)

Skip URLs that already have a fresh CDN cache by checking Age and max-age response headers before warming.

Analytics & Reporting Premium

Understand your cache performance with detailed insights.

Cache Hit/Miss Analysis

Parse CDN response headers (X-Cache, CF-Cache-Status) to visualize cache effectiveness across your site.

Performance Trending

Track response times per URL across warming runs. Spot performance regressions before they impact your users.

Success Rate Dashboard

Per-target success and failure statistics with historical trending. See which warming targets perform best.

Quota Usage Tracker

Visual progress bars for Google and Bing daily quotas. Automatic alerts at 80% and 100% usage thresholds.

CSV/JSON Export

Export warming results, failed URLs, and skipped URLs in CSV or JSON format for further analysis or reporting.

Automated Reports (Enterprise)

Generate PDF or HTML reports per warming job automatically. Perfect for client reporting and audit trails.

Monitoring & Alerting Premium

Catch issues before they affect your visitors.

Broken Link Detection

Flag URLs returning 404 or 5xx status codes during warming. Export broken links as a report for your team to fix.

SSL Expiry Warnings

Get notified 30 days before your SSL certificates expire. Prevent unexpected downtime and SEO penalties.

Performance Alerts (Enterprise)

Automatic alerts when response times increase by more than 50%. Catch performance regressions early.

Built-in Rate Limiting & Throttling

Every module respects service-specific rate limits with configurable delays and intelligent retry logic.

Service Default Rate Configurable Retry Strategy
CDN Warming 5 concurrent, 1s delay Yes Exponential backoff
Facebook 1 req/s Yes Exponential backoff, max 3
LinkedIn 1 req/3s Yes Exponential backoff, max 3
Twitter/X 1 req/2s Yes Exponential backoff, max 3
Pinterest 1 req/2s Yes Exponential backoff, max 3
IndexNow Batch of 10,000/req Yes Retry on 429/5xx
Google 200/day quota Yes Quota-aware scheduling
Bing 1 req/s Yes Exponential backoff, max 3
Cloudflare 30 URLs/batch Yes Rate-limit aware
Imperva 100 URLs/batch Yes Rate-limit aware
Akamai 50 URLs/batch Yes Rate-limit aware

Ready to Automate Your Cache Warming?

Get started in minutes with Docker or install from source.