私は以下を読み、WordPressを実行している自分のWebサイトにこのスキームを適用しようとします:http : //code.google.com/intl/fr-CA/web/ajaxcrawling/index.html
http://www.visualise.ca/にある私のWebサイトにアクセスすると、ホームページ内の投稿が読み込まれ、URLはhttp://visualise.ca/#!/anne-au-cherryになります。投稿が読み込まれました。同じコンテンツの静的バージョンは、クローラーでhttp://visualise.ca/anne-au-cherryから入手できますが、ブラウザーを使用している訪問者がアクセスすると、http://visualise.ca/#!にリダイレクトされます。 / anne-au-cherry(これはJavaScriptで行われます)。
クローラーに必要なものを提供するために、?_escaped_fragment_=
私はネットで見つけたWordPressハックを使用しました:http : //www.wordpress-fr.net/support/sujet-54810-add-action-parse-requestそして今GoogleBotは私のAJAXで動くページのコンテンツを見ることができます。すべて終わったと思った。
しかし、Facebookに投稿リンクを貼り付けると(つまり)、ページのコンテンツを読み取ることができないため、Facebookがサポートしているため、私のWebサイトがGoogleドキュメントに記載されているスキームを実際に尊重していないと推測しました(httpを貼り付けた場合://twitter.com/#!/ gablabelle動作します)。したがって、jQuery.addressプラグインを使用してハッシュバング(#!)を取得しているので、私は彼らのWebサイトにアクセスしてサンプルファイルをダウンロードし、ファイルと私の違いを確認して、おそらくphp関数を使用していることに気付きました必要なHTMLのスナップショットを作成するには:https://github.com/bartaz/jquery-address/blob/master/samples/crawling/index.php私は推測する理由、これがあるので、Facebookが地雷を読み取ることができません。
<?php
error_reporting(E_ALL ^ (E_NOTICE | E_WARNING));
$fragment = $_REQUEST['_escaped_fragment_'];
$file = 'data/' . (isset($fragment) && $fragment != '' && $fragment != '/' ? preg_replace('/\//', '', $fragment) : 'home') . '.xml';
$re = '/(^<[^>]*>)|(\n|\r\n|\t|\s{2,4})*/';
$handle = fopen($file, 'r');
if ($handle != false) {
$content = preg_replace($re, '', fread($handle, filesize($file)));
fclose($handle);
} else {
$content = 'Page not found!';
header(php_sapi_name() == 'cgi' ? 'Status: 404' : 'HTTP/1.1 404');
}
?>
したがって、WordPressハックを使用する代わりに、同様のphp関数を使用してHTMLスナップショットを提供できると思いますが、WordPressに適合させる必要があります。問題は、私はプログラマーではなく、これまで最善を尽くしたことです。
私の投稿は次の形式です:http : //visualise.ca/#! / anne-au-cherry 、静的バージョンはhttp://visualise.ca/anne-au-cherryで入手できます(ここでanne-au-cherry投稿のスラッグであり、表示しているページに応じて変化します)。
だから私の質問は、誰かが私が正しい道にいることを確認でき、可能であればそのphp関数の作成にも役立つでしょうか?
あなたの時間と助けに感謝します!