0

私は今、seoフレンドリーなajaxポートフォリオをコーディングしようとしています。私の目標は、JavaScript効果をユーザーに提供し、通常のhtmlをjsなしのボット/ユーザーに提供することです。

ファイル:

  • index.php(私のプログラムの開始点)
  • aboutme.php(「aboutme」のhtmlコードが含まれています)
  • contact.php(「連絡先」のhtmlコードが含まれています)

アイデア:

ユーザーがindex.phpにアクセスし、[Aboutme]をクリックします->アニメーションの読み込みが表示されます->aboutme.phpがajaxで読み込まれます->history.pushstateがURLをaboutme.phpに書き換えます。

->ユーザーがfb/twitter / g +で現在のウェブサイトのURLを共有すると、JavaScriptのない通常のhtmlページであるため、ボットは正しいタイトル、本文などを取得します。

しかし、私の問題は次のとおりです。他のユーザーがそのページを開くと、コンテンツが直接表示されます。ただし、データがajaxで読み込まれるまで(リンクをクリックするのと同じように)、最初に読み込みアニメーションを表示したいと思います。

どうすればそのようなアプローチを実現できますか?どうもありがとうございます!

4

4 に答える 4

0

これを行う最良の方法は、javascriptファイルを作成することです。リンクタグを「頭」の部分に書き込みます。これにより、コンテンツの前にjavascriptファイルがダウンロードされます。Javascriptはアニメーションを表示しますが、同時にブラウザはすでにバックグラウンドでコンテンツをダウンロードします。「ドキュメント準備完了」イベントで、アニメーションを停止します。

これにより、ボットはコンテンツに直接アクセスできるようになります。javascriptは彼らのために機能しないからです。

于 2012-11-23T22:14:06.300 に答える
0

これは(一般的に)その価値よりも労力がかかるといつも思っていましたが、あなたの質問に答えるには:

index.php、aboutme.php、contect.php は完全な html を配信する必要があります。特定のリンクには、クリックをインターセプトする js イベント ハンドラーが必要であり、読み込みの代わりにバックグラウンドaboutme.phpで読み込まaboutme-content-only.phpれます。次に、domを更新して状態をプッシュします...

この方法では、初めて訪問するユーザーや、ブラウザーがプッシュ状態または JavaScript をサポートしていないユーザーに対して、サイトが簡単に低下する可能性があります。

于 2012-11-24T18:02:30.140 に答える
0

ajax コンテンツをクロール可能にするには、 https: //developers.google.com/webmasters/ajax-crawling/ を参照してください。Bingはこれもサポートしています。または、HTML5のpushState を使用してください。・スライダーなど

于 2012-11-24T17:48:53.403 に答える
-1

それはまったく問題ではないと思います。通常どおりリンクのhrefを保持してから、JavaScriptまたはjQueryを使用して、リンクをクリックするデフォルトの動作を変更して、リンクされたコンテンツをajaxでロードします。

于 2012-11-23T22:14:28.797 に答える