Search Engine Notification Class (Pinger)
The Pinger class is a specialized utility in GeniXCMS that automates the process of notifying search engines, aggregators, and directory services whenever new content is published or existing content is updated. It utilizes the Weblog XML-RPC Ping protocol to ensure your site's changes are indexed as rapidly as possible.
⚡ Execution Methods
Pinger::run($services)
Dispatches a notification to one or more directory services.
| Parameter |
Type |
Required |
Description |
$services |
array\|string |
Yes |
A target URL list (array or newline-separated string). |
Internal Logic: The method automatically extracts the site name, homepage URL, and RSS feed URL from the system settings to populate the ping payload.
// Dispatch to a specific list of engines
$engines = [
'rpc.pingomatic.com',
'blogsearch.google.com/ping/RPC2'
];
Pinger::run($engines);
⚙️ Configuration & Checks
Pinger::isOn()
Verifies if the automated ping systems are enabled in the administrative settings.
- Returns:
bool (True if pinger_enable is set to "Yes").
🏗️ Technical Architecture
The Pinger class leverages the integrated IXR Library (Incubator XML-RPC) for network transport and XML formatting.
- Payload Discovery: Gathers
sitename, siteurl, and rssurl from global options.
- Multicast Handing: If a newline-separated string of services is provided, the class automatically explodes the string into a processable array.
- RPC Transmission:
weblogUpdates.extendedPing: First, it attempts an extended ping for richer metadata.
weblogUpdates.ping: Falls back to a basic ping if the target service does not support extended protocols.
priority_highImportantNetwork Requirements: For the Pinger to function correctly, your server must have cURL enabled and be able to make outbound requests to external XML-RPC endpoints on the public web.
lightbulbTipSEO Performance: In the admin dashboard under Settings > General, ensure you provide a comprehensive list of ping services (like Pingomatic) to maximize your site's organic discovery speed after every new blog post.
See Also
- Vendor Class — How the IXR Library is integrated into the core.
- Posts Class — Where the Pinger is typically triggered after a successful save.