1

このアイデアの動機は、ブラウザの広告リクエストが非常に遅いことが多く、ブラウザの JavaScript スレッドを消費することは言うまでもなく、ページのレンダリングをブロックする可能性があることです。ページに複数の広告が読み込まれると、信頼性が低く、サード パーティの呼び出しがブロックされます。イベント ドリブンのヘッドレス サーバー サイド ブラウザを使用することで、これらのリクエストを作成し、広告アセットをブラウザに一度に渡すことは可能でしょうか? 特に、これは doubleclick で機能しますか? Doubleclick の広告ネットワークは、多くの場合、document.write スクリプト タグを作成し、さらにスクリプトを取得する一連のリクエストを作成し、Flash SWF をロードして、追加の GIF をリクエストする可能性があります。少し大げさに聞こえるかもしれませんが、広告は悪魔です。サーバー ソリューションが広告リクエストを作成し、JavaScript を並行して処理できるため、広告をクライアントからオフロードできれば、サイトの速度が大幅に向上します。

編集: @dthorpe への応答:

考慮すべきすべての良い点。

広告配信の遅延に関しては、サーバー側のソリューションが次の理由で役立ちます。

まず、複数の広告リクエストを並行して行うことができます。ブラウザでリソースを並行してロードする方法はありますが、すべてのリソースを遅延ロードしない限り、(つまり、ページのレンダリングと onload イベントの両方に関して) 完全に非ブロッキングであると私が知っている良い解決策はありません。広告。ページの残りの部分が読み込まれている間に、広告を並行してブロックしない方法で読み込む方法を探しています。

2 つ目は、おそらくもっと重要なことですが、通常、ダブルクリック広告を読み込むには、複数の中間スクリプトを読み込む必要があります。ブラウザの Javascript はシングル スレッドです。これは、私のページの JavaScript が ad-javascript をブロックし、広告の表示が遅くなることを直接意味します。広告の JavaScript がページの JavaScript をブロックし、ページの速度が低下します。追跡またはその他の目的で、他の第三者の通話を行う場合があります。また、ページに複数の広告があり、すべてページのレンダリングと JavaScript の実行が遅くなります。広告の読み込みをサーバーにオフロードすることで、ページの JavaScript が広告と競合しなくなります。広告による待ち時間は 1 つの広告 (最も長い広告) の関数になりますが、1 つの広告の読み込み動作は他の広告やマイページの影響を受けません。

目標は、広告がページのレンダリングやページのオンロード イベントをブロックしたり、ページや相互の速度を低下させたりしないように、ベース ページから広告の関連付けを解除することです。ブラウザ内の JavaScript がシングル スレッドである限り、完全な関連付け解除を実現できるクライアント側のソリューションを知りません。読み込みに時間がかかる広告が JavaScript によってフルフィルメントされている間、ページの残りの部分は待機する必要があります。

私はさまざまな遅延読み込みメカニズムを認識しており、iframe を含むものや、遅延読み込みに対応するために document.write をオーバーライドするものもありますが、JavaScript の実行を妨害するシリアル動作が原因で、満足のいく結果が得られたものはありません。

ブラウザで Java アプレットを使用してサーバー側の広告読み込みの利点を得て、あなたが言及した Cookie/プリロードの状況を回避できるのでしょうか? ダブルクリック広告で見られる深刻な劣化のため、私は実際にこれらの非準拠のアプローチを検討しています. これらの広告がページの読み込み速度を殺す方法は、本当に忌まわしいものです:)

4

2 に答える 2

3

クライアント マシンを完全に正確に表現するために、ヘッドレス サーバー ブラウザは、広告ネットワーク ドメインのクライアントにあるブラウザ Cookie を提示できる必要があります。サーバーのドメイン名が広告ネットワークのドメインにないため、これは困難です。そのため、クライアント ブラウザは広告ネットワークの Cookie を提供しません。

サーバー ブラウザで広告をキャプチャして、クライアントに代わって広告を「プリロード」することもできますが、クライアントのブラウザ Cookie がなければ、広告ネットワークが大きく依存している継続性と追跡が失われます。広告ネットワークによって表示される広告は、クライアントが表示したページではなく、サーバー ブラウザがクライアントに代わって表示したページに基づいて選択されます。

また、広告コンテンツの読み込みがクライアント ブラウザでのページのレンダリングをブロックしている場合、サーバーで同じページをレンダリングすると、どのように速度が上がるのでしょうか? サーバー ブラウザーは、クライアント ブラウザーと同じネットワークとスクリプトのラグに悩まされ、クライアントはまだそこに座って「何か」を待っていますが、ページが完全に読み込まれてサーバー ブラウザーで処理されるまで何も表示されず、クライアントブラウザに中継されますか?問題を「上流」に移動しても、何も解決しません。

最後に、あなたの意図が (クライアントのブラウジング エクスペリエンスを向上させるために) 立派なものであっても、広告ネットワークは、あなたのサーバー ブラウザ広告の「プリローダー」を忌み嫌うものであり、広告ネットワークの利用規約に違反していると見なす可能性が非常に高くなります。実際のクライアントのブラウジング アクティビティを追跡します。

于 2011-03-19T06:06:15.870 に答える
0

Java プラグインをブラウザにロードする必要があるため、クライアント側で Java プラグインを使用すると、クライアント マシンのリソースがさらに浪費される可能性があります。これには数秒かかることがよくあります。

Java 0-day エクスプロイトが日常的に行われていることに注意してください ( http://java-0day.com/ )。Java プラグインは、すべての Web ブラウザーで無効にすることをお勧めします。Mac には、Java プラグインがデフォルトで無効になっています。また、スマートフォンやタブレットなどのモバイル デバイスには Java プラグインは存在しません。そのため、デスクトップ ブラウザ以外には広告を配信できず、企業環境以外で使用されるデスクトップ ブラウザにのみ配信される可能性があります。

広告の遅延読み込みが受け入れられない場合は、DoubleClick の読み込み時間をそのまま受け入れる必要があります。広告ネットワークは、契約上の観点から干渉を受け入れることはありません。また、広告在庫を直接販売することを計画している場合、流行のリッチメディア広告を配信しようとする広告主自身からの抵抗に遭遇するでしょう. (動画、エキスパンド広告、インタースティシャルなど)

ディスプレイ広告の 1,000 あたりのコストから得られる金額よりも、広告エミュレーション レイヤーを新しい広告タイプごとに最適化するために多くの時間を費やすことになります。

おそらく、広告が理にかなっているのか、またはウェブサイトを収益化するためのビジネスモデルを調整する必要があるのか​​ を再考する必要があります. ディスプレイ広告はコモディティ市場になりました。このエミュレーション レイヤーを構築するコストは、ページ速度の向上によるメリットや、ページ速度がもたらす可能性のあるわずかに高い印象よりも高く見えます。

エンド ユーザーのことを気にかけているあなたには脱帽ですが、DoubleClick の広告リクエストは、ページの読み込み時間を大幅に遅らせる可能性があります。誰かが来て、堅牢で信頼できる方法で広告の読み込みを遅らせる方法を提供してくれることを願っています.

于 2013-03-26T14:02:13.223 に答える