Forum Moderators: Robert Charlton & goodroi
[edited by: tedster at 1:38 am (utc) on Jun 15, 2012]
I worked with one client who was in the same boat - and the move that fixed it involved using PubSubHubbub {PuSH) to send a "fat ping" to Google at the instant new content was posted by my client. This establish HIS authorship rather soundly. In addition, my client had an RSS feed which we put on a 1-hour delay, just for insurance.
Reference: [code.google.com...]
Is this the same as what wordpress plugins like Google XML Sitemaps does?
When you post it generates a sitemap and notifies Google. I am just not sure if it uses pubsubhubbub
The standard PubSubHubbub protocol specifies that the publisher (you) does light pings to the hub, because the origin of these pings cannot be verified. When we get a light ping, we will then poll your feed to identify what's new vs. what is old.
However, this polling can become pretty expensive if you have tens of thousands of feeds and more. In this case, you can start to perform fat pings.
You will use the same syntax as light pings, but add 2 additional parameters :
hub.content : the content of the feed, including only the new entry(ies). We will directly parse this content, rather than poll the feed.
hub.signature : this is an HMAC signature computed with the secret shown below, and the hub.content. This will allow us to know that this content is coming from you and wasn't forged by a 3rd party.
<link rel='self' type='application/atom+xml' href='yourfeedurl'/>
<link rel='hub' href='http://pubsubhubbub.appspot.com/'/>
$params = "hub.mode=publish&hub.url=".urlencode("http://www.example.com/atomfeed");
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$params);
curl_setopt($ch, CURLOPT_URL,'http://pubsubhubbub.appspot.com/');
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_exec ($ch);
curl_close ($ch);