私の問題は、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にインデックスさせるために何をすべきかわかりません.
どんな助けでも大歓迎です。