XML-RPC ping(谷歌和其他)

问题描述 投票:0回答:4

我正在尝试在 PHP 中 ping(称为“ping”的 SEO 策略用于新内容,以使机器人更快地对其进行索引)Google。我唯一知道的是我需要将请求发送到以下网址: http://blogsearch.google.com/ping/RPC2

也许我可以使用 PHP XML-RPC 函数。我不知道如何格式化我的请求以及使用哪种方法。

php xml seo xml-rpc
4个回答
8
投票

就您关心的 XML-RPC 请求而言(示例 #1)。

如果您遵循 pingback 规范,它看起来像这样:

$sourceURI = 'http://example.com/';
$targetURI = 'http://example.com/';
$service = 'http://blogsearch.google.com/ping/RPC2';

$request = xmlrpc_encode_request("pingback.ping", array($sourceURI, $targetURI));
$context = stream_context_create(array('http' => array(
    'method' => "POST",
    'header' => "Content-Type: text/xml",
    'content' => $request
)));
$file = file_get_contents($service, false, $context);
$response = xmlrpc_decode($file);
if ($response && xmlrpc_is_fault($response)) {
    trigger_error("xmlrpc: $response[faultString] ($response[faultCode])");
} else {
    print_r($response);
}

这将为您提供以下输出:

Array
(
    [flerror] => 
    [message] => Thanks for the ping.
)

通常,如果您不知道调用哪个方法,您也可以尝试XML-RPC Introspection - 但并非所有 XML-RPC 服务器都提供此功能。


您在评论中提问:

根据规范,

$targetURI
应该是:“源站点上链接的目标。这应该是启用 pingback 的页面”。我怎样才能使 pingback 启用页面,或更重要的是,这实际上是什么?

支持 pingback 的网站是同时宣布 XML-RPC pinbback 服务的网站。这是通过

<link>
部分中的 HTMl
<head>
元素完成的。示例:

<link rel="pingback" href="http://hakre.wordpress.com/xmlrpc.php" />

href
指向具有可用
pingback.ping
方法的 XML-RPC 端点。

或者通过发送特定的 HTTP 响应头来完成:

X-Pingback: http://charlie.example.com/pingback/xmlrpc

请参阅启用 pingback 的资源

因此,如果您对其他人执行 ping 操作,其他人也应该能够对您执行 ping 操作。


1
投票

嗯,我认为我们应该使用

weblogUpdates.ping
weblogUpdates.extendedPing
而不是
pingback.ping
来 ping 网站有关新内容的信息。

pingback.ping
用于从一个站点到另一个站点的新链接,而不是用于新内容。


1
投票

我认为您应该将

weblogUpdates.extendedPing
与谷歌博客搜索、网络博客、Pingomatic 一起使用,并将
weblogUpdates.ping
用于其他服务器。我创建了一个 ping 工具,但某些服务器返回 http 和 https 错误,我无法给出错误 Online rpc xml ping


0
投票

我对这些 URL 使用了 rpc ping 方法,但它们仍然没有在 google 上建立索引,有什么想法吗? https://nextgen-educator.blogspot.com/2025/01/free-guest-post-sites-2025.html

© www.soinside.com 2019 - 2024. All rights reserved.