dar*_*cro 8 php xml seo xml-rpc
我正试图ping(SEO策略称为"ping"用于新内容,以使机器人索引更快)谷歌在PHP.我所知道的只是我需要将我的请求发送到以下网址:http: //blogsearch.google.com/ping/RPC2
可能我可以使用PHP XML-RPC函数.我不知道如何格式化我的请求以及使用哪种方法.
就您而言,您需要执行XML-RPC请求(示例#1).
$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);
}
Run Code Online (Sandbox Code Playgroud)
哪个会给你以下输出:
Array
(
[flerror] =>
[message] => Thanks for the ping.
)
Run Code Online (Sandbox Code Playgroud)
通常,如果您不知道调用哪种方法,也可以尝试XML-RPC Introspection - 但并非所有XML-RPC服务器都提供此方法.
你在评论中问道:
根据规范,
$targetURI应该是:"源站点上链接的目标.这应该是一个启用pingback的页面".如何启用启用pingback的页面,或者更重要的是,实际上是什么?
启用pingback的站点也是一个宣布XML-RPC pinbback服务的网站.这是通过<link>本<head>节中的HTMl 元素完成的.例:
<link rel="pingback" href="http://hakre.wordpress.com/xmlrpc.php" />
Run Code Online (Sandbox Code Playgroud)
该href点具有一个XML-RPC端点pingback.ping有效的方法.
或者通过发送特定的HTTP响应头来完成:
X-Pingback: http://charlie.example.com/pingback/xmlrpc
Run Code Online (Sandbox Code Playgroud)
请参阅启用pingback的资源.
因此,如果你ping别人,其他人也应该能够ping你.