リクエストが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がからの要求を検出する