0

私はSEO、ajax、リンクについて熟考してきました。さまざまな Web ページのコードと、それらがこの問題をどのように処理しているように見えるかを見ると、混乱します。

ajax 呼び出しを行う関数の静的コンテキストが存在することを常に確認してきました。マークアップのインラインに JavaScript を配置していませんが、ID を使用して外部の js ファイルで関数を呼び出しています。私自身の典型的な例は次のとおりです。

<a href="/resource?take=10" id="next-ten">Link</a>

そして、クリック機能でIDを接続します。

しかし、いくつかの主要なページで見られるのは、次のようなものを使用していることです。

<a href="#" onclick="ajaxCall();">Link</a>
<a href="javascript:void(0)" onclick="ajaxCall()">Link</a>

上記のように JavaScript をインラインで使用する利点はありますか? よくわかりませんが、大手サイトが使っているような?

4

2 に答える 2

2

javascriptを使用しないクローラーは2番目の方法を使用できないため、2番目の方法は不適切です。

最初の方法は、JavaScriptを使用していなくても機能します。

リンクに適切な名前が付けられ、コンテキストに応じて適切であり、JavaScriptが有効になっていない場合でも正しく動作する限り、100%問題はありません。

一部のクローラーがjavascriptを使用しているわけではないため、2番目のバリエーションは貧弱なものですが、それでも機能する場合があります。

tl; dr:javascriptがなくても機能する場合は、問題ありません。

于 2013-01-10T21:35:31.147 に答える
0

HTML 部分では、次のように記述します。

<a href="/resource?take=10" onclick="return ajaxCall()">Link</a>

JavaScript 部分では、次のように記述します。

function ajaxCall() {
    // AJAX functionalities will go here
    return false;
}

クローラーがページを取得している間は JavaScript コードが実行されないため、検索エンジンは URL をインデックスに登録します。しかし、ユーザーがブラウザーを使用してこのページを閲覧すると、JavaScript コードが実行され (ユーザーが JavaScript を無効にしていないと仮定して)、ajaxCall関数が呼び出されます。

: 関数が を返すため、ユーザーはセクションfalseで定義された URL に移動しません。ただし、またはhrefが返された場合、ユーザーは定義された場所に移動します。truevoid

于 2013-03-15T10:13:44.000 に答える