Title: cbnet Ping Optimizer
Author: Chip Bennett
Published: <strong>Ṣẹrẹ 7, 2010</strong>
Last modified: Ọ̀pẹ  20, 2012

---

Ṣàwárí àwọn plugin

Plugin yìí **kò tíì ṣe àyẹ̀wò pẹ̀lú àwọn ìtújáde mẹ́ta pàtàkì tó kẹ́yìn ti WordPress**.
Ó lè jẹ́ pé a kò tọ́jú tàbí ṣe àtìlẹ́yìn fún un mọ́, ó sì lè ní àwọn ọ̀ràn ìbámu
nígbà tí a bá lò ó pẹ̀lú àwọn ẹ̀yà WordPress tuntun.

![](https://s.w.org/plugins/geopattern-icon/cbnet-ping-optimizer.svg)

# cbnet Ping Optimizer

 Láti ọwọ́ [Chip Bennett](https://profiles.wordpress.org/chipbennett/)

[Ṣe ìgbàsílẹ̀](https://downloads.wordpress.org/plugin/cbnet-ping-optimizer.3.0.zip)

 * [Àwọn àlàyé](https://yor.wordpress.org/plugins/cbnet-ping-optimizer/#description)
 * [Àwọn àgbéyẹ̀wò](https://yor.wordpress.org/plugins/cbnet-ping-optimizer/#reviews)
 *  [Ìgbéwọlẹ̀](https://yor.wordpress.org/plugins/cbnet-ping-optimizer/#installation)
 * [Ìdàgbàsókè](https://yor.wordpress.org/plugins/cbnet-ping-optimizer/#developers)

 [Ìrànlọ́wọ́](https://wordpress.org/support/plugin/cbnet-ping-optimizer/)

## Àpèjúwe

Hello there! You may be wondering why youÌtumọ̀ Yorùbá: ’re reading this, instead
of looking at Plugin settings. Well, the reason that youÌtumọ̀ Yorùbá: ’re not looking
at Plugin settings is because there arenÌtumọ̀ Yorùbá: ’t any Plugin settings anymore.
In fact, this Plugin doesnÌtumọ̀ Yorùbá: ’t have any functionality anymore.

Why? Because this PluginÌtumọ̀ Yorùbá: ’s functionality is no longer needed. In 
fact, this PluginÌtumọ̀ Yorùbá: ’s functionality may never have been needed in the
first place. But regardless of that, it certainly isnÌtumọ̀ Yorùbá: ’t needed now.

#### How Pings Work in WordPress

Let me explain why, starting with a walkthrough of how pings work in WordPress, 
courtesy of @Otto42:

 * When a post gets created, updated, inserted, modified, etc., eventually, it always
   goes through wp_insert_post().
 * wp_insert_post() calls wp_transition_post_status().
 * wp_transition_post_status() does various actions, but importantly it does this:
 * do_action(“{$new_status}_{$post->post_type}”, $post->ID, $post);
 * So the action of new-status and new-post-type is called. In this case, weÌtumọ̀
   Yorùbá: ’re interested in the publish status on the post post-type, so publish_post
   is the action hook.
 * In wp-includes/default-filters.php, we have this:
    ** add_action( ‘publish_post’,‘
   _publish_post_hook’, 5, 1 ); ** So that causes publish_post to call _publish_post_hook().
 * _publish_post_hook(), among other things, adds the ‘_pingme’ post meta to the
   post, and schedules the do_pings action for a one-time cron call, which will 
   happen on the next page load (because itÌtumọ̀ Yorùbá: ’s hooked to time() for
   the schedule).
 * Again in wp-includes/default-filters.php, we have this:
    ** add_action( ‘do_pings’,‘
   do_all_pings’ );
 * The do_all_pings() function does all the pings for all the posts that are marked
   as needing them done at the moment.

Regarding draft, scheduled (future), and edited posts:

 * Draft posts have a post_status of draft, meaning that wp_transition_post_status()
   calls do_action() on draft_post rather than on publish_post. Scheduled posts 
   have a post_status of future, meaning that wp_transition_post_status() calls 
   do_action() on future_post rather than on publish_post. Thus, neither draft nor
   scheduled posts get pings sent for them until they actually transistion to publish,
   since that is when the publish_post action will get fired.
 * Editing posts: editing an existing post will send pings for the post, but do_all_pings()
   is smart. It calls the pingback() function to send pingbacks to blogs, and that
   in turn calls the get_pung() function to get the URLs in the post that have already
   been successfully pinged once before. This is very old code Ìtumọ̀ Yorùbá: – 
   so old, in fact, that the list of pinged blogs is actually a primary column (
   pinged) in the wp_posts table.

#### Why the Ping Optimizer Plugin IsnÌtumọ̀ Yorùbá: ’t Needed

So consider again the Plugin description:

> Do you know your WordPress blog pings unnecessarily every time you edit a post?
> Think how many times you click on “Save and Continue Editing” or “Save” button.
> Your blog will ping unnecessarily that many times you click on those buttons.
> Save your blog from getting tagged as ping spammer by installing this plugin.
> After you install cbnet Ping Optimizer:
>  * When you create a new post, your blog will ping and notify all the ping services
>    that it has been updated. This encourages search engines and different blog
>    directories/services to index your updated blog properly.
>  * When you edit an existing post, it wonÌtumọ̀ Yorùbá: ’t send any unnecessary
>    ping to ping services and saves your blog from getting banned by such services.
>  * When you post a future post by editing the time stamp, it will ping only when
>    your post appears in future. It wonÌtumọ̀ Yorùbá: ’t unnecessarily ping many
>    times when you schedule posts as WordPress does by default.

It should be obvious that most of that just isnÌtumọ̀ Yorùbá: ’t true anymore.

> Think how many times you click on “Save and Continue Editing” or “Save” button.
> Your blog will ping unnecessarily that many times you click on those buttons.

As you see above, this isnÌtumọ̀ Yorùbá: ’t true. Saving a draft post does not fire
the publish_post action; therefore, no pings are triggered.

> When you create a new post, your blog will ping and notify all the ping services
> that it has been updated.

WordPress core functionality does this already.

> When you edit an existing post, it wonÌtumọ̀ Yorùbá: ’t send any unnecessary ping
> to ping services and saves your blog from getting banned by such services.

As you see above, WordPress intelligently fires pings when a post is edited, by 
keeping track of previous successful pings and not re-pinging them.

> When you post a future post by editing the time stamp, it will ping only when 
> your post appears in future. It wonÌtumọ̀ Yorùbá: ’t unnecessarily ping many times
> when you schedule posts as WordPress does by default.

As you see above, scheduling a post fires the future_post action, and not the publish_post
action. Thus, until a scheduled post actually transitions to publish, thereby firing
the publish_post action, no pings are triggered.

So, none of this PluginÌtumọ̀ Yorùbá: ’s functionality is needed. You can safely
deactivate and uninstall it, with the understanding of why the core WordPress handling
of pings works just fine.

## Ìgbéwọlẹ̀

DonÌtumọ̀ Yorùbá: ’t install this Plugin. You donÌtumọ̀ Yorùbá: ’t need it

## FAQ

  Installation Instructions

DonÌtumọ̀ Yorùbá: ’t install this Plugin. You donÌtumọ̀ Yorùbá: ’t need it

  Why publish a Plugin that isnÌtumọ̀ Yorùbá: ’t needed?

Originally, I forked this Plugin from another Plugin. That other Plugin, while released
under GPL, required users to register and sign up for an email newsletter just to
be able to use the Plugin. So, I forked it and removed all of the registration/email
subscription code. Essentially, I forked the Plugin to prove a point, rather than
to improve the code.

I did the same thing for a few other Plugins, for the same reason. When I originally
released them, I just ripped out the registration/email subscription code, and re-
released them. Recently, I have completely re-written all of those Plugins, except
for this one. I was able to improve upon the code and functionality for the other
Plugins, but not for this one. So, IÌtumọ̀ Yorùbá: ’m simply updating this Plugin,
and releasing it without functionality, and an explanation for why it is not needed.

## Àwọn àgbéyẹ̀wò

Kò sí àwọn àgbéyẹ̀wò fún plugin yìí.

## Àwọn Olùkópa & Olùgbéejáde

“cbnet Ping Optimizer” jẹ́ ètò ìṣàmúlò orísun ṣíṣí sílẹ̀. Àwọn ènìyàn wọ̀nyí ti 
ṣe ìkópa sí plugin yìí.

Àwọn Olùkópa

 *   [ Chip Bennett ](https://profiles.wordpress.org/chipbennett/)

[Túmọ̀ “cbnet Ping Optimizer” sí èdè rẹ.](https://translate.wordpress.org/projects/wp-plugins/cbnet-ping-optimizer)

### Ṣe o nífẹ̀ẹ́ sí ìdàgbàsókè?

[Ṣàwárí koodu](https://plugins.trac.wordpress.org/browser/cbnet-ping-optimizer/),
ṣàyẹ̀wò [ibi ìpamọ́ SVN](https://plugins.svn.wordpress.org/cbnet-ping-optimizer/),
tàbí ṣe àgbékalẹ̀ sí [àkọsílẹ̀ ìdàgbàsókè](https://plugins.trac.wordpress.org/log/cbnet-ping-optimizer/)
nípasẹ̀ [RSS](https://plugins.trac.wordpress.org/log/cbnet-ping-optimizer/?limit=100&mode=stop_on_copy&format=rss).

## Àkọsílẹ̀ àwọn àyípadà

#### 3.0

 * Major update
 * Plugin functionality not needed, and therefore removed and replaced with an explanation
   of why it is not needed.

#### 2.3.3

 * Bugfix update.
 * Fixed the Settings page link in the plugin description, and moved to Plugin Actions
   list (next to Deactivate|Edit links).
 * On settings page, moved Clear Log link to the top of the ping log, and added 
   a record count.

#### 2.3.2

 * Readme.txt update.
 * Updated Donate Link in readme.txt.

#### 2.3.1

 * Fixes bug in which options page settings do not save

#### 2.3

 * Initial Release
 * Forked from cbnet Ping Optimizer plugin version 2.2.5

## Àkójọpọ̀ Meta

 *  Ẹ̀yà **3.0**
 *  Ìgbàgbọ́hùn tó kẹ́yìn **ọdún 9 sẹ́yìn**
 *  Àwọn ìgbéwọlẹ̀ tó ṣiṣẹ́ **1,000+**
 *  Ẹ̀yà WordPress ** 2.9 tàbí ju bẹ́ẹ̀ lọ **
 *  Dánwò dé **3.5.2**
 *  Èdè
 * [English (US)](https://wordpress.org/plugins/cbnet-ping-optimizer/)
 * Àwọn àmì
 * [cbnet](https://yor.wordpress.org/plugins/tags/cbnet/)[Ping Optimizer](https://yor.wordpress.org/plugins/tags/ping-optimizer/)
 *  [Ìwòye Tó Péye](https://yor.wordpress.org/plugins/cbnet-ping-optimizer/advanced/)

## Àwọn ìbò

Kò sí ìwádìí tí a tíì fi ránṣẹ́.

[Your review](https://wordpress.org/support/plugin/cbnet-ping-optimizer/reviews/#new-post)

[Wo gbogbo àwọn àgbéyẹ̀wò](https://wordpress.org/support/plugin/cbnet-ping-optimizer/reviews/)

## Àwọn Olùkópa

 *   [ Chip Bennett ](https://profiles.wordpress.org/chipbennett/)

## Ìrànlọ́wọ́

Nǹkan wà tí o fẹ́ sọ? Ṣé o nílò ìrànlọ́wọ́?

 [Wo àpéjọ ìrànlọ́wọ́](https://wordpress.org/support/plugin/cbnet-ping-optimizer/)

## Ṣe ìtọrẹ

Ṣé o fẹ́ ṣe àtìlẹ́yìn fún ìlọsíwájú plugin yìí?

 [ Ṣe ìtọrẹ sí plugin yìí ](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=QP3N9HUSYJPK6)