0

私の問題は、Google が私のウェブサイトをインデックスに登録していないことです。サイトが稼働してから 5 週間が経ちました。

内部ページがインデックスされないということではなく、ウェブサイト自体がインデックスされないということです。

Google で検索キーワードとして「xyz」と入力すると、私のウェブサイト「ww.xyz.com」が完全に無視されます。

Web サイトは ajax 駆動で、これが私の構成です。

サーバーのルート フォルダーに robot.txt があります。

User-agent: *
Disallow: /admin/
Sitemap: http://www.xyz.com/sitemap.xml

サーバーのルート フォルダーに sitemap.xml があります。

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="..." xmlns:xsi="..." xsi:schemaLocation="...">
    <url><loc>http://www.xyz.com/</loc></url>
    <url><loc>http://www.xyz.com/index.php?action=link1</loc></url>
    <url><loc>http://www.xyz.com/index.php?action=link2</loc></url>
</urlset>

インデックス ページは次のようになります。

<!doctype html>
<html lang="fr">

    <head>

        <title>xyz</title>

        <meta http-equiv= "content-type"      content="text/html;charset=utf-8">
        <meta http-equiv= "Content-Language"  content="fr" >
        <meta name      = "fragment"          content="!">
        <meta name      = "google"            content="notranslate">
        <meta name      = "robots"            content="index,follow"> 
        <meta name      = "Description"       content="...">
        <meta name      = "Keywords"          content="...">

    </head>

    <body>

        <ul id="menu>
            <li id="mylink1">
                <a href="index.php?action=link1">Link 1</a>
            </li>

            <li id="mylink2">
                <a href="index.php?action=link2">Link 2</a>
            </li>
        </ul>

        <div id="content">
            <?php include('ajax.php');?>
        </div>

    </body>

</html>

「ajax.php」ファイルは次のようになります。

<script type="text/javascript">
    $('#link1').click(function(e) 
    {   
        e.preventDefault(); 

        $.ajax({
            type:"POST",
            url:"includes/page1.php,
            data:"action=link1",
            complete:function(data){$('#content').html(data.responseText);}
        }); 

    $('#link2').click(function(e) 
    {   
        e.preventDefault(); 

        $.ajax({
            type:"POST",
            url:"includes/page2.php,
            data:"action=link2",
            complete:function(data){$('#content').html(data.responseText);}
        }); 
    });
</script>

「includes/page1.php」をターゲットにしているとしましょう。ここに page1.php のコンテンツがあります。

<?php
if($_POST['action']=='link1')
{
    //show the content
    ...
}
?>

ご覧のとおり、"index.php" の href URL は、javascript 内の "e.preventDefault();" によって非アクティブ化されるため、役に立ちません。

すべての仕事をするのは「$('#link1').click(function(e) {..})」です。

また、#content は「$('#content').html(data.responseText);」を使用して動的に配信されるため、Google ボットがこの Web サイトをクロールできない DOM の問題があると思われます。

ajax 駆動の Web サイトを Google フレンドリーにする方法を説明している次の Google ヘルプ ページを読みました。

https://developers.google.com/webmasters/ajax-crawling/docs/getting-started

問題は、Googleボットがハッシュを使用してURLをクロール可能にする方法を説明しているようですが、私のWebサイトはリンク内でハッシュを使用していないため、WebサイトをGoogleにインデックスさせるために何をすべきかわかりません.

どんな助けでも大歓迎です。

4

1 に答える 1

3

次の 2 つのオプションがあります。

  1. ウェブサイトを作り直して、 Google Crawlable Ajax Standardを使用します。しかし、それは悪い考えです。

  2. JavaScript を必要としないサイトを作成します。検索エンジンと人間の両方がサイトにアクセスできるようになるため、これは良い考えです。すべての人が JavaScript を有効にしているわけではないことに注意してください。これはプログレッシブ エンハンスメントと呼ばれます。

于 2013-03-21T17:20:58.247 に答える