web-dev-qa-db-ja.com

単一ページのアプリケーションAdSenseの承認を取得する

私が持っているのは、いくつかの「ページ」を備えたreact.js(javascript提供)フロントエンド単一ページWebアプリです。このサイトは人々にお金を勝ち取る方法を提供します(簡単な推測ゲームをプレイすることによって)一方で、私は提供される広告をカットします。ユーザーは来ていますが、広告は存在しません。

AdSenseクローラーはgoogleボットクローラーとは異なり、javascriptを実行していないように見えるため、index.htmlが表示されるだけで、サイトは適切にクロールされません。

特定のページで提供されるアプリ内で承認するために、AdSenseが提供するjavascriptを配置する必要がありますか?そうであれば、承認する1つまたは複数に配置するだけですか?

私はこれをより静的なフレームワークで再作成する必要があると考え始めているので、コメントやフィードバックは大歓迎です:(

1
bushrangerjones

ページに旧式の方法でインデックスを作成するという点では、サーバーから個別のビューを設定する必要があります。そのため、要求されたときに見つけるものがあります。

たとえば、ほとんどの/すべてのReactアプリと同様に、私のReactアプリは、クライアント側に送信されたすべてのビューIndex()に基づいています。そのポイントは、クライアント側のJavascriptです。

しかし、たとえば、ホームページを超えてページを更新すると、404エラーが表示されます。

例えばwww.mysite.com/indexは問題なく更新され、

ただし、サーバーはonlywww.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

2
Stuart Aitken