One of my gripes with WordPress’ built in pinging functionality has been that it pings at the wrong times.
If I’m scheduling a post to be published later, it pings when I click Publish, not when the post is actually published. It also pings when I edit a post, not just when I publish. There’s no gain to be had from pinging too often, and pinging when there’s no new content on your site is a bad idea.
So I’d downloaded the Smart Update Pinger plugin, and have been using that for months now. That keeps WordPress from pinging when you edit a post or hit Publish on a scheduled post, but still doesn’t fix the problem of not pinging when the scheduled post is finally published.
So for months now I’ve been manually pinging every so often to let services know about my scheduled posts that have been published.
I finally found a plugin that does exactly what I want it to do. It does not ping on editing, or when hitting Publish on a schedule post, but does ping when the scheduled post is actually posted.
The plugin is MaxBlogPress’ Ping Optimizer. It’s available for free, although you do need to sign up to a list to get it. I installed it a few days ago, and have tested it minimally. It seems to ping when it should, and not ping when it shouldn’t.
Note that the plugin does have an incompatibility with version 3.0.2 of the Google XML Sitemaps plugin. I’ve notified the author of the Ping Optimizer plugin, so hopefully he’ll find a way to fix this.
My workaround for the moment is to disable the sitemap plugin until I want to rebuild the sitemap. Then I activate it, rebuild the sitemap, and deactivate it again. The sitemap.xml file it creates stays around even when the plugin is inactive.