【问题标题】:Ajax driven website and google SEO [closed]Ajax 驱动的网站和谷歌 SEO [关闭]
【发布时间】:2013-03-21 17:18:38
【问题描述】:

我的问题是 Google 没有为我的网站编制索引,并且该网站已经启动并运行了 5 周。

不是它不索引我的内部页面,而是它不索引网站本身

当您在 Google 上输入“xyz”作为搜索关键字时,我的网站“ww.xyz.com”将被完全忽略。

网站是 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);”动态传递的,我相信存在一个 DOM 问题,导致该网站无法被谷歌机器人抓取。

我阅读了这个谷歌帮助页面,它描述了如何使 ajax 驱动的网站对谷歌友好:

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

问题是他们似乎解释了如何使 url 使用 google 机器人可抓取的哈希值,但我的网站没有在链接中使用哈希值,所以我真的不知道应该做些什么来让我的网站被谷歌索引。

任何帮助将不胜感激。

【问题讨论】:

  • 您的页面示例:没有 HEAD、没有 BODY、没有 DTD - 难怪它没有被索引。
  • 您听说过路由吗?我想这就是你所缺少的
  • Diodeus:我当然有所有这些,只是没有提到它,但是好的,我相应地编辑了问题。
  • @Baylock 哦,谷歌搜索symfony routing。会有更多的解释。
  • 只是一个愚蠢的问题,您确实将您的网站提交给 Google 进行索引,对吗? google.com/webmasters/tools/submit-url?pli=1我认为您的网站应该没有问题的索引。

标签: ajax seo sitemap bots


【解决方案1】:

你有两个选择:

  1. 重做您的网站以使用Google Crawlable Ajax Standard。但是that's a bad idea

  2. 无需 JavaScript 即可创建您的网站。这是一个好主意,因为它使搜索引擎和人类都可以访问您的网站。请记住,并不是每个人都启用了 JavaScript。这称为Progressive Enhancement

【讨论】:

  • 网站已完成并已上线。我宁愿看看可以做些什么来使它对 SEO 友好,因为它是从头开始重做的。如果我在较早的过程中,您的建议是可以的,但对于一个完整且完美运行的网站来说过于激进。
  • 选项 2 不需要重做。
  • 选项 2 在我看来更像是一种意见。如今,不愿意启用 javascript 的人是接受无法看到所有网络内容的人。我不是说我是对的,你是错的,只是这是一个见仁见智的问题,而不是事实。我的网站可以在启用 javascript 的情况下显示或根本不显示,这是一种选择。只要您了解并遵守他们的规则,Google 似乎对 ajax 很友好。问题是我只是没有得到它们,并且希望通过 ajax 功能使我的网站 SEO 得到一些帮助。
  • 我选择限制我的成功,因为有些人选择不在 IE 8 之前的版本上显示他们的网站(这也是一种降低成功机会的选择,但它错了吗?)。如果您的网站旨在展示 ajax 可以做什么,那么您的事实就不是一个事实,这对于没有启用 javascript 的人来说毫无用处。我的网站对视力不佳的人很友好,只要他们启用了 ajax。我不是在争论你的观点,我是说我有权做我想要的网站,而不是因为我的想法不同而受到处罚。你的事实取决于目标,而你不知道我的目标。
  • 谁没有启用javascript?根据一项为期 3 年的研究,甚至 98.4% 的屏幕阅读器都启用了 javascript...brucelawson.co.uk/2011/javascript-and-screenreaders
猜你喜欢
  • 1970-01-01
  • 2017-04-26
  • 1970-01-01
  • 2010-12-07
  • 1970-01-01
  • 2011-01-23
  • 1970-01-01
  • 2011-02-05
  • 1970-01-01
相关资源
最近更新 更多