Pinging 101
- Sep. 15, 2006
The problem with content on the web is not one of creative but of visibility. In other words, how do you notify the world that you have new and fresh content online before any of your competitors do, and then get the world to actually visit your website and read that new content? How do you publicize your latest articles quickly?
The answer: you send pings to ping servers.
A ping is used to let other websites, such as blog aggregators (BlogLines, My Yahoo!, NewsGator) and search engines (Feedster, Technorati), know that your blog has been updated. These websites then send crawlers to analyze your site for new content and if it exists, list it accordingly. Instead of polling websites constantly, these aggregators rely on article publishers to tell them when new content exists – almost as if they are the perfect houseguest, only crashing on your couch when you are ready and willing to let them stay.
Ping servers either accept XML-RPC pings or have an HTML form where you can submit your site’s Title and URL. Certain CMS systems and Blog authoring packages automatically create the XML-RPC message for the ping servers, which contains a method name (weblogUpdates.ping) and parameter values for the method (name of site, URL of site), and post the requests.
By default, many blogging packages and some CMS systems have the capability to ping one or more server when new articles are added. They automatically create the XML-RPC message and post the requests to a predefined list of servers. That list can be expanded as well by adding new servers (entering a URL (or URI) to ping); while some systems may even use ping servers that simply relay the ping to various other servers. For instance, the BlogFlux pinger allows you to ping Blo.gs, Weblogs, Technorati, Feedburner, Feedster, My Yahoo!, etc. with just one ping.
Some pings are as simple as making a single GET request: http://api.my.yahoo.com/rss/ping?u=http://rss.news.yahoo.com/rss/topstories
Similarly, the BlogFlux pinger page can be bookmarked to re-ping 11 ping servers at once:
http://pinger.blogflux.com/pings.php?name=SiteName&url=http://www.site.com&svc=1,2,3,4,5,6,8,9,10,13
However, most ping servers require a remote procedure call (RPC) to send requests for a ping.RPC endpoint:
Yahoo My Web!: http://api.my.yahoo.com/RPC2
BlogFlux Pinger: http://pinger.blogflux.com/rpc/Method name: weblogUpdates.ping
Parameter(s):
Name of site (string)
URL of site or RSS feed (string)Request XML:
<?xml version="1.0"?>
<methodCall>
<methodName>weblogUpdates.ping</methodName>
<params>
<param>
<value>
<string>Top Stories</string>
</value>
</param>
<param>
<value>
<string>http://rss.news.yahoo.com/rss/topstories</string>
</value>
</param>
</params>
</methodCall>
The RPC call returns a Struct with two members:
flerror (boolean) which is true if an error occurred.
message (string) which contains "OK" (if successful) or the error messageResponse XML:
<?xml version="1.0" encoding="UTF-8"?>
<methodResponse>
<params>
<param>
<value>
<struct>
<member>
<name>flerror</name>
<value>
<boolean>0</boolean>
</value>
</member>
<member>
<name>message</name>
<value>
<string>OK</string>
</value>
</member>
</struct>
</value>
</param>
</params>
</methodResponse>If pinging isn''t built into the CMS system, then you may need to manually add functionality that would do the RPC call when new articles are published. The XML-RPC message would normally be the same for the various ping servers. You would specify the URLs for the ping servers that support XML-RPC and the application would then iterate through the list sending pings to each of those ping servers. Alternatively, instead of entering each ping server individually, you could also specify a server (BlogFlux Pinger) that relays the pings to multiple ping servers.
Maizal Munif
Senior Software Developer
Search Engine Positioning by Searchengineposition
Enquiro Full Service Search Engine Marketing
Tags: Internet




