在这样的页面上:https://medstro.com/groups/nejm-group-open-forum/discussions/61

我有这样的代码:

$.getJSON("/newsfeeds/61?order=activity&type=discussion", function(response) {
  $(".discussion-post-stream").replaceWith($(response.newsfeed_html));
  $(".stream-posts").before($("<div class=\'newsfeed-sorting-panel generic-12\' data-id=\'61\'>\n<div class=\'newsfeed-type-menu generic-12\'>\n<ul class=\'newsfeed-sorting-buttons\'>\n<li>\n<span>\nShow\n<\/span>\n<\/li>\n<li>\n<select id=\"type\" name=\"type\"><option selected=\"selected\" value=\"discussion\">Show All (15)<\/option>\n<option value=\"discussion_answered\">Answered Questions (15)<\/option>\n<option value=\"discussion_unanswered\">Unanswered Questions (0)<\/option><\/select>\n<\/li>\n<\/ul>\n<\/div>\n<\/div>\n"));
  Newsfeed.prepare_for_newsfeed_sort($(".newsfeed-sorting-panel"));
});

Googlebot已决定要查看/newsfeeds/61?order=activity&amp;type=discussion是否有任何有趣的HTML。因此,它尝试抓取该请求HTML的URL,而我的应用程序报告了一个错误。 “ActionView::MissingTemplate:缺少模板新闻源/节目...”
  • 为什么Googlebot尝试抓取此URL?只是因为它认为有机会在其中找到一些有趣的东西,并试图对所有内容进行爬网?还是因为我的代码有问题?
  • 在Rails中解决此问题的最佳方法是什么?我不想忽略所有MissingTemplate错误,因为在某些情况下可能预示着某些错误。忽略机器人创建的错误也是一样。我还有其他选择吗?
  • 最佳答案

    大概是它从页面源中解析了该URL,并且只是在尝试爬网您的网站。

    最好通过您网站的sitemap.xml文件和robots.txt文件来告诉Google要抓取/不抓取什么。

    您可以告诉Googlebot不要在robots.txt中使用这些(或任何)GET参数对网页进行爬网:

    Disallow: /*?
    

    10-08 15:47