5

カスタム CSS を使用してツイートのスタイルを設定し、ページの読み込み速度を維持しながら、ユーザーの最新のツイートを Web ページに表示したいと考えています。

最新のツイートを 2 つの方法で表示することができました。

  1. PHP Twitter ライブラリの使用(Aaron Brazell による)。このメソッドを使用すると、ページが完成してクライアントに送信される前に、PHP コードが Twitter からの応答を待つ必要があります。これにより、ページの読み込み時間が非常に予測不能になり、ページの読み込みが遅くなり、ユーザーに迷惑をかける可能性があります。

  2. Blogger の Twitter ウィジェットを使用すると、ページの残りの部分が読み込まれた後に JavaScript を使用して最新のツイートが読み込まれます。これにより、ユーザーはページを表示する前に Twitter の応答を待つ必要がなくなります。

これらのさまざまな方法を使用してユーザーの最新のツイートを表示することについて、他に長所と短所があるかどうか、また、カスタム CSS スタイルを有効にして優れたページ読み込みパフォーマンスを提供する別の解決策があるかどうかを知りたいです。

また、これら 2 つの方法は、Twitter がレート制限を適用する方法にどのように影響しますか? PHP を使用すると、ツイートをキャッシュできるため、Twitter への呼び出しを減らすことができますが、JavaScript を使用すると、これは私の知る限り不可能ですか?

4

8 に答える 8

10

両方の方法でカスタム CSS スタイルを使用できるため、これは問題になりません。

  1. PHP APIを使用する場合は、必要なすべての情報をキャッシュして、たとえば. データベース(および5〜10分ごとにTwitterにクエリを実行するか、cronを介して更新スクリプトを実行します-最後にチェックしたので、特定の時間に実行できるTwitterのクエリには制限があります)

  2. Javascript を使用してツイートを更新することにより、Web スパイダーを無効にしてこれらのツイートをページにインデックス付けします (また、無効になっている人は通常、JS を有効にしていません...)

編集

また、キャッシュを実装するには、さらに PHP コーディングが必要になることに注意してください。ただし、これは非常に優れたコーディング エクスペリエンスです (一方、Twitter からの更新などをフェッチする JavaScript スクリプトを実装するのは簡単です)。

Twitter API レート制限

twitter.api で読む: Twitter は REST リクエストを1 時間あたり 150 リクエストに制限しています (IP ベースのルールを使用するか、認証された API の使用に対してリクエストをカウントします)。

レスト API を介した Twitter フィードやタイムラインのフェッチなどのGETリクエストはカウントされます

ステータスの更新などのPOSTリクエストはカウントされません

http://twitter.com/account/rate_limit_status.format指定された制限時間内にいくつのリクエストを実行できるかを確認できるアカウントのレート制限ステータス

于 2010-01-20T10:07:43.040 に答える
3
  1. 長所: ユーザーの設定から完全に独立しています。短所: あなたが言ったこと - Twitter が遅い場合、サイトも遅い + サーバーからの余分なリクエスト -> サーバー負荷の増加など。

  2. 長所: サーバーの負担が軽減されます - 読み込み速度はサーバーの速度にのみ依存します。短所: 全員が JavaScript を有効にしているわけではありません。有効にしている場合でも、Twitter のポップアップが表示されるまでにかなりの遅延が発生する可能性があります。

個人的には、オプション#1を使用します。

于 2010-01-20T10:07:51.167 に答える
1

スイートクロンを使ってみてください。cron ジョブにすることができます。Twitter フィードを取得し、データベースに配置します。そのため、Twitter の参照はページロードに影響しません。

詳細はこちら: http://code.google.com/p/sweetcron/

于 2010-01-20T14:07:24.647 に答える
0

すでに述べたものに何も追加することはできません。

PHP が最善の方法ですが、定期的に結果をキャッシュするようにしてください。PHP のビルトイン XML/DOM ツリー パーサーを使用して Twitter プロファイルの RSS フィードを単純に解析し、必要な形式とスタイルで出力することができます。

ツイートを表示するために JavaScript メソッドを使用することの欠点は、前述のように、検索エンジンのスパイダーによってクロールされず、(当然のことながら) JavaScript が無効になっている訪問者には機能しないことです。

于 2010-01-20T10:33:13.823 に答える
0

私のサイトでは、私の解決策は、通常どおりページをロードしてから、まだデータがあることを示すためにいくつかのティッカーを含めることです。次に、Twitter からデータをロードして適切な方法で出力する AJAX を使用してアクセスする PHP スクリプトを用意します。トラフィック量が非常に少ないため、キャッシュを実装していませんが、将来的には可能です。<noscript>Javascript を使用していない珍しい人のために、iFrameのタグも用意しています。

この方法を選択したのは、ユーザーにページを非常にすばやく表示できるようにするためですが、後でツイートを表示することもできます。

于 2010-05-17T09:23:30.720 に答える
0

私の意見 - クライアント側で行います。

  1. なぜこれで CPU 時間を無駄にするのですか? クライアントにこれを処理させてください。
  2. Google はそれをインデックスに登録し、ユーザーがそこを閲覧すると、別のものが表示されます。
于 2010-01-20T10:06:47.567 に答える
0

私はより柔軟で安定したアプローチをとります:

バックグラウンドで繰り返し新しいツイートをチェックし (例: 5 分ごと)、データベースに保存します。つまり、自分のサーバーにすべてのツイートがあります。これにより、Twitter がダウンしているときにサイトが長時間読み込まれなくなります。言うまでもなく、JS が無効になっている場合にも機能します ;)

ここでの短所は遅延ですが、睡眠時間を減らすこともできますが、実際には5分で十分だと思います.

訪問者が JS を有効にしていて、もう少しライブ感を出したい場合は、AJAX を使用してツイートを更新できます。

于 2010-01-20T10:28:06.570 に答える
0

どちらも、PHP を使用してツイート リストを作成し、クライアント側で実行するシンプルな jQuery プラグイン (または同様のもの) を使用して最新の状態に保ちます。

  • JavaScript を使用しないクライアントで動作します
  • サーバー側のキャッシュを実装できます
  • Google はそれをインデックスに登録します (どちらが良いでしょうか?)
于 2010-01-20T10:38:00.370 に答える