In WordPress, self-requests are HTTP requests that your site sends to itself — typically to wp-cron.php
, admin-ajax.php
, or other endpoints — to perform scheduled tasks, process background jobs, and update content without direct user interaction. While they are an integral part of WordPress’s architecture, they can affect performance if misconfigured.
WP-Cron
WordPress implements a pseudo-cron system called WP-Cron.
It relies on self-requests to trigger scheduled events, including:
- Publishing scheduled posts
- Checking for plugin, theme, and core updates
- Running maintenance routines
Instead of a true system cron, WP-Cron is triggered when someone visits your site — a visit prompts WordPress to send a request to itself (wp-cron.php
) to run pending tasks.
Heartbeat API
Introduced in WordPress 3.6, the Heartbeat API uses AJAX-based self-requests between the browser and the server.
It enables:
- Real-time autosaving of posts
- Live revision tracking
- Notifications of other users editing the same content
These requests typically hit admin-ajax.php
every few seconds when you are in the admin panel.
Pingbacks and Trackbacks
If enabled, WordPress sends self-requests to:
- Verify incoming pingbacks and trackbacks
- Notify other sites when your content links to theirs
While not as commonly used today, they still generate background traffic.
Plugin and Theme Functionality
Many plugins and themes trigger self-requests for purposes such as:
- Fetching external API data
- Running background jobs
- Performing internal synchronization
- Generating reports or refreshing caches
RSS Feeds
If your site consumes RSS feeds (e.g., via widgets or plugins), WordPress may use self-requests to fetch and process feed data for display.
Why Self-Requests Matter for Performance
Self-requests are useful, but excessive or poorly optimized ones can:
- Increase server load
- Delay response times
- Interfere with caching layers
Best practices include:
- Disabling WP-Cron in favor of a real system cron job
- Adjusting Heartbeat API frequency
- Reviewing plugins for unnecessary background requests
FAQ
Are self-requests a security risk?
Normally no, but vulnerabilities in plugins/themes handling these requests can be exploited.
Can I disable them?
Some self-requests like WP-Cron can be replaced with system crons; others, like Heartbeat API, can be limited or disabled via plugins or filters.
Do they affect SEO?
Not directly, but excessive load can slow down your site, which impacts user experience and indirectly affects SEO.