【问题标题】:How to create a sitemap that includes links of the navigation menu?如何创建包含导航菜单链接的站点地图?
【发布时间】:2015-12-19 15:45:12
【问题描述】:

我有一个网站,其中每个 HTML 页面都有一个导航菜单。为了实现这一点,有一个 JavaScript 函数被调用并编写了包含所有链接的导航面板

<!------------------------------------------------------------------------
                      HEADER Navigation bar  
------------------------------------------------------------------------>
<script>
   insertHeader();
</script>

因此,如果有更改,则仅在 JavaScript 文件中完成,并自动应用于整个网站的数十个页面。

问题: 我正在尝试使用this tool 生成站点地图。但是,由于我的导航面板不是用 HTML 编写的(而是由 JS 插入的),因此该工具无法识别导航。结果,我的网站 99.9% 无法识别。我看到的其他工具也有类似的行为。

1) 我该如何克服这个问题?

2) 谷歌爬虫会看到我在导航面板中的其他链接吗?

【问题讨论】:

  • JS函数中的信息是如何结构化的?它是在读取 JSON 文件吗?
  • 它只有一个“document.write(...这里我写HTML代码...)”函数。
  • 如果可以的话,将数据与代码分开,并将菜单信息放在单独的文件中(JSON、XML 或任何您想要的格式)会很有帮助。然后你可以从 JS 中读取该文件并生成菜单,并从后端读取该文件并生成站点地图。
  • 谢谢您,但我不确定我是否理解您的意思(p.s. 我也不熟悉 JSON)。你能举例说明我应该怎么做吗?
  • 很难在评论中解释,但在这里:如果你有 JSON 格式的数据(例如:[ { "name":"option1", "url":"http://myurl.com" }, ... ]),你可以从 JavaScript 中读取它;但不是只有一个大的document.write,而是一个带有小document.writes 的循环(例如:document.write("&lt;li&gt;&lt;a href='" + data.url + "'&gt;" + data.name + "&lt;/a&gt;&lt;/li&gt;"))来生成菜单。然后,您还可以使用脚本语言(例如:PHP、Ruby、Python...)读取 JSON 文件,并在不使用任何其他工具的情况下生成站点地图。

标签: javascript jquery html web-crawler sitemap


【解决方案1】:

这个问题很老了,但我遇到了和你一样的问题。我还使用 JavaScript 创建我的导航。为了能够生成我的站点地图,我所做的是将 JavaScript 生成的导航临时复制到我的 index.html 中。然后在成功运行站点地图生成器后,可以从 index.html 中删除复制的导航。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-09-15
    • 1970-01-01
    • 2011-08-21
    • 2019-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多