ぎじゅつ

128現在のオンライン
66今日の読書
49今日のシェア
多言語ディスプレイ

どうすれば検索エンジンによりリアルなページを見せることができるでしょうか?

2018-03-25 22:24:38
1

ウェブマスターは長い間、ページの応答速度を速める、ウェブサイトのトラフィックを低減する、リンクを隠す、広告を埋め込むなど、様々な理由からウェブページの動的な動作を実行するためにJavaScriptを使用してきました。サイトの建設は初期の検索エンジンが対応する能力がないため、結果としてこの類のページでしばしば問題が発生して、価値のあるものを収録することができないかもしれなくて、不正があるかもしれません。

2

JavaScriptの構文解析が導入されたのは、この2つの問題を解決するためであり、その結果、ユーザーが実際にそのページを開いたときにどのような効果があるのかを検索エンジンがわかりやすくするためです。HTMLからユーザーのコメントやレーティングなどの情報を切り離したり、JavaScriptやAJAXなどの手法でページが開いた時点で動的に表示したりすることで、初期の検索エンジンではその時点で処理できるページの内容が欠落しているため、そのページのインデックス価値の判断にも影響が出てきます。

3

JavaScriptの構文解析を導入するには、自身の設計と実装、構文解析速度とシステムの他の面への影響などの要素を考慮する必要があります。本論文ではいくつかの典型的な例を分析して、ウェブページのJavaScript構文解析システムを設計して実装し、簡単にこのようなシステムが検索エンジンの他の部分の役割と影響を紹介します。

方法/手順です
1

その1ページのリンクを見つけることです

2

一般的に、ページのリンクはHTMLのAタグとして存在し、リンクURLはhref属性に記載されていますが、いくつかのサイトでは、Aタグを動的に書き込んだり調整したりする方法と、ユーザーがクリックしたときにイベントをトリガーしてデフォルトのリンクの開き方を変更する方法の2つがあります。

3

1.リンクラベルを動的に書き込んだり調整したりすることです

4

抽象的に言えば、後述するように、書き込み・修正する目的を見つける(象を見つける)、書き込み・修正する目的を用意する(冷蔵庫の扉を開ける)、書き込み・修正を実行する(それを入れる)という3ステップで、象を冷蔵庫に入れるのと似ています。

5

この3つのステップをJavaScriptにマッピングすると、ブラウザ機能の3つの標準関数、すなわちページ要素の位置特定、データの準備、ページの修正が呼び出されます。JavaScript構文解析の仕事は、ウェブマスターのJavaScriptコードによって呼び出されたコンテンツと動作を自然に発見する関数を提供することです。

6

ここまでで、必要な関数はほぼ決まってきました。簡単なものには以下のようなものがあります。

7

document.getelementbyid //ポジショニング

8

document . getelementsbytagname / /測位

9

document . getelementsbyclassname / /測位

10

ノード. [firstchild / nextsibling previoussibling / parentnode] / /測位

11

document . [createelement / createtextnode] / /創設リンク

12

ノード. [appendchild / insertbefore innerhtml = ?]//書き込み内容です。

13

element.getattribute, element.setattribute //設定属性です。

14

element.href = ?です。属性を設定します。

15

16

書き込む内容は、JavaScriptで配列などの形で保存したり、AJAXを使って動的にロードしたりします。前者はここでは繰り返しませんが、JavaScriptに組み込まれた機能です。後者は別枠なので、後述します。

17

2.クリックするとデフォルトのリンクの開き方が変更されるイベントが発生します。

18

リンクを隠すため、ポップアップを実現するため、URLをつなぎ合わせるため、リンクを開くべきかどうかをチェックするためなど、理由はさまざまです。これらの理由は全て同じ方法に対応していますクリックイベントの追加です

19

クリックイベントを追加する方法は3つあります。

20

Aタブのhref属性を「javascript:func(…)」に設定します。」という形です

21

Aタブのonclick属性を設定し、onclick=」js_code」の形にします。

22

my_link_ node.addeventlistener(「click」、func、false)のようなイベントバインディング関数を呼び出します。

23

24

Aタブのhref属性を「javascript:func(…)」に設定します。」という形です

25

Aタブのonclick属性を設定し、onclick=」js_code」の形にします。

26

my_link_ node.addeventlistener(「click」、func、false)のようなイベントバインディング関数を呼び出します。

27

これら3つの方法をサポートすること自体は比較的簡単ですが、このようなクリックイベントをトリガーする方法と、トリガー後に目的のURLを傍受する方法に注意が必要です。

28

トリガーとしては、最初に可能なすべてのクリックイベントを集めてから、順番にトリガーする必要があります。しかし、トリガされる各クリックについては、実際にトリガされる前に、以前のクリックイベントが現在のクリックを削除している可能性が高いため、それがまだ存在するかどうかを確認しなければなりません。

29

URLを傍受するには、まず関連するページ遷移関数を実装します。location.href = ?window.openなどですそして、クリックとページ遷移をリンクさせるフラグを設定することで、目的のURLが得られます。

30

2 .ダイナミックなページの内容です

31

動的なページコンテンツは、ページの読み込み速度を向上させ、ウェブサイトの技術的柔軟性を向上させるための手段です。変更されるコンテンツ(レビュー、レーティングなど)を削除し、ページを静的な部分と動的な部分に分けることができます。動的コンテンツはフォーマットが簡単で生成しやすいというメリットがありますが、トラフィックの削減にもつながります。

32

一方で、動的コンテンツは広告やコンテンツをロードする不正行為の重要な方法でもあります。最も一般的なのはiframeへの書き込みで、これは初期の検索エンジンにとって極めて潜在性が高いものです。

33

技術的なレベルでは、動的なページコンテンツに必要な作業は前節の「Aラベルの動的書き込みまたは調整」とほぼ同じですが、ここで追加されるのが古典的な「document.write」という手法です。

34

この方法は、HTMLコードをページに直接書き込むためのJavaScriptの最初の機能の1つで、今でも広く使われています。この方法は初期の検索エンジンでもサポートされていましたが、基本的には文字のマッチングに限られており、JavaScriptの文字列を直接的に書き込む方法にしか対応していませんでした。しかしJavaScriptの構文解析では、このコードはあくまで言語仕様に準拠している必要がありますので、完全なサポートが可能となり、テキストパッチワーク、条件判定、コードの混乱など様々な状況を処理することができます。

35

document.writeは入れ子化されています。document.writeを介してdocument.writeの中に別のdocument.writeが入っているSCRIPTタグを書き込みます。このような問題は、不正ページへの遷移ではしばしば発生しますが、これにはJavaScriptの構文解析だけでなく、HTML構文解析器がネスティング処理のHTML書き込み機能にも対応している必要がありますので、ここでは解析しません。

36

上記の方法によって、ウェブページのメインの情報であれ、広告または他の補助情報であれ、ウェブマスターの意図をよりよく理解するために露出されます。

37

三、ウェブのジャンプです

38

ページ遷移は場合によってはページの効果を得るために必要ですが、不正行為にも使われます。技術的には次の2つの方法があります

39

ページ遷移関数を呼び出します

40

検索エンジンのUAやrefererなどに対してページ遷移関数を呼び出します

41

ここで認識を実現するには、locationオブジェクトというページ遷移関数が中心になります。これは技術的に唯一のJavaScript遷移関数であるため、JavaScriptで書かれていて混乱していても、最終的には関数が呼び出されます。そのため、ページごとにジャンプコードはさまざまに見えますが、認識するのは簡単です。

42

四、AJAXについてです

43

AJAXはごく一般的なウェブページの技術で、基本的にはウェブページを表示している間に、動的にインターネット上のデータ(HTMLか何か)を取得し、それを処理して表示するというものです。

44

この技術の根本的な課題はXMLHttpRequestオブジェクトの実装ではなく、検索エンジンのクローラアーキテクチャへの影響です。よく知られているように、クローラはページをキャプチャし、リンクをスクロールして順次キャプチャする形式で設計されています。その作業はスケジューリングとキャプチャ圧力の制御に集中しています。キャプチャ自体は比較的単純で、キャプチャ後すぐにJavaScriptを実行してAJAXのデータをキャプチャする能力がありません。

45

把持器の分析は本文の範囲を超えて、興味がある読者は他の関連文献を見ることができます。

46

JavaScriptの構文解析を実現するために必要な基本的な作業はここまでの事例から明らかになりましたが、これに加えて基本的な仕組みを構築することができます。ここでもう一度整理すると、3つに分けられます:1. HTMLパーサーにJavaScriptの言語エンジンを埋め込みます。言語エンジンはV8やSpiderMonkeyなどの洗練されたオープンソースのものを選ぶことができます。2.実装に必要な機能関数、具体的にはW3CのHTMLとDOM仕様を参照してください。3.直接的な推論として、JavaScriptの解析に「解析」が必要なソースコード、いわゆる。jsファイルを収録する必要があります。本記事で紹介した機能はごく一般的なJavaScriptの機能ですが、実際にページを見られるようにするには、さらに必要な機能を実装する必要があります。HTML、CSS、画像などのサポートも必要です。最後に、JavaScriptを使いたいウェブマスターには、次のようなアドバイスをします。JavaScriptは複雑な技術を使わないようにしましょう。jsファイルの収録を妨げてはいけません。JavaScriptの解析能力が制限されます。サイトの静的な部分と動的な部分を適切に分けることです

推奨情報