説明

ウェブドキュメントセット自動編集システム及びその方法

本発明の実施形態は、ウェブページなどウェブドキュメントセットを自動的に編集し、前記ウェブページを介して広告コンテンツを提示する構造を埋め込むための方法及びシステムを提供する。本編集は、ウェブドキュメントに関連付けられている利用情報がトラッキングされ、記録されることを可能にするタグを自動的に埋め込む。数百又は数千の多くのウェブページが、ユーザーの介入を要せずに自動的に変更され得、包括的なレポート及びトラッキングが、ページそれぞれにおいて実行可能になる。ウェブページが解析され、挿入点が知的に位置決めされる。コンテンツの埋め込みから好ましくないどのような影響も生じなかったことを保証するために、変更が検証され得る。タグは、ユーザーレベル及びページレベルにカスタマイズされたパラメーターを受信し得る。タグ、挿入情報、及びその他の設定情報は、その後のタグ付けをより容易にするように、セントラルリポジトリにストアされ得る。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ウェブシステムにおけるHTMLドキュメントに関し、具体的には、HTMLドキュメント編集の自動化に関する。
【背景技術】
【0002】
ウェブサイトは、数百又は数千ものページ/ドキュメントから構成され得る。ユーザーが、ウェブページセット全体を検査し、ウェブページの外観に影響しないコードを挿入するための挿入点を決定し、適切なタグを選択し、追加すること、及び追加されたタグを抽出し削除することは、困難であった。
【発明の概要】
【発明が解決しようとする課題】
【0003】
本発明の目的は、ユーザーがウェブページのソースコードを編集する必要なくウェブページセットを編集するための効率的かつ自動的な方法を提供することである。
【課題を解決するための手段】
【0004】
本発明は、以下の請求項によって定義されているが、要約すると、本発明の実施形態は、ドキュメントセット、典型的にはウェブページセットを自動的に編集するシステム及び方法を含む。われわれは、以下に「編集(instrumenting)」をより詳細に説明するが、要約すると、(電子商取引購買プロセスの一部のウェブページセット、又はウェブサイトのレイアウトに関する実験的変動のいくつかのうち1つのような)ドキュメント又は特定の関連するドキュメントセットを−カスタマイズされた実行コード、コンテンツ、又は広告の挿入を介し−変更するプロセスを示していて、そのドキュメントに対しエンドユーザーによって実行される動作が、記録、解析、支払い、及びその他のビジネス目的のために送信可能なものである。本発明の実施形態は、数百又は数千ページのようなどのようなページ数も自動的に編集し得る。
【0005】
本発明の例示的な別の態様は、計算機を用いたコード挿入点の検証、タグ付け(コード挿入)の影響の評価、ユーザー入力又は設定(プロフィールid、ページのエイリアス/ニックネーム付け、イベント、電子商取引変数などを提供するような技術を含む)に基づいたタグパラメーター化の(変更を単に元に戻すことを可能にする)編集インテグリティを維持するセントラルタグリポジトリ(例えば142)の使用、指定されたドキュメントセット全体に適用されるA/B及び多変量検査に対する編集/タグ、の能力、及びページに対する負の影響を最小にする(外観は変化するが機能しない)広告コンテンツブロックのページへの挿入を容易にすること、を含む。この態様の部分的なリストを、別の態様が存在していないことの指示として理解するべきでない。
【0006】
本発明の実施形態をこの開示の一部を形成する図面を参照して以下詳細に説明し、本明細書に参照によって組み込む。
【図面の簡単な説明】
【0007】
【図1A】本発明の実施形態を実施するために適切な例示的動作環境を示す。
【図1B】本発明の実施形態によるウェブページセットに埋め込まれる例示的プログラムコードを示す。
【図1C】本発明の実施形態によるウェブページセットに埋め込まれる例示的プログラムコードを示す。
【図1D】本発明の実施形態によるウェブページセットに埋め込まれる例示的プログラムコードを示す。
【図1E】本発明の実施形態によるウェブページセットに埋め込まれる例示的プログラムコードを示す。
【図2】本発明の実施形態による「開始前の挿入」ルールの例示的な実行を示す。
【図3】本発明の実施形態による「開始後の挿入」ルールの例示的な実行を示す。
【図4】本発明の実施形態による「終了前挿入」ルールの例示的な実行を示す。
【図5】本発明の実施形態による「終了後挿入」ルールの例示的な実行を示す。
【図6】本発明の実施形態によるプログラムコードに語彙解析プログラムを適用する例示的なステミングの結果を示す。
【図7A】本発明の実施形態による例示的なマーキングスキームを示す。
【図7B】本発明の実施形態による例示的なマーキングスキームを示す。
【図8A】本発明の実施形態による例示的なユーザーインターフェースのスクリーンショットを示す。
【図8B】本発明の実施形態による例示的なユーザーインターフェースのスクリーンショットを示す。
【図8C】本発明の実施形態による例示的なユーザーインターフェースのスクリーンショットを示す。
【図8D】本発明の実施形態による例示的なユーザーインターフェースのスクリーンショットを示す。
【図8E】本発明の実施形態による例示的なユーザーインターフェースのスクリーンショットを示す。
【図8F】本発明の実施形態による例示的なユーザーインターフェースのスクリーンショットを示す。
【図8G】本発明の実施形態による例示的なユーザーインターフェースのスクリーンショットを示す。
【図8H】本発明の実施形態による例示的なユーザーインターフェースのスクリーンショットを示す。
【図8I】本発明の実施形態による例示的なユーザーインターフェースのスクリーンショットを示す。
【図8J】本発明の実施形態による例示的なユーザーインターフェースのスクリーンショットを示す。
【図8K】本発明の実施形態による例示的なユーザーインターフェースのスクリーンショットを示す。
【図8L】本発明の実施形態による例示的なユーザーインターフェースのスクリーンショットを示す。
【図8M】本発明の実施形態による例示的なユーザーインターフェースのスクリーンショットを示す。
【図9】本発明の実施形態によるカスタムコンテンツを埋め込むための例示的方法を示す。
【図10】本発明の実施形態によるトラッキングスクリプトをインストールする別の実施形態による第2の方法を示す。
【発明を実施するための形態】
【0008】
簡単に述べたように、本発明の実施形態の新しい態様の1つは、ウェブ解析タグをドキュメント(テキストファイル、動的変更可能ファイルなどを含み得るウェブページ)に自動的に挿入する機能であって、それによって、それらのタグを編集されるべきページそれぞれに挿入するユーザー経験を簡素化する。一実施形態において、タグは、区切られたHTML及び/又は、ウェブページを編集するスクリプト(例えば、Javaスクリプトのような)形式を呈していて、ウェブページに関連するウェブページ利用情報をトラッキング可能にする。当業者の中には、編集の概念を取得するために様々な用語を使用する人もいる。例えば、「ウェブ解析」は、いくつかのウェブ解析プロバイダーによって、時々「ウェブサイト編集」と呼ばれる。例示的なウェブ解析プロバイダーは、Omniture Inc.(NASDAQ:OMTR,omniture.comも参照)である。Omnitureの監視サービスなど多くの監視サービスが存在する。監視サービスの実行は、この発明によって対処される重要な課題ではない。むしろ本発明の態様は、ウェブサイト又はウェブページセットに監視される機能を装備することに関係している。ホームセキュリティは、セキュリティシステムが導入されるまで監視され得ない。多くの業者は、監視サービスを提供しているが、われわれの関心の1つは、自動的な方法であって、セキュリティシステム自体の導入と同等である。
【0009】
ウェブサイト編集は、ウェブ解析に関連するスクリプトをウェブページに挿入することを含んでいる。この技法は、ウェブページに挿入されるものが、HTMLタグによって区切られたコードの一部であるので、本明細書において、様々な「タグ付け」として参照される。タグ付けは、ウェブ解析を挿入することに限定されず、コンテンツ広告を同様に埋め込むことをも含み得る。
【0010】
かくして、本発明の一態様は、ユーザーがウェブページのソースコードを編集する必要なくウェブページセットを編集するための効率的で自動的な方法を提供する。しばしばウェブページがウェブサイトを作リ上げるが、いつもそうではない。かくして、われわれがウェブページを「編集」又「編集すること」を論述するとき、われわれは、監視されるそのウェブページの利用情報機能をウェブページに装備することを参照していることを意味する。例示的なウェブページ利用情報は、訪問イベント(人々(124)がウェブページと対話する方法)を含むウェブサイト訪問者(124)の振舞いに関する情報を含んでいて、特に、ウェブページ上でクリックされたオブジェクトに関する情報、表示されるドキュメント、表示されるページ、ウェブページからダウンロードされるダウンロード情報、ウェブページ上で起動されるコントロール情報、ウェブページ上でユーザーによって対話される項目情報、ウェブページを介しレンダリングされるメディアオブジェクト情報のような情報を含み得る。これによってウェブサイトオーナーは、それらのウェブサイト利用の様々な態様を詳述するレポート及びその他提示の表示が可能になる。
【0011】
本発明の実施形態をコンテンツプロバイダーの文脈で実行することは、彼らの広告をページに埋め込み、彼らの利用可能性をトラッキングすることが望まれるために、商用プロバイダーに適用可能である。
【0012】
ここで図1を見ると、番号(110)によって一般に参照されている本発明の実施形態を実行するために適切な例示的動作環境が提供されている。様々な装置が例示的に示されているように、ネットワーク(112)を介し直接的又は間接的に相互接続される。ウェブサーバー(114)は、様々なウェブページから構成されるウェブサイト(116)をホスティングする。ウェブページすべてを示しているわけではない。ウェブページの一部が番号(118)によって参照されている。以下に、より詳細に説明されるように、これらのいくつかのウェブページのソースコードが変更され、利用情報が、特にトラッキングされ得る。
【0013】
これらの変更は、参照番号(120)を有するクラウドによって示されている。すなわち、クラウド(120)は、利用情報をトラッキングし、広告コンテンツを提供するような様々な機能的態様を実現可能にする、ウェブページ(118)に追加されるプログラムコード(タグ構造)を参照している。プログラムコード/タグ(120)の説明に役立つ実例が、図1B〜1Eに見出される。実施形態の中には、編集コード(120)が、ウェブページの利用のトラッキングを容易にするものもある。別の実施形態において、編集コード(120)は、広告コンテンツを提示することを容易にする。
【0014】
図1B〜1Eを手短に見ると、われわれは、タグ又は埋め込み可能カスタマイズコンテンツの例を単に提示している。構文及び形式は、明らかに変更し得る。図1Bのボックス(160)は、ウェブ解析タグの第1の例を示している。図1Cのボックス(162)は、別の例を示している。図1Dは、ソース指示(164)、タイプ指示(166)、ユーザー識別子(168)、トラッキング参照(170)、この場合、識別子(168)に関連付けられたタイプ指示(172)を例示していて、より抽象化された構文を示している。これらは、唯一のタイプのタグでなくて例である。図1Eは、埋め込まれるオブジェクトの視覚情報を提供する広告に関連する例示的なタグを示している。
【0015】
また、以下、より詳細に説明されるように、一実施形態において、ウェブサーバー(114)は、ウェブコンテンツをまとめて変更する通知クライアント(122)を含むように機能が向上され得、ウェブページが要求されたとき、それがビューアー(124)にリアルタイムに提示されたときに存在しているコード(120)を含むように変更される。単純化のためにわれわれは、ウェブページすべてが実際に変更されるわけではない場合であり得ても、参照番号(118)によってウェブページ(118)を参照する。すなわち、場合によっては、ウェブページの一部分だけが変更される。
【0016】
本発明の実施形態の例示を支援するために、ウェブサイト(116)が編集されるものと仮定する。すなわち、ウェブページ(118)は、埋め込みコンテンツ(120)を受信することになる。本発明のほとんどは、ウェブページの監視を容易にするプログラムコード(120)の挿入又は埋め込みを中心に展開する。ウェブサイトは、数百又は数千ものページ/ドキュメントから構成され得る。本発明の実施形態は、ウェブページセット全体を検査し、ウェブサイト上のウェブページの決定された挿入点に外観に影響しないコード(120)を挿入するための挿入点を知的に決定し、適切なタグを選択し、それを挿入するための自動処理を可能にする。
【0017】
これを実行するためにユーザーは、一実施形態において、ネットワークブラウザー(128)を実行する機能を有するクライアントマシン(126)を利用する。それは、ユーザーがウェブサイトを編集し、本発明のそのようなユーザーをウェブサイト訪問者であるウェブサイトビューアー(124)と区別するために使用する例示的な装置であるので、われわれはクライアントマシン(126)をユーザー(126)として参照する。ネットワークブラウザー(128)は、Firefox、Safari、Opera、Mozilla、Internet Explorerのようなインターネットブラウザーであり得る。クライアントサイドアプリケーション(130)は、一実施形態において、ブラウザー(128)を介し計算装置(126)上にユーザーインターフェース(132)を提示する。一実施形態において、ユーザーインターフェース(132)は、番号(134)によって一般に参照される様々な画面及びコントロールを含む。
【0018】
クライアントアプリケーション(130)は、一実施形態において、ウェブベースのクライアントアプリケーションである。例えば、クライアントアプリケーション(130)は、ActiveXコントロール形式又は同様の形式を呈し得る。別の実施形態において、それは、ウェブサイトを作成又は管理するために使用されるウェブオーサリングツールのようなローカルソフトウェアアプリケーションを補完する単独で実行可能か又はプラグイン/アドインである。一実施形態において、クライアントアプリケーション(130)は、より容易にそれを参照することを支援するために、編集サーバーとして参照するサーバー(138)上で実行するサーバーサイドアプリケーション(136)と協調する。当然のこととして、それはコンピューター、ラップトップのような様々な計算装置形式を呈し得る。編集サーバー(138)は、本明細書に説明される様々な機能を実行する任意の計算装置であり得る。実施形態の中には、サーバー(138)が、リアルタイムにアクセス又はダウンロードされ導入されたクライアントアプリケーション(130)を利用可能な、メモリーを含むものもある。このメモリーは、サーバー(138)に関連付けられている必要はなく、ユーザー(126)によってアクセス可能な別の場所に存在し得る。
【0019】
一実施形態において、クライアントアプリケーション(130)は、ウェブサイト(116)を編集するサーバーサイドアプリケーション(136)と一緒に作動する。別の実施形態において、クライアントアプリケーション(130)は、ウェブサイト(116)を編集するウェブサーバー(114)と直接に機能し得る。更に別の実施形態において、クライアントアプリケーション(130)は、ウェブページセットに対するアクセス手段を有する場合、それらを自立的に編集し得る。対話レベルの変更は、ウェブサイト(116)が、その編集が更新されているかと比べて初めて編集されているか否か、又はウェブページ(118)の一部だけが変更されているかなど、状況に関する関数であり得る。別の実施形態において、編集サーバー(138)は、タグリポジトリ(140)に対するアクセスを提供し、ウェブページ(118)に追加され得るタグ又はタグに関する情報をストアする。前述したように、用語「タグ」は、HTMLタグによって区切られているウェブページに埋め込まれるコード部分を参照している。一般に、タグはスクリプト形式を呈する。タグが様々な形式を呈し得るので例示的タグ(120)を図1B〜1Eに示す。これらのタグは、(第三者リポジトリであり得る)リポジトリ(140)にストアされる必要はない。
【0020】
参照番号(142)は、本発明の態様の説明を支援するために、タグリポジトリ(140)中の特定のタグを参照している。かくして、場合によってプログラムコード(120)は、タグ(142)と同一である。われわれは、用語「特定タグ」を使用しているが、1つ以上のウェブページ(118)に挿入されるコード部分の参照を意味するためだけにそれを使用する。すなわち、タグ(142)は、異なるウェブページに対してはその意図が全く異なる。しかしながら、それを参照番号に割り当てることによって、本発明の実施形態の異なる態様の説明を支援するだろう。参照番号(142)は、ウェブページに追加される様々な利用情報のトラッキング又はコンテンツの提示を可能にするコード部分を説明するための、当技術分野において使用される別の用語であって、前述したような様々な「ウェブ解析」又は「スクリプト」を参照するためにも使用される。
【0021】
単にウェブ解析を埋め込む他に、本発明は、広告コンテンツを公開するコードも埋め込み得る。一実施形態において、コンテンツプロバイダー(144)は、広告及びその他のコンテンツ(146)を提供する。参照番号(148)は、ウェブページ(118)に組み込まれ得るコンテンツタグ又は実際のコンテンツを示す。コンテンツタグ(148)は、場合によって、タグリポジトリ(142)に格納され得る。例示的なコンテンツタグを図1Eに示す。参照のために図的に示されているが、タグリポジトリ(140)は、編集サーバー(138)内に常駐し得るか又は編集サーバーの一部であり得る。同様に、広告コンテンツ及びその他の(146)コンテンツは、番号(144)のコンテンツプロバイダーによって参照される同一ハードウェアの一部を形成し得る。
【0022】
ウェブサイトが編集された後、監視サービス(150)は、ウェブページ(118)に関連する利用情報を監視し得る。述べたように、例示的なウェブページの利用情報は、ウェブページ訪問、ウェブページ上でクリックされたオブジェクト、ウェブサイトにおいて表示されるドキュメント、ウェブページからダウンロードされたダウンロード、ウェブページ上で起動されたコントロール、ウェブページ上のユーザーによる対話項目、ウェブページを介しレンダリングされたオブジェクトなどの情報を含む。ダウンロードされ得るダウンロードの例は多数であり得、そのいくつかは、PDFファイル(様式、製品マニュアル)、ゲーム又はその他のアプリケーション用インストーラー、着信音、MP3ソング及びWMAソングのようなミュージックファイル、スクリーンセーバーアプリケーション、「壁紙」背景画像、ソフトウェアアプリケーション全て、及びダウンロードされ得るその他を含む。
【0023】
明らかに、前述したリストは、ウェブ解析プログラムが提供し得る簡単な情報概要に過ぎない。ここで我々は、様々なコンポーネントのいくつかの態様をより詳細に論述する。
【0024】
述べたように、クライアントアプリケーション(130)は、異なるレベルの機能性を提供し得る。一実施形態において、それは、多くの場合、ウェブページであるドキュメントにタグを挿入する。実施形態の中には、これらのウェブページが、ローカル、すなわち、クライアント装置(126)又はクライアント装置(126)に接続されるか、又は(示されていない)ネットワークアドレス付けられた記憶装置のような記憶装置にストアされるものもある。一実施形態において、これらのローカルウェブページは、アプリケーション(130)によって変更され得、その後、ウェブサーバー(114)にアップロードされ得る。別の実施形態において、アプリケーション(130)は、ウェブページ(118)と直接に対話し、それらをウェブサーバー(114)上で変更する。更に別の実施形態において、示されていないが、別のリモートディレクトリ上に配置されるシャドウファイル又は検査ファイルが、アプリケーション(130)によって変更され得、再び単独で作動するか又はサーバーサイドアプリケーション(136)と協調する。更に別の例示的な実施形態において、タグ付けられるコンテンツは、(ウェブサーバー(114)のメモリーのような)メモリーに常駐し得、ウェブページ(118)がまとめて変更され得る。述べたように、ウェブページ(118)すべてが編集の目的である必要はない。編集しているウェブサイト全体、選択されたディレクトリ、選択されたファイル、1つの単一ファイル、いくつかのページ上のHTMLの自動更新エレメント、1つのページ上の単一HTMLエレメントのようなオプションも利用可能である。
【0025】
クライアントアプリケーション(130)は、様々な目的を果し得る。例えば、第1の例示的な目的は、タグの挿入を含む。タグ付けコード(又は単に「タグ」)(120)が、変更されるウェブページ(118)に埋め込まれる。一実施形態において、タグは所定のタグ付けルールセットに一致するように生じ、実施形態の中には、ルールセットは、編集サーバー(138)上に常駐するものや、別の実施形態において、タグリポジトリ(140)上か又は(クライアントアプリケーション(130)が、ルールが使用される場合、その位置を知っている限り)ウェブサーバー(114)上に常駐する。これらのルールセットは、番号(152)によって例示的に参照され、タグリポジトリ(140)に例示的に示される。挿入されるタグ(120)は、一実施形態において、スクリプトを構成し、スクリプト言語のプログラムのコードから構成される。例示的なスクリプト言語は、JavaScriptである。
【0026】
タグコード(120)は、一実施形態において、検出及び置換のような動作を簡素化するために、コメント又はマーカーの間に挿入される。これは、本発明の実施形態すべての要件ではない。実施形態の中には、マーカーが含まれ得ないものもある。しかしながら、別の実施形態においては、マーカーが含まれていて、ページが既に編集されているか又はエラーに関してページを点検するか、どちらかを決定するタスクがより容易に実行される。タグ検出のプロセスは、ウェブページが既にタグ付けされたか否か検出するために、使用される。タグ付けは、手動によるか、別のツール、又は本明細書に記載されているような方法によって実行され得る。この態様の目的は、柔軟性であって、予想されているものとそれが文字毎に厳密に同一でなくても、タグ検出を試行することである。
【0027】
タグの削除プロセスは、ウェブページ(118)に入力されているタグ(120)の削除を含む。
【0028】
タグの置換によって、タグ(120)が別のタグに置換され得る。これが望まれる別の理由がある。ページが、以前のバージョンのタグ付けルール(152)を用いてタグ付けされていて、それが、より新しいバージョンのタグ付けルールと一致するタグ付けに更新するように望まれる。あるいはまた、ユーザー(126)は、所与のページが異なって編集される必要があることを決定し得る。ユーザー(126)は、その後再び、埋め込みコード(120)を作成するいくつかのパラメーター値を変更することを望み得る。実施形態の中には、置換動作が削除に続く挿入として実行されるものもある。
【0029】
タグの無効化は、いくつかのタグに関連付けられている機能性を除去するプロセスを示す。追加されているタグを手動で抽出して削除することは、困難であり得る。かくして、タグの無効化によってこれらのタグが利用不可になる。一実施形態において、無効化されるタグは、コメントアウトされる。
【0030】
ページの検証によって、タグ付け動作の前後の双方でページが辞書的に有効であることを検証できる。すなわち、本発明のこの態様によって、埋め込みコンテンツ(120)が、それがあるべき方法で作動することを検証可能になる。実施形態の中には、このプロセスによって、JavaScript又はその他のコードが、そのタグ付け動作によって壊れなかったことを検証できるものもある。
【0031】
異なる多くのタイプのウェブページ(118)が、本発明の様々な実施形態に関連して使用され得る。例えば、利用可能なHTMLドキュメント又は致命的なHTMLエラーを有さないドキュメントが編集され得る。実施形態の中には、ASP ASP.net、JSP、及びPHPのような動的ページも使用され得るものもある。増大した検査レベルを保証し得るか又はどんなタグ挿入も場合によっては保証し得ない例示的なエラーの例は、ドキュメントコンテンツがメタタグ中のコードページと一致しない、ドキュメントが有効なUTF8ドキュメントでない、ドキュメントが有効なUTF16ドキュメントでない、ドキュメントが無効な文字(「0」文字など)を含む、ドキュメントが1つ以上の<HTML>タグを含む、ドキュメントが1つ以上の</HTML>タグを含む、</HTML>タグが<HTML>タグの前で配置されている、ドキュメントが</HTML>タグを含んでいない、ドキュメントが</HTML>タグに対応する所定の<HTML>タグを含まない、ドキュメントが1つ以上の<HEAD>タグを含む、ドキュメントが1つ以上の</HEAD>タグを含む、ドキュメントが</HEAD>タグを含んでいない、</HEAD>タグが<HEAD>タグの前に配置されている、ドキュメントが<BODY>タグを含んでいない、ドキュメントが1つ以上の<BODY>タグを含む、ドキュメントが1つ以上の</BODY>タグを含む、</BODY>タグが<BODY>タグの前に配置されている、</BODY>タグが<BODY/>タグの後に出現する、<BODY>タグが<HTML>タグの前に出現する、<BODY>タグが<HEAD>タグの前に出現する、コメントが閉じられていない、</HTML>タグが</BODY>タグの前に出現する、<BODY>タグが</HEAD>タグ前に出現する、</BODY>が見つからない、終了マーカーが開始マーカーを有さずに見つかった、開始マーカーが開始マーカーの後に見つかった、重複したidが見つかった、及び/又はドキュメントが認識されない文字セットである、状況を含む。
【0032】
タグ付けルール(152)は、使用されるルールが任意に選択された場合に、ページに適用されるべきテキストの検出、挿入、又は置換、変更、無効化などの動作を定義している。実施形態の中には、タグ付けルール(152)がタグリポジトリ(140)に常駐し得るものもある。ウェブサイトを編集するために、顧客(126)によって使用される異なる製品に対するルールセットを含むタグ付けライブラリが、開発され得る。そのような実施形態において、(例えば監視サービスプロバイダーによって提供される製品のような)異なる製品及び同一製品の異なるバージョンに対するタグ付けルールライブラリが一実施形態において中央の場所にストアされ、配布され得る。述べたように、例示的な場所は、タグリポジトリ(140)、編集サーバー(138)、又はウェブサーバー(114)さえも含む。これらのルール(152)は、ユーザーインターフェース(132)を介し顧客にロードされ、提示され得る。それらは、顧客の選択も埋め込み得る。この態様は、この出願に伴って情報開示の説明書(Information Disclosure Statement)に列記されているPerlスクリプトのように、</BODY>タグの直前など固定した場所にコードを盲目的に挿入する任意の技術に対して柔軟性及び相違点を提供する。かくして顧客選択の結果として、検出/置換/挿入の異なるルールセットが、ウェブサイト(116)のページそれぞれに適用され得る。ウェブページコンテンツと一緒にこのルールセット(152)は、クライアントアプリケーション(130)に対し、入力データを提供する。
【0033】
実施形態の中には挿入ルールが、挿入点、挿入位置、挿入される文字列、及び挿入後のページ内のタグを容易に検出するために使用され得るルール識別子を含むものもある。挿入点に関して本発明の実施形態は、編集コード(120)用の挿入点が、タグの名前(例えば、<BODY>)又はタグに関連付けられた属性「id」の値のどちらか一方によって識別され得ることを仮定している。あるいはまた、最初又は最後のタグは、ウェブページ(118)に存在する名前と同一視され得る。より複雑な挿入シナリオは、クライアントアプリケーション(130)において実行し、編集されるウェブページ(118)のドキュメント・オブジェクト・モデルにアクセスするブートストラップコードを用いて動的に処理され得る。ドキュメント・オブジェクト・モデル(DOM)は、HTML及びXMLドキュメント用APIである。それは、ドキュメント構造の表現を提供し、そのコンテンツ及び視覚的な表示の変更を可能にする。実質的にそれが、ウェブページをスクリプト言語又はプログラミング言語に接続する。
【0034】
挿入位置に関して実施形態の中には、挿入ルール(152)が、指定されたタグの前、内部、又は後にユーザー(126)がテキストを挿入可能にするものもある。別の実施形態において、デフォルトルールが選択され得、ユーザーは、それを開始後、本発明と対話する必要がない。更に別の実施形態において、ユーザーが選択し得る提案が、実行され得る。例えば、ユーザーに公開され得る4つの例示的な選択は、「開始前挿入」、「開始後挿入」、「終了前挿入」、及び「終了後挿入」を含む。われわれは、それぞれの例を提供する。
【0035】
「開始前挿入。」われわれは、図2を参照し「開始前挿入」ルールを説明する。示されているように、イニシャルコードセグメント(210)は、結果(214)を生み出すための例示的形式(212)を呈し得るルールの支配下にある。コード部分(214)において確認され得るように、タグ(216)は、参照番号(218)によって示されるHTMLソースコード本体の開始前に挿入される。
【0036】
「開始後挿入」ルールを、図3を参照し説明する。図3を見ると、イニシャルコード部分(310)は、参照番号(312)によって示される、結果(314)を生み出すための例示的な形式を呈し得るルールの支配下にある。確認され得るように、タグ(316)は、本体タグ(318)及び最初の<div>タグ(320)の後に挿入される。
【0037】
「終了前挿入」ルールの例示的実装を図4を参照し説明する。ここで図4を見ると、イニシャルコード部分(410)は、結果(414)を生むために示される例示的な書式を有するルール(412)の支配下にある。例示として結果(414)は、タグ(416)が関連する、その後者を番号(418)によって示す、HTMLの<BODY>と</BODY>タグによって記述されるHTMLソースコード本体部分の終了前に出現することを示している。
【0038】
「終了後挿入」ルールの例示的な実装が、図5を参照し説明されていて、イニシャルコード部分(510)は、結果(514)を生み出すための、示されている例示的な書式を含むルール(512)の支配下にある。結果(514)中に確認され得るように、タグ(516)は、本体タグ(518)終了の後に挿入される。
【0039】
通常、挿入タグの場合、挿入点は、タグ名及び任意に「id」属性値によって定義される。実施形態の中には、かくしてタグそれぞれのその他の「id」でない属性すべてが破棄され、並びにHTMLタグ及び<script>タグ内部のリテラルコンテンツも破棄され得る。
【0040】
トークン列を製造するために語彙解析プログラムが利用され得る。語彙解析プログラムは、入力としてHTMLテキストを受信し、開始タグ、終了タグ、属性名、属性値、コメントなどの検出に対応するトークン列を提供する。語彙解析プログラムは、クライアントアプリケーション(130)又はサーバーサイドアプリケーション(136)の一部を形成し得る。図6を参照すると、イニシャルコード部分(610)を語彙解析プログラム(612)に適用した結果をボックス(614)に示している。開始タグすべてが終了していることなどページがシンタクス上、正しいことを検証することは必要ない。むしろ、本発明の実施形態は、所与の名前を有するタグ名を待っている。それが見つかったとき、開始タグ及び終了タグ、及び存在する場合に「id」属性の位置情報と一緒にそれは、待ち行列に挿入される。構文解析の終了時、指定されたルールを満たす挿入点が存在するかの決定が実行され得る。タグが見つからなかった場合、挿入は、一実施形態において、失敗する。さもなければ、タグが挿入される対象位置として、ドキュメント内の正確な位置は、知られている。この正確な位置は、「挿入」関数にパラメーターの1つとして渡され得る。
【0041】
「挿入」関数に対する別のパラメーターは、挿入コード(120)用のマーカーを記述するために使用され得る「挿入ルール識別」パラメーターである。この機能性は、ユーザーが、別のものに代わって1つの編集プロバイダーを選択するか、又はA/B検査を容易にし得るために古いカスタムスクリプトバージョンを自動的に更新するために有用であり得る。A/B検査は、ウェブサイトトポロジー及び対話の実験及び変更を容易にする一態様をわれわれが説明するために使用する、例えば、オプション双方の比較の影響を評価するために、第1の何人かの顧客へのオプションセット(「A」)を公開し、他人に第2のオプションセット(「B」)を公開する編集を使用する用語である。例示的な開始マーカー用形式は、以下である。
【0042】

"<!--[_{product}_{rule_id}_{version}_-->."

例示的な終了マーカー用形式は以下である。
【0043】

"<!--[_{product}_{rule_id}_{version}_-->."

これらは例に過ぎない。以下の表のように、識別子用のタイムスタンプなど別の項目が含まれ得、ある項目が削除され得る。
【0044】

――――――――――――――――――――――――――――――――――――――――
Opening marker: <!--[{Unique identifier: GUID}{date in the format
YYYY/MM/DD hh:mm:ss} -->

Closing marker: <!--]_<!--[{Unique identifier: GUID}_-->
――――――――――――――――――――――――――――――――――――――――
表1

われわれは、より一般的な形式のマーカーを図7Bに示す。しかしながら、上記の例において「product」は、編集対象である(Google解析のような)プロダクトを識別する固定部分である。「Rule_id」は、設定データベースによって提供される整数のようなルール識別子を識別する。これは、一実施形態において、タグリポジトリ(140)から検索され得る。「Version」は、編集用に適用されるタグリポジトリ(140)におけるルール(152)のバージョンを識別する。説明に役立つ実例を図7Aに与える。図7Bは、より高いレベルの例を示していて、開始マーカー(710)は、埋め込みコード(712)(又は120)の開始をマークし、終了マーカー(714)は、終了をマークしている。挿入されたタグ(120)の検出及び削除は、HTMLパーサーを使用し、指定されたプロダクト及びバージョンを有する((710)又は(714)のような)マーカーを含む1つ以上のコメントタグを検索して、実行され得る。述べたように、これは、現在の埋め込みタグを検出する容易な方法を提供する。
【0045】
当然のこととして、上記は入力されたタグを示す方法の単なる一例である。タグを示す様々な異なる方法があるが、比較的もっと関連することは、実施形態の中には、タグが、それらの記法を検索し得るように、埋め込みタグを容易に見つけられ得るようになにか示されているものがあることである。
【0046】
われわれは、タグ検出に対し、ウェブ解析編集スクリプトが、別の解析製品と共存できることに留意している。実施形態の中には、これらが同一ページに二度挿入できないものもある。そのような実施形態において、新しいタグをページに挿入する前に、そのようなタグがページにまだ存在していないことを検証することは、有益である。既存の編集は、ウェブサイトコンテンツの所有者によって手動で挿入されているか、別のツール、又はクライアントアプリケーション(130)それ自体で、自動的に挿入されている。前述したように、挿入されているタグは、それらがマーカーによって囲まれているので、前述したように識別することは比較的容易である。これらのマーカーは、そのようなタグ(例えば、(710)及び(714))の境界を定義している。かくして、これらのタイプのタグは、マーカーを検索する方法を使用して見つけられ得る。
【0047】
しかしながら、マーカー又はその同等物が提供されていない場合、ウェブページのソースコードは、コード部分特有に入力する「コード署名」が検索され得るか否か確認するためにもっと検査され得る。例えば、あるウェブ解析製品は、コード署名を生成する。検出に関する文脈において、正確なコードの断片境界を完全に定義することは、特に重要でない。例示的なコードの断片は以下である。
【0048】

"Script language = JavaScript" SRC = http://x.msn.com/scripts/acascript.js.

目的は、正しいコード断片を正しく識別することである。望ましい柔軟性レベルを促進するように、コード署名が正規表現を介し指定され得る。そのようなシナリオにおいて、検出関数は、ページコンテンツに正規表現を適用することによって実行される。必要とされる場合、関数は、ページ中のタグコードの位置に関する情報と一緒に結果「タグ付け又はタグ付けされていない」の真偽を返却する。
【0049】
正規表現がウェブページのコンテキストにおいて、常に正常に動作するとは限らない。検索されるパターンは、ページの異なる多くの場所に出現し得る。例えば、<BODY>又は</BODY>テキストは、実際の本体タグ前のスクリプトタグに含まれている文字列の中に出現し得る。これを以下の表に示す。
【0050】

――――――――――――――――――――――――――――――――――――――――
<html>
<head>
<title> ...</title>
<script language="javascript">
var s = "<body>";
</script>
</head>
<body>
...
</body>
<html>
――――――――――――――――――――――――――――――――――――――――
表2

それは、以下の表に示されるようにHTMLコメント内にも生じ得る。
【0051】

――――――――――――――――――――――――――――――――――――――――
...
<!-- commented <body> tag. -->
<body>
...
</body>
...
――――――――――――――――――――――――――――――――――――――――
表3

エラー回避を支援するための前処理ステップのいくつかが実行され得る。正規表現一致を検索する前に、偽の一致をもたらし得る部品すべてを削除するようにページは、前処理され得る。実装の観点から異なるパラメーターを用いる同様の前処理スキームが、検出、交換、挿入などを含む任意のタグ付け動作を実行するために使用され得る。プリプロセッサーは、タグ付けされるページが与えられた場合、特定のタグ動作を適用するために要求される最小のタグ及び属性セットだけを含むストリップバージョンページを返却する。このストリップバージョンは、一実施形態において、タグの存在を正確に検出するか、正しい挿入点を識別するか、又はあり得る偽の一致を回避するために、内部的に使用されるだけである。実際の挿入、削除、置換動作は、元のページにおいて実行される。
【0052】
検出の場合、既存の編集コードを見出すための前処理ステップは、一実施形態において、HTMLタグ内のコメントのすべて及びリテラルコンテンツのすべてを破棄する。このプロセスをより容易に実行するために、ページ正規化が使用され得る。われわれが照合する文字列を正規化することは、正規表現がより単純なままであるので、より容易である。スペース、タブ、及び改行などホワイトスペースは、前処理中に単一スペースに変換され得る。かくして、表現の間の様々なスペースを有する行が、単純化され得、それらは単一のスペースだけで分離される。
【0053】
タグの置換又は削除に関し、HTMLパーサーは、マーカーが提供された場合、前述したようにマーカーテキストと一致するコンテンツのコメントを検索するために使用され得る。一致が見出されたとき、(710,714のような)2つのコメントマーカーの間に含まれるマークアップすべてがページから削除され得る。マークされたタグの置換は、存在するマークされたタグすべてをウェブページから削除し、その後、場合によって、異なる位置又は異なるパラメーターを用いて新しいタグを再び挿入することによって、実行され得る。
【0054】
マークされていないタグに関しては、代替プロセスが使用され得る。通常、単一の(例えばGoogle解析のような)プロダクトのタグ付けは、ウェブページの異なる部分に多くの変更を生成する。これらの変更は、検出される必要があって、あり得る検索すべきコード断片を指定するための正規表現のセットが定義され得る。かくして、一実施形態において、ポピュラーな解析プログラムリストは、そのプロバイダーの実装固有か又はその他のプロバイダーの実装において見出されるかどちらか一方であるコードに対し、語句又は用語がタグ(120)の存在を示すのに役立つ指示としての役割を果たすものと見られる。
【0055】
例えば、例示的な図1Cのタグ(162)を考えられたい。語句「URCHIN.JS」が存在していることが確認され得る。この語句は、検索されるように望まれる他の多くのものと一緒に、ウェブページセット内を検索するためのクエリーの基本として機能し得る。コード(162)のような断片に関連するコードすべてを実際に削除することは、比較的困難なので、そのようなコードは一実施形態において無効化される。例えば、既知のプロダクトの関数に対する呼び出しすべてがコメントアウトされ得る。ウェブページを実質的に壊す可能性があるので、本発明の一実施形態は、それが実質的に壊されていないことを保証するためにそれを発行する前に、ユーザーが自分のページを検査する機能を提供する。したがって、一実施形態において、特定のウェブページに実行される変更すべてがトラッキングされる。これらは、その後、取り消され得、元のページがエラーイベントにおいてリストアされ得る。
【0056】
同様に、HTML検証プロセスが一実施形態において、提供される。そのようなプロセスは、タグ付け動作の前後にHTMLドキュメントの正当性を検証し得る。これは、検査目的に使用され、かつ、タグ付けが少なくともHTML構文の観点からページを壊していないこと、を検証するために使用され得る。この機能性は、前述のHTMLプリプロセッサー/パーサーを使用し実行され得る。
【0057】
本発明は、実行するステップの前処理の変形を記述するためのページ・エンコーディング又はドキュメント・エンコーディングを使用し得る。この情報は、microsoft.com/globaldev/getwr/steps/wrg_codepage.mspxに提供されていて、エンコーディングを説明するために参照によって本明細書に組み込み、この書類とともに出願されるIDSにも提供される。そのような実施形態において、コードページが検出され得る。これは、本書にユニコードBOM(byte order marks)(例えばBOM検出を説明するために本明細書に参照によって組み込まれるunicode.org/unicode/faq/utf_bom.html参照)の検出によって、ページ中の<META charset=“...”/>を検索し、及び/又は正しいコードページをユーザーに依頼することによっても達成され得る。検出後、ページは、ユニコードUTF16のような正規化形式に変換され得る。HTMLパーサーは、タグの挿入/削除/変更を容易にすることを支援するために、正規化バージョンで実行する。所望される場合、結果である(UTF16)ドキュメントが、元のコードページに逆変換され得る。
【0058】
ここで図8A〜8Mを見ると、ユーザーインターフェース(132)の更なる詳細が提供されている。一実施形態において、これらは、ブラウザー(128)を介しクライアント装置(126)に表示される画面である。クライアントアプリケーション(130)がローカルアプリケーションである場合、画面はまるでアプリケーションがスタンドアロンのローカルアプリケーションであるようであり得るが、同様の画面が提供されても、ネットワークブラウザー(128)を介し表示される必要はない。画面(8A)は、この例では、編集すべきか又は編集したいページセットであるページ(118)を有するウェブサイト(116)である、ユーザー(126)が所望するウェブサイトを編集するための準備を確認する目的のための例示的な歓迎画面を示している。項目(810)によって確認され得るように、このプロセスは、自動的な編集を可能にする。
【0059】
一実施形態において、図8Bに示されているような別の画面がトラッキングスクリプトを潜在的なウェブページすべて(118)に自動的に挿入するためのオプションをユーザーが選択可能にするように表示され得る。図8Bに参照番号(812)によって示されているように自動的なタグ付けが、所望された場合、トラッキングスクリプトをウェブページそれぞれに挿入する。ここで図8Cを見ると、画面(814)は、ウェブページ(118)の識別を可能にする位置情報を受信するためのユーザーインターフェースを提供する。サーバー及びセキュリティ証明書が提供されるFTPパラダイムが使用され得ることを単に例示として示している。しかしながら、編集されるべきウェブページ(118)を識別可能にする位置情報を受信するためのフォルダー(816)が、ボタン(818)によって閲覧され得る場合もあり得る。そのようなフォルダーは、クライアントアプリケーション(130)又はブラウザー(128)と同一のハードウェア部分に物理的に常駐する必要はない。もっと具体的に言えば、それは、ネットワークドライブを介し達せられ得る。
【0060】
図8Dは、本発明がトラッキングスクリプトをウェブサイト(116)のページそれぞれに挿入する開始の準備ができていることを示している。設定ボタン(820)が提供され、既に説明された編集よりもっと大幅なカスタマイズを可能にする。図8Eにおいて、本発明は、参照番号(822)によって示されるように3つのファイルを処理していて、約33%完了したことが確認され得る。
【0061】
図8Fは、参照番号(826)によって反映されている9つのファイル(824)すべてが処理され、タグ付けをされ、首尾よく埋め込まれたことを表しているスクリーンショットを示している。コメント(828)によって示されているように、トラッキングスクリプト(120)が挿入されていて、ここでウェブサイト(116)は、訪問者又はユーザーの情報収集準備ができている。
【0062】
番号(830)によって参照される例示的なトラッキングスクリプト導入のレポートが、図8Gに確認され得る。このレポートは、それぞれのページ、及び「基本編集」のようなどの方法で選択的にスクリプトが挿入されたかに関する指示を示している。図8Hは、カスタム設定及びトラッキングスクリプトを挿入可能にする本発明の機能を例示する画面(832)を示している。ここでユーザーは、カスタムコンテンツに埋め込まれるフォルダー及びファイルのいくつかを選択することが可能である。示されている例示的なカスタムコンテンツは、解析トラッキングスクリプトである。
【0063】
図8Iは、示されたディレクトリ中のファイルが検索されていることを示している。参照番号(834)によって示されているように、4,215個のファイルが示され解析されている。
【0064】
ここで図8Jを見ると、ユーザーインターフェース画面(840)は、トラッキングスクリプトセットをリフレッシュするための機能のようなオプション(842)がユーザーにどのように利用可能か示している。ダウンロードトラッキング、ページリネーム、及びイベントトラッキングのような様々な機能(844)も示されていて、それらは本発明の実施形態によって利用可能である。ユーザーは、トラッキングスクリプトを用いて自分のウェブサイト全体をリフレッシュするための1つのリンク(846)をクリックし得る。そのようなリンクをたどると、ページすべてに組み込まれているスクリプトすべてが、ルールデータベース(152)に多分定義されている新しいルールセットに従って、リフレッシュ可能になる。
【0065】
ダウンロードファイルに関連する局面もトラッキングされ得る。図8Kを見ると、画面(848)は、一定の拡張子を有するファイル又はファイルタイプが、ウェブサイト(116)にダウンロードするとき、トラッキングされるように選択され得ることを示している。更に、ユーザーは、リンク(850)をたどることによって、カスタマイズ拡張子を有する更なるファイルを自由に追加する。このようにして、本発明の実施形態は、ダウンロードのトラッキングを可能にする。
【0066】
本発明の別の例示的機能を図8Lに示す。ここで、「ページ単位エイリアス」選択が実行され得る。これによって、潜在的に長いファイル名を有するファイルが、エイリアス又はニックネームを用いてリネームされ、より容易な対処が可能になる。示されている例示的なページ名は、「index」及び「my page」を含んでいて、番号(854)及び(856)によってそれぞれ示される。これらのページは、図8Mに示されているようにリネームされ得る。図8Mの項目(858)がここで図8Lの番号(858A)によって示されているような、所望された名前変更であるエイリアス「purchase」に関連付けられていることに留意されたい。同様に、図8Mの項目(860)は、図8Lの項目(860A)を参照し確認され得るように「checkout」にリネームされている。
【0067】
本発明の実施形態を要約するために、含まれ得る拡張可能な埋め込みサービスセットを提供する。本発明は、最多数の位置にコンテンツ広告が表示され得るようにウェブページセットの変更を容易にする。ガジェット/ウィジェット市場において、ウェブ2.0項目のような埋め込み可能なコンテンツからビジネスモデルを作成するものもある。本発明の実施形態によって、そのような項目が容易に自動的に組み込まれ得る。コミュニティタイプの文脈において、コミュニティコンテンツは、それが第三者のウェブコンテンツ(例えば、Flickr画像、Soapbox映像、LiveEarthマップなど)に配布される場合、より多くの訪問者を生む。
【0068】
HTMLコンテンツ解析は、どんな埋め込みサービスが含まれ得るか決定するためにも提供される。本発明の実施形態は、ターゲットコンテンツそれぞれに対しリクエストされた埋め込みサービスとの互換性解析を可能にする。
【0069】
タグのカスタマイズも可能にされ得る。それぞれのタグ(120)は、カスタマイズされ得るパラメーターを含み得る。本発明の実施形態は、埋め込みサービスを自分達のニーズに適合させるように、コンテンツ発行者(144)又は(126)を支援するユーザーインターフェースを公開する。
【0070】
HTMLファイルの正しい位置へのタグ(120)の挿入も提供される。本発明は、タグ(120)を挿入するためのターゲットコンテンツ(118)中の正しい位置(単数又は複数)を検出し得る。代替として、本発明の実施形態は、特定タイプのコンテンツ(148)及び/又は(142)に対し、ユーザー(126)が位置を目視により選択する方法を公開し得る。例えば、広告コンテンツに関連するコード(148)が埋め込まれる一実施形態において、本発明の実施形態は、コード(148)/(120)に対する挿入点を確認又は決定するどちらか一方のユーザー入力を受信し得る。このタイプの挿入は、通常、ページレイアウトを変更するので、実施形態は、変更されたページがどのように見えるかのプレビューを提示するオプションを含む。ユーザーは、広告が挿入された後のページレイアウトを見直し得る。
【0071】
埋め込みサービス、及びウェブの宛先又はその他の位置情報それぞれに関するユーザー設定情報がストアされ得る。これは、更新をより容易にする。タグリポジトリ(140)に多分ストアされている例示的な設定情報は、選択されている埋め込みサービス、ユーザーパラメーター、ターゲットコンテンツ、ページ特有の情報などを含む。
【0072】
追加機能も提供され得る。例示的なその他の機能は、(電子メール、解析などの様々なサービスを通して共通のユーザー識別子を利用して)提示される埋め込みサービス、(ウェブコンテンツに実装される現在のタグがカスタマイズにおいてユーザーに要求されたタグと一致することを検証する)同期、(ユーザーによって要求されている構成を用いてウェブコンテンツを自動的に更新する)リフレッシュ、及び(「埋め込みタグ」のいくつか又はすべてをウェブサイトから削除する)削除に対するサブスクリプションを含む。これらの機能は、本来、例示的であって、本明細書に含まれている別のリストを用いた場合のように完全なリストを構成しない。
【0073】
前述したように、本発明の実施形態は、様々な実装を呈し得る。例示的な実装は、オンラインツール、ウェブコンテンツ構築ツールプラグイン、ウェブサーバーの強化、コンテンツ編集プラットホームの拡張、及び/又はソフトウェアデベロッパーキット(SDK)の形式を呈することを含む。
【0074】
ここで図9を見ると、本発明の実施形態による例示的なプロセスが提供されている。前処理又は先行機能として編集及び/又は埋め込みコンテンツタグを用いて装備されるウェブサイトの位置情報が、受信される。ウェブサイトURL、フォルダー位置、IPアドレスなどは、システムによって既に知られているか又はユーザーからそれらのデータを受信し得る。ステップ(912)において、最初のウェブページのソースコードが解析される。ウェブページのソースコード解析は、前述したように、ウェブページ又はウェブページのストリップバージョンの複製の解析を実際に含む様々な「サブステップ」を含み得る。ステップ(914)において、埋め込まれる適切なタグの決定が、自動的に実行される。実施形態の中には、適切なタグが入力されるデフォルトタグであるものもある。別の実施形態において、ユーザーが提供する情報が、埋め込まれる適切なタグを決定するように考慮される。更に別の実施形態において、広告コンテンツコードの一部が、この段階において決定される。ステップ(916)において、適切な埋め込み位置が決定される。このプロセスは、既に前述されている。ステップ(918)において、決定されたタグ及び既知の挿入点を用いて、タグ又は複数のタグが、ウェブページに自動的に埋め込まれる。このプロセスは、編集されるページ数に対し継続し得る。かくして、ステップ(920)において、編集されるページが更に存在するか否かの決定が実行される。存在する場合、プロセスはステップ(912)に戻る。存在しない場合、一実施形態において、プロセスは終了し得る。
【0075】
ステップ(922)において、埋め込みコンテンツが、ウェブページ(単数又は複数)の望まれない変化をもたらさなかったことを検証することを可能にするための検証ステップが生じ得る。追加されたコンテンツが解析スクリプトであった場合、ウェブページの外観が変更されてはいけない。ウェブページの挿入前及び挿入後の見え方の比較が実行され得る。これは、様々な方法で生じ得る。一実施形態において、ウェブページの挿入前及び挿入後の大きさ又はその他の寸法があり得る。任意の偏差がいくつかの閾値を超えた場合、望ましくない変化が生じているという仮定がなされ得る。広告コンテンツが追加された場合、その後、広告サイズがわかったときに別のサイズ比較が実行され得る。例えば、広告が60画素の高さであった場合、ウェブページの高さは、それが60画素分増加されるか否か確認するようにチェックされ得る。更に別の実施形態において、認知可能な任意の変更が存在するか否かの指示を受信するために、変更のプレビューがユーザーに提示され得る。そのオプションをユーザーに公開することは、有益である。機能的なチェックも実行され得る。解析コード又は広告コンテンツの追加は、少なくとも、ビューアー(124)の視点から観測されるようなウェブページの機能を変更するべきでない。ページ全体のレンダリングと同様に、リンク及びメディアレンダリングなどが自動的に検査され得る。
【0076】
我々は、検証の態様も以前、既に説明した(ドキュメント・エンコーディングを説明しているセクション参照)。実施形態の中には、本発明が、挿入されるコード(120)が言わば美学的又は既存の機能性を壊すか決定することを明示的にチェックしないものもある。これらの実施形態において、存在するDOMがスクリプトを追加し、その後、削除する動作の後、同一のままか解析するためのチェックが、DOMに対し実行される。ドキュメント・オブジェクト・モデル(DOM)がドキュメントの構造的な提示を提供していることを思い出されたい。実行されるチェックは、挿入前、既にページにあるものが、挿入の結果、壊されていないことを確実にする。例えば、ページのボタンクリックが、同一ページの画像ソースを変更する場合でも、トラッキングスクリプト(120)の自動的な追加は、既存の機能性を壊さない。トラッキングスクリプト(120)の追加もページのレイアウトを変更しない。通常、ページのレンダリング、対話、及びデータ/アプリケーション機能性には変更を生じない。しかしながら、広告スクリプトの追加は、ページのレイアウトを変更する。その場合でも本発明の実施形態は、挿入前にページに存在している機能性が壊れていないことを保証する。
【0077】
編集機能性に対する変更が実行され得る。「レンダリング」は、ページの視覚レイアウト及び外観を参照している。「対話」は、ページにコード化されるJavaScriptのmouseoverイベント、(オプションは多数の)フォームコントロールなどに類するものに関する振舞いを参照している。「データ/アプリケーション」は、ページが実行する、例えば、eコマース取引の処理、ユーザーのアカウントバランスのデータベースからの検索、及びそれを彼らに表示する実際の動作を参照している。
【0078】
エラーに対する検査又は除外ルール展開の一方法は、タグを(およそ数千又は数百万の)ページセットに挿入し、その後、それらを削除することを含む。1バイトごとによるDOM比較が、ページに対し実行され得る。比較の1つが等しい結果を返却しなかった場合、タグ付けは、少なくともそのページにおいて失敗したと考えられる。問題のあるタグページは、セーブされ得、タグを破壊しているページ内のエラーを特定するために、コンテンツは解析され得る。ワークアラウンドが知られている場合、タグの修復が生成され得る。ワークアラウンドが存在しない場合、われわれは、除外ルールの1つとしてページエラーを追加する。
【0079】
代替方法は、ブラウズされるランダムなページをまとめてタグ付けすることである。そのようなページのすべてはタグ付けられる。その後、それらはタグが削除される。比較が実行され、前述したような動作を呈する。
【0080】
ここで図10を見ると、本発明の実施形態を実行するための別の方法が提供されていて、番号(1000)によって一般的に参照される。この実施形態において、ステップ(1010)において、トラッキングスクリプトを介し編集される所望のウェブサイトを記述している記述的情報を受信するためのユーザーインターフェースがユーザーに示される。一実施形態において、そのようなユーザーインターフェースは、図8A〜8Mの1つ以上の画面の形式を呈し得る。ステップ(1012)において、トラッキングスクリプトは、ウェブサイトのウェブページセットに自動的にインストールされる。前述したように、位置が決定され得、スクリプトが自動的に選択され、ユーザーの介入なく組み込まれ得る。ステップ(1014)において、トラッキングされるイベントを受信するためのユーザーインターフェースが提示されている。これらのステップは、一定の順番で生じる必要はない。実施形態の中には、それらのスクリプトに関連する異なるパラメーターが受信される前に、スクリプトがウェブページに埋め込まれるように支援されるものもある。別の実施形態において、これらのステップは、トラッキングスクリプトの導入前であっても、トラッキングされるイベント指示を受信するためのユーザーインターフェースが、ユーザーに提示されるように、順番的に統合化されるか又は逆にもされ得る。そして、トラッキングされるそれらのイベント指示の受信後、トラッキングスクリプトが導入される。トラッキングされるイベントなどの指示を受信するユーザーインターフェースの例は、画面8H、8J、8K、8L、及び8Mに見出され得る。
【0081】
ステップ(1016)において、入力されるトラッキングスクリプトは、イベントをトラッキングする指示に基づいて自動的に更新され得る。かくして、この実施形態において、ユーザーは、ユーザー介入無しに自動的に再更新される更新スクリプト中に反映される追加的変更を作成し得る。
【0082】
ステップ(1018)において、トラッキングスクリプトの導入の影響が検査され得る。このプロセスは、一実施形態において、図9の(922)のそれと同様である。
【0083】
示された様々なコンポーネントと同様に示されていないコンポーネントの異なる多くの処理が、本発明の趣旨及び範囲から逸脱せずにあり得る。本発明の実施形態は、制限的というよりも例示的である意図を持って説明されている。その範囲から逸脱しない代替実施形態が、当業者に明らかになるであろう。当業者は、本発明の範囲から逸脱せずに前述の改良を実行する代替手段を開発し得る。
【0084】
いくつかの機能及び一部の組み合わせが利用でき、その他の機能及び一部の組み合わせを参照せずに使用され得、本請求項の範囲内に想定されていることを理解されよう。様々な図面に記載されたステップすべてが説明された特定の順番で実行される必要はない。
【符号の説明】
【0085】
110 動作環境
112 ネットワーク
114 ウェブサーバー
116 ウェブサイト
118 ウェブページセット
120 埋め込みコンテンツ
122 通知クライアント
124 ウェブサイトビューアー
126 クライアントマシン
128 ネットワークブラウザー
130 クライアントサイドアプリケーション
132 ユーザーインターフェース
134 画面及びコントロール
136 サーバーサイドアプリケーション
138 編集サーバー
140 タグリポジトリ
142 タグ構造
144 コンテンツプロバイダー
146 広告及びその他のコンテンツ
148 コンテンツタグ又はコンテンツ
150 監視サービス
152 設定ルール
160 ウェブ解析タグ
162 ウェブ解析タグ
164 ソース指示
166 タイプ指示
168 ユーザー識別子
170 トラッカー参照
172 タイプ指示
210 イニシャルコードセグメント
212 開始前挿入ルール
214 コードの一部
216 タグ
310 イニシャルコードの一部
312 開始後挿入ルール
314 結果
316 タグ
318 本体タグ
320 最初の<div>タグ
410 イニシャルコードの一部
412 終了前挿入ルール
414 結果
416 タグ
418 本体タグ
510 イニシャルコードの一部
512 終了後挿入ルール
514 結果
516 タグ
518 本体終了タグ
610 イニシャルコードの一部
612 語彙解析プログラム
614 結果
710 開始マーカー
712 埋め込みコード
714 終了マーカー
810 自動タグ付け項目
812 自動タグ付け説明
814 画面例
816 フォルダー
818 閲覧ボタン
820 設定ボタン
822 処理済ファイル
824 解析中に見つかったファイル
826 処理済ファイル
828 処理後のコメント
830 トラッキングスクリプトインストールレポート
832 カスタム設定及びトラッキングスクリプト挿入画面
834 解析されたファイル
840 ユーザーインターフェース画面
842 トラッキングスクリプトセットのリフレッシュ
844 ダウンロードトラッキング、ページリネーム、及びトラッキングイベント
846 ウェブサイト全体リフレッシュリンク
848 画面例
850 カスタマイズ拡張子追加リンク
854 ページ名選択「index」
856 ページ名選択「my page」
858 ページ名選択項目
860 ページ名選択項目

【特許請求の範囲】
【請求項1】
ウェブページ利用情報(「利用情報」)をトラッキングするために1つ以上のウェブページを自動的に構成する方法であって、
前記利用情報のトラッキングを容易にするタグ構造(120)の挿入を支援する構造を有するウェブページセット(118)を決定するために、前記1つ以上のウェブページを解析するステップと、
前記ウェブページセット(118)のウェブページそれぞれに対し、
(1)前記解析に基づいて、前記タグ構造(120)を挿入するための挿入点を自動的に特定するステップと、
(2)前記タグ構造(120)を前記挿入点に自動的に埋め込むステップであって、前記ウェブページに関する利用情報がトラッキングされ得るものと、含む方法。
【請求項2】
前記解析が、異なるウェブページが異なるタグ構造を受信し得るようなタグ構造を、解析された前記ウェブページに埋め込む可能性のある複数のタグ構造から自動的に識別することを容易にすることを特徴とする請求項1記載の方法。
【請求項3】
前記1つ以上のウェブページの前記解析が、回復不可能なHTMLエラーを含むか決定するための1つ以上のドキュメントの解析を含んでいて、エラーを含む場合、
前記回復不可能なエラーの指示を提示するステップと、
タグを破棄するステップと、
デフォルト動作を実行するステップと、
の1つ以上を実行することを特徴とする請求項1記載の方法。
【請求項4】
前記タグ構造が、開始タグマーカー及び終了タグマーカーによって区切られたコード部分を含むことを特徴とする請求項1記載の方法。
【請求項5】
前記タグ構造が、ユーザー入力又は設定に基づいてパラメーターを受信し得ることを特徴とする請求項1記載の方法。
【請求項6】
前記スクリプトが、様々なウェブサイトトポロジーとのユーザー対話の実験を容易にすることと、前記実験が、
A/B検査と、
多変量検査と、
の1つ以上を含むことと、を特徴とする請求項5記載の方法。
【請求項7】
前記タグ構造を自動的に埋め込むステップが、アクセス可能なルールセットに支配される前記タグ構造を埋め込むステップを含むことを特徴とする請求項1記載の方法。
【請求項8】
更に、前記埋め込まれたタグ構造が、前記タグ構造を埋め込む前に、その機能に関して前記ウェブページに望まれない変化をもたらさなかったことの検証を提供するステップを含む請求項1記載の方法。
【請求項9】
更に、
ユーザーインターフェース(132)にデータを提供することによって前記タグ構造の変更を可能にするユーザーインターフェース(132)を提示するステップであって、それによってユーザー(126)が、ウェブページのソースコードを編集する必要がないものと、
前記ユーザーインターフェース(132)を介した入力の受信に付随して前記タグ構造を自動的に変更するステップと、を含む請求項1記載の方法。
【請求項10】
更に、ユーザー設定情報を収集するステップと、将来、再収集するためのリポジトリ(140)にそれをストアするステップと、を含む請求項1記載の方法。
【請求項11】
更に、
前記ウェブページに実行された変更を記述する変更情報をストアするステップと、
前記変更情報を利用することによって実行された任意の変更を逆戻りするアンドゥプロセスを容易にするステップと、を含む請求項1記載の方法。
【請求項12】
更に、現在、存在しているタグに対し、前記ウェブページを検査するステップと、それらのタグを更新又は削除するステップと、を含んでいて、前記タグが、請求項1記載の方法によって埋め込まれたタグ以外のタグを含むことを特徴とする請求項1記載の方法。
【請求項13】
1つ以上のウェブページを自動的に編集する方法を実行するための、その上で具現化される計算機実行可能命令を有する1つ以上の計算機可読媒体であって、前記方法が、
カスタマイズコンテンツを受信するように変更されるべきウェブページセット(118)を自動的に決定するステップと、
前記ウェブページセットのウェブページそれぞれに対し、
(1)前記ウェブページに埋め込まれる必要がある複数のタグ構造(142)又は(148)から適切なタグ構造(120)を決定するために、ウェブページを自動的に解析するステップと、
(2)前記ウェブページにおいて前記ウェブページの機能性に影響しない挿入点を決定するために、前記ウェブページを自動的に解析するステップと、
(3)前記適切なタグ構造(142)又は(148)を前記挿入点に自動的に埋め込むステップであって、それによって、前記カスタマイズコンテンツ(120)を前記ウェブページに埋め込み可能にするものと、を含むもの。
【請求項14】
前記計算機実行可能命令が、
ウェブベースクライアントアプリケーションと、
スタンドアロンのウェブベースではないアプリケーションの追加と、
の1つ以上を実行することを特徴とする請求項13記載の媒体。
【請求項15】
前記タグ構造が、
前記ウェブページに関連する訪問イベントをトラッキングするステップと、
広告コンテンツ(146)を提示するステップと、
A/B検査を実行するステップと、
指定されたドキュメントセット全体に適用される多変量検査を実行するステップと、
の1つ以上を容易にすることを特徴とする請求項13記載の媒体。
【請求項16】
前記適切なタグ構造を自動的に埋め込むステップが、前記ウェブページ内部に埋め込まれるべき前記タグ構造を有する前記ウェブページに関連する設定情報又はルール(152)をストアしているリポジトリ(140)又は(146)を参照するステップ、を含むことを特徴とする請求項13記載の媒体。
【請求項17】
更に、前記埋め込まれたタグ構造が、前記ウェブページの望まれない変化をもたらさなかったことを検証するステップを含む請求項13記載の媒体。
【請求項18】
ウェブページを表示するためのリクエストが実行されたとき、そのコンテンツがリアルタイムで変更されるようにコンテンツタグを前記ウェブページに自動的に埋め込むためのシステムであって、
前記ウェブページにおいて埋め込みコンテンツ(120)を受信するように変更されるべきコンテンツを有するウェブページセット(118)を含むウェブサイトをホスティングするサーバー(114)と、
前記サーバー(114)に接続されていて、タグ情報(142)又は(148)を前記ウェブページセット内のウェブページそれぞれに関連付ける設定情報をストアしているストレージリポジトリ(140)又は(146)と、
前記ウェブページの外観又は機能の望ましくない変化なしに、前記埋め込みコンテンツ(120)を前記ウェブページの挿入点それぞれに自動的に挿入するための機能を提供する計算機実行可能命令セット(130)又は(136)に対するアクセスを提供するメモリー(138)と、を含むシステム。
【請求項19】
前記埋め込みコンテンツが、
広告コンテンツ(148)と、
前記ウェブサイトの訪問イベントに関する情報収集を可能にするウェブ解析(142)と、
映像、画像、音声、地図、専門ウェブサイトが提供するアニメーション、及びスライドショーのようなメディア(148)と、
例えば、アプレット、フラッシュオブジェクトが、埋め込みインスタント・メッセージング・サービスなどを含むプログラムコンテンツ(148)と、
ゲストブック、サーベイ、及びニュース表示のようなウェブサイトのガジェット(148)と、
タグクラウド、RSSフィード、ウィキのようなWeb2.0項目(148)と、
の1つ以上を含むことを特徴とする請求項18の記載のシステム。
【請求項20】
更に、一定のウェブページを表示するリクエストに付随して、前記一定のウェブページに関連付けられるタグ情報(142)又は(148)を検索するために前記ストレージリポジトリ(140)又は(146)に参照符を付け、挿入点へ前記タグ付け情報をリアルタイムで自動的に挿入して、前記一定のウェブページがリクエスター(124)に前記埋め込まれたタグ情報を提示されるように、前記サーバー及び前記ストレージリポジトリ(140)又は(146)と通信する通知コンポーネント(122)を含む請求項18記載のシステム。
【請求項21】
前記ストレージリポジトリが、
埋め込み利用可能なサービスと、
埋め込みサービスそれぞれに関するタグと、
必要なパラメーター及び任意のパラメーターを含むファイル中の位置に関するタグ情報と、
前記埋め込みコンテンツに含まれ得るパラメータータイプと、
特有のフォーマッティング要件と、
ウェブページを検証するためのルールと、
挿入点を決定するためのルールと、
コンテンツを埋め込むためのルールと、
前記埋め込みコンテンツに対するパラメーター化オプションと、
前記1つ以上のウェブページに対するタグの設定情報と、
の1つ以上をストアすることを特徴とする請求項18の記載のシステム。
【請求項22】
前記1つ以上の挿入点それぞれが、ユーザーからの入力を受信することによって少なくとも部分的に決定されることを特徴とする請求項18の記載のシステム。

【図1A】
image rotate

【図1B】
image rotate

【図1C】
image rotate

【図1D】
image rotate

【図1E】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7A】
image rotate

【図7B】
image rotate

【図8A】
image rotate

【図8B】
image rotate

【図8C】
image rotate

【図8D】
image rotate

【図8E】
image rotate

【図8F】
image rotate

【図8G】
image rotate

【図8H】
image rotate

【図8I】
image rotate

【図8J】
image rotate

【図8K】
image rotate

【図8L】
image rotate

【図8M】
image rotate

【図9】
image rotate

【図10】
image rotate


【公表番号】特表2011−505605(P2011−505605A)
【公表日】平成23年2月24日(2011.2.24)
【国際特許分類】
【出願番号】特願2010−528927(P2010−528927)
【出願日】平成20年9月23日(2008.9.23)
【国際出願番号】PCT/US2008/077315
【国際公開番号】WO2009/051939
【国際公開日】平成21年4月23日(2009.4.23)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JavaScript
【出願人】(500046438)マイクロソフト コーポレーション (3,165)
【Fターム(参考)】