2012-03-05 21 views
7

Tôi đang cố gắng ping (chiến thuật SEO được gọi là "ping" được sử dụng cho nội dung mới để rô bốt lập chỉ mục nhanh hơn) Google trong PHP. Điều duy nhất tôi biết là tôi cần gửi yêu cầu của mình tới url sau: http://blogsearch.google.com/ping/RPC2XML-RPC ping (google và những người khác)

Có lẽ tôi có thể sử dụng PHP XML-RPC functions. Tôi không biết cách định dạng yêu cầu của mình và phương thức nào để sử dụng.

Trả lời

7

Theo như bạn quan tâm để thực hiện yêu cầu XML-RPC (Example #1).

Nếu bạn làm theo các specification of a pingback, nó sẽ trông như thế này:

$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); 
} 

Trong đó sẽ cung cấp cho bạn kết quả như sau:

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

Thông thường, nếu bạn không biết phương pháp nào bạn gọi , bạn cũng có thể thử XML-RPC Introspection - nhưng không phải tất cả các máy chủ XML-RPC đều cung cấp điều đó.


Bạn hỏi trong một chú thích:

Theo thông số kỹ thuật, $targetURI nên là: "Mục tiêu của liên kết trên trang web nguồn này nên được một trang pingback-enabled". Làm thế nào tôi có thể làm cho pingback kích hoạt trang, hoặc quan trọng hơn, đó là những gì thực sự?

Trang web hỗ trợ pingback là trang web thông báo dịch vụ pinbback XML-RPC. Điều đó được thực hiện với phần tử HTMl <link> trong phần <head>. Ví dụ:

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

Các href trỏ đến một điểm cuối XML-RPC rằng có pingback.ping phương pháp có sẵn.

Hoặc nó được thực hiện bằng cách gửi một header HTTP response specifc:

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

Xem pingback-enabled resource.

Vì vậy, nếu bạn ping người khác, người khác cũng có thể ping cho bạn.

+0

Tôi nên dễ dàng thực hiện yêu cầu bằng cách làm theo tài liệu PHP. Tôi không biết phương pháp hay biến nào tôi cần gửi. Tôi sẽ thực sự appriciate nếu bạn có thể gửi liên kết đến tài liệu của google, kể từ khi tôi không thể tìm thấy nó. – dario111cro

+1

@ dario111cro: Tôi đã thêm thông số và mở rộng mã ví dụ. – hakre

+0

Cảm ơn bạn rất nhiều. – dario111cro

1

Ummm, tôi nghĩ chúng tôi nên sử dụng weblogUpdates.ping hoặc weblogUpdates.extendedPing thay vì pingback.ping để ping một trang web về nội dung mới.

pingback.ping dành cho liên kết mới từ trang này đến trang khác, không phải cho nội dung mới.

0

Tôi nghĩ bạn nên sử dụng weblogUpdates.extendedPing với tìm kiếm blog trên google, nhật ký web, Pingomatic và weblogUpdates.ping cho máy chủ khác. Tôi đã tạo công cụ ping nhưng một số máy chủ trả về lỗi http và https, tôi không thể đưa ra lỗi Online rpc xml ping

Các vấn đề liên quan