スパイダブルパッケージパッケージをMeteorアプリに追加しましたが、URLでリクエストを行うと、ページのhtmlバージョンが返されますが、?_escaped_fragment_=
Googleにサイトをクロールさせることができません。
詳細
GoogleウェブマスターツールでFetchasGoogleを使用し、ルートページをリクエストすると、ページが返されるのはjavascriptバージョンです。何かのようなもの:"http://example.com/"
HTTP/1.1 200 OK
content-type: text/html; charset=utf-8
date: Fri, 30 Nov 2012 05:39:36 GMT
connection: Keep-alive
transfer-encoding: chunked
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="/e83157bdc4ff057fa3a20b82af4c11b4ebe776e7.css">
<script type="text/javascript">
__meteor_runtime_config__ = {"ROOT_URL":"http://www.example.com","DEFAULT_DDP_ENDPOINT":"https://www-example-com-ddp.meteor.com/"};
</script>
<script type="text/javascript" src="/13cf3d21ce1c4a88407ca5f3c250f186ab1738f9.js"></script>
<meta name="fragment" content="!">
<title>example.com</title>
</head>
<body>
</body>
</html>
http://example.com/?_escaped_fragment_=
代わりに、htmlバージョンが返されるように要求した場合:
HTTP/1.1 200 OK
content-type: text/html; charset=UTF-8
date: Wed, 05 Dec 2012 02:44:09 GMT
connection: Keep-alive
transfer-encoding: chunked
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="/e83157bdc4ff057fa3a20b82af4c11b4ebe776e7.css">
<title>example.com</title>
<meta name="viewport" content="initial-scale=1.0">
</head>
<body>
<ul>
<li><a href="/">Home</a></li>
<li><a href="/one">One</a></li>
<li><a href="/two">Two</a></li>
</ul>
</body>
</html>
質問
?_escaped_fragment_=
htmlバージョンをレンダリングするようにURLにを追加するようにGoogleにどのように指示しますか?URLにハッシュバン(!# )がない場合でも、Google
?_escaped_fragment_=
はURLにを追加しますか?つまり、の代わりに、?/home
/products/1
/!#home
/!#products/1
リンクされたページをGoogleにどのようにフォローさせますか?そして、
?_escaped_fragment_=
?を追加します ページのすべてのjsバージョンが<meta name="fragment" content="!">
ヘッダーにあります。必要なのはそれだけだと思いました。
最も簡単な解決策は、スパイダブルパッケージを更新して、htmlバージョンを必要とせずにGoogle Botに返すことだと思われます?_escaped_fragment_=
が、これが他の人のために機能している場合は、私が間違っていることについて興味があります。
追加情報
Meteorのスパイダブルパッケージは、Web検索エンジンがMeteorアプリケーションのインデックスを作成できるようにする一時的なソリューションです。
ソースによると、それはいくつかのことをします:
head
ページのjsバージョンのセクションに次のタグを追加します。<head><meta name="fragment" content="!"></head>
PhantomJSを使用して、JavaScriptアプリケーションを解析し、次のいずれかの条件が満たされたときにhtmlバージョンを返します。
a。要求しているユーザーエージェントは
"facebookexternalhit"
b。要求されたURLには文字列が含まれています
?_escaped_fragment_=