Key Takeaways
- WordPress pings only occur when posts are published or edited, not for pages. Pinging is a notification sent out by a post to announce itself, usually to services like Pingomatic or Technocrati, and is effective for search engine notice.
- WordPress uses different codes to manage changes for posts and pages. The code for posts includes logging a call to the ping services, while pages do not have this action, meaning they don’t get a ping.
- If a site is primarily made up of pages and requires pinging, a plugin can be used to detect page changes and send out a ping, similar to posts. However, missing an occasional ping is not detrimental for most sites.
- Editing a post does send a new ping signal, but it is not a problem as the WordPress pseudo cron routine processes it with a delay and ignores multiple ping requests. There is no risk of a ban for editing your post multiple times in a short period.
Ping, Ping, Post and Page
For those not familiar with WordPress, here’s some of the relevant parts:- A Post is timestamped content, and usually displays its date along with the category and author name. It also displays on the blog list (roll) in chronological order.
- A Page has no date, no category, and no author (although there’s an author internally), and appears on its own web page.
- A Ping is the message sent out by a post to announce itself, usually to a service like Pingomatic or Technocrati.
- A Ping is also used when you reference other blogs in your posts, either by including the URL in the article (which sends a pingback to the other blog), or by adding the URL to the Send Trackback box that appears when editing an article in WordPress Admin. These pingbacks/trackbacks can sometimes find their way into the other blog’s comments. The reverse is also true, since another blog can ping you about their article. These are the pings referenced in the WordPress Admin tab Settings; Discussion Settings.
Timing Those Pings Right
It used to be that a ping happened when the article was saved, no matter the publish date. This was a problem, because if you decided to ‘load up’ a blog with thirty articles, one to appear each day, you’d actually ping places like Pingomatic thirty times that first day, and then nothing at all for the rest of the month! Obviously this isn’t what you want, and I wrote my first WordPress book and plugin to make sure pings went out when the article went live, not when the first draft was saved. Of course that was 2006, and WordPress pinging has long been fixed. Now, WordPress checks constantly for scheduled article due dates, and publishes them at the appropriate time; it also schedules, not sends, the ping messages then. The result is the pinging for your articles will happen after the article goes live, but not always immediately after, since the scheduled ping request may not happen for a minute or more. The reason is that all ping requests are handled by the WordPress cron job, a bit of code that does what’s called a pseudo cron. Cron refers to a program on Unix and Linux computers that runs tasks at a specific time. For example, you might run a cron job once a night to back up your database. They are simple, easy(ish) to set up, and reliable. WordPress fakes this timing program by running a bit of code when a web page is viewed; this code sees if anything scheduled needs to be done, like moving an article from scheduled status to published, and pinging, then goes and does any tasks it finds. On low-traffic blogs it can produce odd results, since those page views are the driving force for this pseudo cron job to work. The result is that your pings may go out much later than expected, minutes or even hours later. However, it’s a rare blog with that little traffic, and so is unlikely to be a problem.To Ping, Or Not To Ping
Now with the groundwork laid, what’s the answer to the question: do Pages ping on publish? The answer is no. WordPress uses very specific, and different, code to manage changes for pages and posts. For example, there is one function called when a post changes from Scheduled to Published, and another for the same change in Pages. However, the code called for posts includes logging a call to the ping services—that is, it adds a WordPress cron entry to do a ping; pages do not have this action, so they don’t get a ping. This can be a problem for some bloggers, especially beginners. Pages can make up the bulk of a typical site since they are more web-like (after all, few web pages need an author listed, or a date). In using pages instead of posts, you lose out on pinging when adding new pages or updating old. However, while this is serious for a new site (no notification for all that content), a site already indexed depends less on pings for search engine visits, and may have less of an issue with it. So while a ping is an asset, for most sites, missing an occasional ping is not the end of the world. And what about that new wrinkle, custom pages? Custom pages are like pages, but can be massaged to look and act very different, with customized fields and display. They seem like a great way to set up a specialized site. Unfortunately, they too are like any other page, and have no pinging. So be careful designing a custom page site if you plan on using pinging for SEO; for traffic, only posts and pings go together. However, what if you’re stuck with a site full of pages, and need the pinging? This can happen with a legacy site where you regularly update pages. With sites like that, you’ll need help in the form of a plugin. I’ve written a very short one that simply detects a page change and sends out a ping, just like posts do. You can get it at ActiveBlogging. Just upload and activate to duplicate the ping settings for your posts.What About Edits?
One final aspect of pinging to consider is editing: is there a new ping when editing? And if so, do I risk some sort of ban? Digging into the WordPress code, there IS a ping signal sent on a post edit (not on page edits of course). So each and every edit causes a new ping list call out. But is that a bad thing? Not really. First off, remember the ping signal is not sent out immediately but is passed to the WordPress pseudo cron routine for processing, which adds a delay. This routine ignores multiple ping requests, so only one will eventually get sent. Additionally, a ping request is not the post’s URL, but the blog’s URL, so that means editing multiple posts over a short period combines the pings, further reducing the number actually sent. Finally, the real problem is people that send out pings hundreds or even thousands of times a day. No one can write (or edit) that much, and so obviously it’s a traffic-generating trick. Too many of those, and a company like Pingomatic would need to take action, or melt their servers from the traffic. So they go after the abusers; but rest assured that editing your article five times in five minutes as you catch misspellings is not in the same category as those people!Conclusion
To sum up: Ping requests happen when Posts are published, and when published posts are edited. No other times, and not for pages (at least not without outside help, like a plugin). The requests are executed when WordPress gets around to them, in large part depending on your blog traffic. This article required a great deal of code ‘spelunking’ and research to confirm everything; surprisingly, in the over five years since I solved the first ping issue, no one has actually researched when and how pings work (at least, no one I found online). I guess it’s somewhat understandable, given the spaghetti code I had to follow to tease out the details. Nonetheless, knowing how your blog “calls out” should have a big influence on how you set up WordPress blogs in the future—and help you maximize the reach of every bit of that valuable content you put onto your blogs!Frequently Asked Questions about WordPress Pinging
What is the purpose of WordPress pinging?
WordPress pinging is a notification system that informs search engines and other websites about updates or new content on your site. This feature helps to increase the visibility of your content on the internet. When you publish a new post, WordPress automatically sends out a ping, which is essentially an invitation for search engines and directories to index your new content.
Does WordPress ping both pages and posts?
By default, WordPress only pings new posts, not pages. This is because posts are typically the content that is updated most frequently. However, with the right plugins or code modifications, you can set WordPress to ping pages as well.
How can I customize my WordPress ping list?
You can customize your WordPress ping list by going to Settings > Writing in your WordPress dashboard. There, you’ll find a box labeled ‘Update Services’. You can add or remove ping services from this list as needed.
What is a WordPress ping list?
A WordPress ping list is a list of services that WordPress will notify whenever you publish a new post. These services then index your new content, helping to increase its visibility on the internet.
Can excessive pinging harm my website’s SEO?
Yes, excessive pinging can potentially harm your website’s SEO. If you ping too frequently, search engines may view this as spammy behavior and penalize your site. It’s important to strike a balance between pinging enough to get your content noticed, but not so much that it harms your site’s reputation.
How can I prevent excessive pinging in WordPress?
There are several strategies to prevent excessive pinging in WordPress. One method is to limit the number of pings by using a plugin that controls the ping functionality. Another method is to manually control when pings are sent by only pinging when significant updates are made to your content.
What is Ping-O-Matic?
Ping-O-Matic is a service that updates different search engines about your new content. It’s one of the most popular pinging services and is included in the default WordPress ping list.
Can I use other pinging services besides the ones in the default WordPress ping list?
Yes, you can use any pinging service you like. Simply add the service’s update URL to your WordPress ping list.
How often should I update my WordPress ping list?
There’s no set rule for how often you should update your WordPress ping list. However, it’s a good idea to review and update your list periodically to ensure it includes all the services you want to notify about your new content.
Can I disable WordPress pinging?
Yes, you can disable WordPress pinging. To do this, simply remove all the services from your WordPress ping list. However, keep in mind that doing so will mean search engines and other services won’t be automatically notified about your new content.
As a programmer and developer, David Pankhurst was first drawn to the Open Source program WordPress in 2004. Since 2006, he's been running a WordPress membership site at ActiveBlogging where he explains the ins and outs of blogging, programming, marketing, and of course, WordPress.