web-dev-qa-db-ja.com

SEO AJAX Googleの募集

カスタムナビゲーションを含み、タイトルに基づいてページを取得する作業WordPressサイトがあります。そのため、testというページがあり、ユーザーがカスタムナビゲーションでtestを選択したとします。配置されるhrefリンクは#!testになります。これで、Ajaxのコンテンツを呼び出すためにtestを完全に使用し、次のようになります。

$.ajax({
        url: "/thenewsite/wp-content/plugins/mass/return_body.php",
        type: "post",
        dataType: "json",
        data:
        {
            'key_page' : key_page,
            'function' : 'page_grab'
        },
        .....
 });

return_body.php

$base = 'http://www.massmedicalstorage.com/thenewsite';

if ($fragment = $_GET['_escaped_fragment_']) {

    $page = get_page_by_title($fragment);
    print_r ($page);
    exit;
}

$DBH = createConnection();
$response = array("status" => "ok", "code" => 1, "original_request" => $_POST); // CREATE REQUEST

if($_POST['function'] == 'page_grab')
{
    $page = get_page_by_title($_POST['key_page']);
    $response['data_retrieved'] = $page;

    if($page !== null)
        $response['status'] = "found";

}

Ajax関数は、要求されたデザインに基づいて取得されたコンテンツを配置します。

私にとって灰色のエリアは、GoogleSEOajaxの目的で正しく操作していますか? _escaped_fragment_セクションでコンテンツを正しく返していますか?また、Googleがajaxコンテンツを取得しているかどうかを確認するにはどうすればよいですか? snapshothtmlを適切に取得していない場合、どうすれば正しく取得できますか?

1
David Biga

Ajaxベースのページをクロールしていることを知るには、Googleに適切なメタタグが必要です。本質的に、Googleはエスケープされたフラグメントを検出すると、クエリ文字列に置き換えて、代わりにそのページをプルします。これにより、Ajaxページがクロール可能になります。別の方法は、HTML履歴APIを使用し、ajax呼び出しを行うときにURLを更新することです。このように、HashBang/Google&Bing ajaxのクロールスペックでは、あまりにも馬鹿げたことはありません。これは100%動作しますが、html履歴はこれを行うための新しくてより良い方法であり、よりクリーンなURLを取得します。また、実際のページが正常にロードされるため、javascriptを配置していないユーザーに大きなフォールバックを提供します。

1
Frank