【问题标题】:Javascript links and google seoJavascript 链接和谷歌 seo
【发布时间】:2014-03-23 01:07:46
【问题描述】:

我有一个 xml 文件,其中包含几个内部 html 页面的链接。我正在使用 HTML DOM 来获取这些链接并在表格中显示这些链接。这些链接是简单的 html 链接,没有参数。这些 html 页面驻留在服务器中。

我的问题是,当我在网站管理员工具中使用 fetch 作为 google 时。谷歌正在获取 javascript 但不是填充的表。谷歌会抓取这些链接并将其编入索引吗?我想确保将此处链接的这些页面编入索引...请指导我完成此问题。也让我知道是否有更好的方法来显示来自 xml 的内容,以便谷歌抓取这些链接。

<script>
    if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.open("GET","/jobs/jobs.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML; 
document.write('<table id="example">');
document.write('<thead><tr><th>Job ID</th><th>Job Title</th><th class=\"mobexcl\">Location</th><th class=\"mobexcl\">Country</th><th class=\"mobexcl\">Date Posted</th><th>Status</th><th class=\"mobexcl\">View</th></tr></thead><tbody>');
var x=xmlDoc.getElementsByTagName("CD");
for (i=0;i<x.length;i++)
                  { 
                  if(i%2==0){
                  document.write('<tr class="alt">');
                   }
                  else{
                  document.write('<tr class="alt1">');
                   }
                  document.write("<td>");
                  document.write('<a href="' + x[i].getElementsByTagName("VIEW")[0].childNodes[0].nodeValue + '">'+x[i].getElementsByTagName("JOBID")[0].childNodes[0].nodeValue+'</a>');
                  document.write("</td><td>");
                  document.write(x[i].getElementsByTagName("TITLE")[0].childNodes[0].nodeValue);
                  document.write("</td><td class=\"mobexcl\">");
                  document.write(x[i].getElementsByTagName("LOCATION")[0].childNodes[0].nodeValue);
                  document.write("</td><td class=\"mobexcl\">");
                  document.write(x[i].getElementsByTagName("COUNTRY")[0].childNodes[0].nodeValue);
                  document.write("</td><td class=\"mobexcl\">");
                  document.write(x[i].getElementsByTagName("DATE")[0].childNodes[0].nodeValue);
                  document.write("</td><td>");
                  document.write(x[i].getElementsByTagName("STATUS")[0].childNodes[0].nodeValue);
                  document.write("</td><td class=\"mobexcl\">");
                  document.write('<a href="' + x[i].getElementsByTagName("VIEW")[0].childNodes[0].nodeValue + '">View/Apply</a>');
                  document.write("</td></tr>");
                  }
document.write("</tbody></table>");
</script>

【问题讨论】:

  • 这个问题似乎是题外话,因为它是关于 SEO

标签: javascript html seo


【解决方案1】:

抓取工具不会在您的网页上执行脚本。

Google 设计了一种抓取 ajax 填充网站的方法。你可以阅读它here

列表中的第三项似乎适用于您的情况。

基本上,您的服务器需要为 ajax 呈现的页面创建 HTML 快照,以供 google bot 抓取。

Google 还提供了测试此设置的工具。

HTH。

【讨论】:

  • 您好,感谢您的信息。有没有一种简单的方法来实现这一点。任何地方都有分步指南吗?我无法理解设置 html 快照的最简单方法。
  • 最简单的方法是将您的 ajax 填充页面从浏览器保存到一个文件中,然后在您的服务器上将其作为静态 html 提供给 url www.yoursite.com?_escaped_fragment_=
  • 您好,抱歉迟到了。我有个问题。如果我当前的 ajax 页面是 www.mysite.com/pag1.html 那么我是否创建一个文件名为 page1?_escaped_fragment_= 的静态页面。像.html 这样的文件名不会有扩展名吗?我在这里有点困惑,请指导我。
猜你喜欢
  • 2011-05-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-28
  • 1970-01-01
  • 2015-05-01
  • 1970-01-01
相关资源
最近更新 更多