2012-03-13 8 views
1

javascriptを無効にしたクライアントとAjax対応の両方のクライアントと互換性のあるナビゲーションシステムがあります。 私はナビゲーション内で生成された "index.php?page =/cat/page.php"のような動的リンクを持っています。HTMLナビゲーション、Ajax、JavaScriptとの互換性はありません

<li id="sidebaritem"><a href="index.php?page=<?php echo "$dirArray[$index]/$subdirArray[$subindex]"; echo $title; ?></a></li> 

インデックスに「page」変数がある場合、そのページはメインコンテナ内にロードされます。

でも、私はそれをajax(jqueryが含まれています)でonclickをロードするようにします。私はこのコードを追加:アンカータグがポイントしているページに、私はリンクをクリックしているため

$(document).ready(function(){ 
    $('li #sidebaritem').click(function() { 
    //Page Load code goes here 
    }); 
}); 

これは、右のLI-後、機能していません>クリックが発生し、それがリダイレクトを(もちろん、それは用量)。

私はこのテーマに関するチュートリアルを探していましたが、役に立たないものは何も見つかりませんでした。

どうすればいいですか? これはSEOの観点から良いですか? ハッシュを使用してthisの記事を見ましたが、これはSEOには適していますか、それがどうすればJava対応のマシンで動作させることができますか?

申し訳ありませんが、私はこの題材では新しいです。

答えて

2

まず、JavaとJavaScriptは別々の2つのもので、JavaScriptを使用して作業しています。第二に、id = "sidebaritem"をclass = "sidebaritem"に置き換える必要があります。ただし、idが一意でない場合は、指定されたコードからは私はそうは思いません。 lスペース#idを使用している場合は、#sidebaritemというIDを持つliの子要素を選択しようとしていることを意味します(セレクタがどこから来ているか)。だから、李#のsidebaritemを行う可能性がありますまたはIDのは、ユニークなli.sidebaritem

ていないのであれば、あなたは試してみてください:

<li class="sidebaritem"><a href="index.php?page=<?php echo "$dirArray[$index]/$subdirArray[$subindex]"; echo $title; ?></a></li> 

$(document).ready(function(){ 
    $('li.sidebaritem a').click(function() { 
    $("#your-main-container").load($(this).attr('href')); 
    return false; //prevent click from redirection 
    }); 
}); 

SEOの一部について:

これらのリンクはあなたのページのタイトル/説明のキーワードを含んでいないので、SEOには向いていません。検索エンジンでサイトの掲載結果を向上させるには、/cat/this-is-my-amazing-seo-friendly-page/のようなものに置き換える必要があります。だからあなたは、SEOのフレンドリーなページのURL(タイトルからレンダリングされる)を置き換えることがあります。ここでは、仕事をするコードの小さな断片です。あなたはページのタイトルを持っているので、場合

function replaceLink($url) { 
     $url = preg_replace("/[^a-zA-Z0-9\-\s]/", '', $url); //find any other symbols than letters or numbers and replace them with an empty string 
     $url = preg_replace("/\s+/", '-', $url); //find all spaces and replace them with a dash 
     return $url; 
    } 

これは私の素晴らしいSEOフレンドリーなページは、このようなこの小さな関数に渡している。

$link = replaceLink("This is my amazing SEO friendly page"); 

、あなたはThis-を取得しますis-my-amazing-SEO-friendly-page

これは明らかにオンサイトSEOを改善するための基本の1つに過ぎません。あなたはオンサイトのseoについてもっと読むことができますhere

また、検索エンジンの観点から見ると、AJAXページの読み込みは、実際のリンクがメニューに指定されていて、JavaScriptが有効になっていなくても動作する限り影響を与えません。

希望すると便利です。

関連する問題