将google从外部php文件抓取来自jquery .load()的链接

时间:2012-11-29 18:13:23

标签: php jquery ajax seo

这是我的jQuery

$(document).ready(function() {
  $('#name').load('file.php?query=<?php echo urlencode($query); ?>', function() {
    $('#loading').hide();
  });
});

在初始html加载之后,然后将file.php中的内容加载到id = name的div中。这使我能够在缓慢移动的内容加载时显示加载图像。它很慢,因为它使用一些不同的json apis来获取其内容。现在,file.php上有很多不同的链接。将谷歌跟随这些链接到其他页面。或谷歌只会按照初始加载网页HTML的链接?

我问这个是因为当我用浏览器查看时,用jquery加载的动态加载内容不会出现在网页源代码中。

3 个答案:

答案 0 :(得分:5)

没有Google不会看到该内容。 Google不会运行任何客户端javascript,因此上面的内容永远不会被加载。

答案 1 :(得分:1)

我相信如果您在网页上添加一个空锚,Google会找到它,但当然不会向您的观众显示。

就我而言,我做了一个PHP scandir()来动态创建文件列表:

echo "<li rel=$curr_name>".$curr_name."</li>\n";

观众可以看到列表,并可以点击每个项目。 然后,jQuery click()函数会添加到每个<li>并使用rel的值来执行其操作(将div替换为页面内容。)< / p>

现在,如果我们在混音中添加一个空锚:

echo "<li rel=$curr_name>".$curr_name."<a href=\".$curr_path."\"></a></li>\n";

用户仍然看到相同的列表,jQuery仍然可以做到这一点。但是,Google也会找到并遵循的每个文件都有一个锚点。

我找不到任何说搜索引擎会因此而惩罚你的东西。如果你担心,你总是可以将它包裹在图像周围。

答案 2 :(得分:0)

@jhanifen是对的

但是,你的jquery看起来不对,它应该没有php,而应该是javascript,后端文件将处理剩下的,也许是这样的......

$(document).ready(function() {
  query = 'SELECT * FROM `table`';
  $('#name').load('file.php?query=' + escape(query), function() {
    $('#loading').hide();
  });
});