2017-05-02 3 views
1

リクエストがprerender.io(リクエストがクローラからリクエストされたときにanglejsアプリケーションをレンダリングするために使用されたライブラリ)か、または実際のユーザーからのリクエストかどうかを検出したいと思いました。リクエストがプリレンダリングの場合、私は設計されたページにリダイレクトする必要がありますSEOの目的のために。リクエストがprerender.io(クローラ)かjavacriptの実際のユーザ(ブラウザ)かどうかを検出するにはどうすればよいですか?

私は検出するためにクッキーを設定しようとしましたが、prerender.ioがjavascriptコードを実行し、cookie/sessionストレージさえもprerender.ioで動作するため動作しません。

は、いくつかの研究の後、私たちはユーザーエージェントを検出することができることを発見し、prerender.ioので、ヘッドレスブラウザ(すなわちphantomJS)

if (/PhantomJS/.test(window.navigator.userAgent)) { 
      // console.log("PhantomJS environment detected."); 
} else { 
     // console.log("PhantomJS environment not detected.");  
    } 

でサイトを呼び出しますが、それはこの問題に対する適切な/永久的な/最良の修正ですか?他の解決策はありますか? Googlebotがの場合にリダイレクトするために、次の資料にGoogleが示唆されているようにあなたはIP範囲ANSのUserAgentを使用することができ

:Googlebotがからの要求を検出する

答えて

0

ユーザーエージェントで「プレレンダリング」を確認できますが、プレレンダリングが検出されたときにページの内容を変更することは、クローキングと見なされるためお勧めしません。

クローラに、ユーザーに表示される同じページの生のHTMLを提供したいとします。

関連する問題