私が持っているのは、いくつかの「ページ」を備えたreact.js(javascript提供)フロントエンド単一ページWebアプリです。このサイトは人々にお金を勝ち取る方法を提供します(簡単な推測ゲームをプレイすることによって)一方で、私は提供される広告をカットします。ユーザーは来ていますが、広告は存在しません。
AdSenseクローラーはgoogleボットクローラーとは異なり、javascriptを実行していないように見えるため、index.htmlが表示されるだけで、サイトは適切にクロールされません。
特定のページで提供されるアプリ内で承認するために、AdSenseが提供するjavascriptを配置する必要がありますか?そうであれば、承認する1つまたは複数に配置するだけですか?
私はこれをより静的なフレームワークで再作成する必要があると考え始めているので、コメントやフィードバックは大歓迎です:(
ページに旧式の方法でインデックスを作成するという点では、サーバーから個別のビューを設定する必要があります。そのため、要求されたときに見つけるものがあります。
たとえば、ほとんどの/すべてのReactアプリと同様に、私のReactアプリは、クライアント側に送信されたすべてのビューIndex()
に基づいています。そのポイントは、クライアント側のJavascriptです。
しかし、たとえば、ホームページを超えてページを更新すると、404エラーが表示されます。
例えばwww.mysite.com/index
は問題なく更新され、
ただし、サーバーはonlyがwww.mysite.com/page
を知っているため、www.mysite.com/index
は404を返します。
これを修正するには、サーバー側で個別のページを作成しますが、メインのインデックスページを返すようにします。このようなもの
public ActionResult Index()
{
return View('index');
};
public ActionResult Page()
{
return View('index');
};
(これはC#で行われる方法です。他のサーバー/言語は非常に似ているでしょう、私は確信しています)
両方のリクエストが同じページを返す方法に注意してください。ロード時に、ReactルーターはURLを調べてジョブを完了します。または少なくとも、それは私のためにした。
したがって、www.mysite.com/page
を要求すると、サーバーはindex
(Reactが開始するために必要なメインエントリポイント)を提供しますが、page
はURL、Reactはそこから機能し、可能な場合はそれに応じてナビゲートします。私はまだReactが初めてなので、カバーの下で何が起こっているのか正確にはわかりませんが、うまくいきます。
このようにして、Googleクローラーは個別のURLを使用して、異なる最終結果を表示できます。
AdSenseを機能させることに関しては、これは私にとって新しいことです。私は自分でそれを実装しようとしています。以下が役に立つかもしれません: https://stackoverflow.com/questions/43922455/using-google-adsense-with-react-react-router