Google Webmaster Tools の [Crawl Errors/Other] の下に、次のような URL の 400 エラーが表示されます。
/family-tree/<%=tree.user_url_slug%>/<%=tree.url_slug%>
これは実際の URL ではなく、クロール対象の URL でもありません。これはアンダースコア/バックボーン テンプレートです。
<script type="text/template" class="template" id="template-trees-list">
<% _.each(trees, function(tree) { %>
<a href="/family-tree/<%=tree.user_url_slug%>/<%=tree.url_slug%>" rel="nofollow">
<%= tree.title %>
</a>
<% }); %>
</script>
- Google が
script
ブロック内をクロールしているのはなぜですか? - Google がこの
rel="nofollow"
属性を無視するのはなぜですか? - Googlebot をアンダースコア テンプレートから遠ざけるために他にできることはありますか?
更新: 良いページを保持し、悪いページをブロックする適切なパターンを見つけることができれば、robots.txt を使用することにオープンです。たとえば、/surnames/Jones/queries
ブロックしながらキープしたい/surnames/Jones/queries/<%=url_slug%>
。私はこのような何千も持っています。完全な正規表現ではありませんが、 Googlebot は基本的なパターンをサポートしているようです。
更新 2: まあ、これは根本的な原因にはなりません。長期的な解決策としては少し不安定に思えますが、GWT で次の robots.txt パターンが機能することをテストしました。
User-agent: Googlebot
Disallow: /*url_slug%%3E$
Disallow: /*url_slug%%3E/$