Other blogs are pinging your blog and your blog isn't receiving them. Have you ever wondered why? Do you care? If you don't know or you don't care, how do you know anyone is pinging you? Are you relying on a 3rd-party service like Technorati or are you waiting for them to appear on your dashboard? Technorati doesn't always respond to pings and your dashboard relies on Google's blog search (although this can be changed in the later versions of WordPress). Wouldn't fixing the incoming ping problem be a better solution?
This is a follow-up to both "WordPress Bloggers: Fix Your Incoming Pings With WP_PingPreserver" and "A WordPress Guide to Pingbacks and Trackbacks". This time, the emphasis is on your theme code.
There are only 4 reasons your blog wouldn't be receiving pings:
- Your theme is missing some code.
- The incoming pings are getting stuck in your spam filter (probably Akismet).
- You unchecked "Allow link notifications from other blogs (pingbacks and trackbacks.)" in Settings/Discussion Settings.
- You're unchecking "Allow Pings" before publishing your blog posts.
Missing Theme Code
WordPress blog themes require two critical pieces of code, one of them in the header.php file and one of them in the index.php file, in order to process incoming pings.
In the header.php file:
<link rel="pingback" href="<?php bloginfo('pingback_url'); ?>" />
or
<link href="<?php bloginfo('pingback_url'); ?>" rel="pingback" />
It's the same code, just in a different order.
In the index.php file:
This function has to be somewhere within the loop, preferably just after the line with "while" or just before the line with "endwhile".
<!-- <?php trackback_rdf(); ?> -->
The surrounding comment code is required to prevent a certain error from appearing.
Pingbacks Stuck In The Spam Queue
Akismet is notorious for marking pings, processed into pingbacks, as spam. Part of the reason is that some blog owners mark them as spam when they aren't. Check your spam queue and de-spam as appropriate.
Unchecking The Options
If you're wondering why your not receiving pings and you're unchecking the options that allow them, I have nothing to say to you.
A Real World Example
I stopped by a blog I read regularly, "ShanKri-la", to see why my pings haven't been showing up as pingbacks on his blog. I viewed the source of his home page. Sure enough, the function needed in the index.php file was missing.
I don't blame K for the missing function. I blame the theme designer. I've found 3 themes (including his) with the relevant code missing. My guess is that some theme designers are copying templates without checking to make sure all the code is in place. I seriously doubt they remove the code intentionally, but I could be wrong.




[...] Cunningham of Untwisted Vortex has a useful post that explains why your Wordpress blog isn't receiving pings. There could be more than one possible cause, but RT goes through many of the usual [...]