• 締切済み

ナビゲーションの変更を全ページに反映させるには?

一般のHPで、ブログのように左の帯にナビゲーションを、 右に記事内容を配置した場合についてお尋ねします。 記事を追加した場合、左の帯のナビゲーション部分に新しい記事 のリンクを反映しなければなりません。 たとえば、記事ごとのページが100ページあったとして、 すべてのページに、リンクの追加を反映させる方法として、 1.JavaScriptでページ読み込み時に書き出す。 2.<iframe>を使う 3.SSIを使う 4.サーバーサイドスクリプト(たとえばPerlによるCGI)   で、記事を追加したタイミングですべてのファイルを書き換える。 などが考えられます。 そこで質問です。 一般のブログではどの方法がとられているのでしょうか? 1では無いことは明らかです。 2でもなさそう... それとも1~4のどれでもないのでしょうか? 3の方法は可能なのですが、できれば4の方法を採りたいです。 プロバイダ(Hi-Ho)加入時に標準でついてくるWeb環境の場合、 変更を反映させるページが100ページ程度の場合の一括更新 って、プロバイダ側から見るとかなりきついものなのでしょうか? (1ページはせいぜい10KB~20KB程度) よろしくおねがいします。

noname#181870
noname#181870

みんなの回答

  • W_H
  • ベストアンサー率47% (21/44)
回答No.2

状況が分かりました。 いくつかブログを見ても、仕組みはよく分からないので負担について。 処理負担は、回数と処理量と処理時間と時間の間隔によって決まるのは分かりますよね?(時間の間隔:処理と処理の間の時間) ページの一斉更新と、ページ読み込み時にファイルを読み込むのでは、恐らく読み込みの方がサーバー負担が少ないでしょう。 ファイルの一斉更新は回数が少なく、時間の間隔が大きいですが、一回の処理量が大きく、処理時間が長いです。 ただ、読み込みは、相当かなりの人気があるページでない限り、それほど負担にはならないでしょう。 アクセスカウンターがいい例です。あれはかなりアクセス数があっても、それほど大きな負担をかけているとは言い難いです。(負担のせいで動かないとか表示されないとかはあまり聞いたことがない。) ファイルの読み込みは処理回数が多い代わりに、処理量や処理時間が少なく、時間の間隔も大きいです。なので、総合的処理量が一斉更新より大きいとしても、時間の間隔が入るので、上手く負担を拡散してくれます。 後、サーバーは無茶な事をしない限り、滅多な事で負担がかかると言う事はないです。いくつかフリーのホームページスペースを使ってきましたし、いくつもCGIを設置してきましたが、普通に掲示板を設置するくらいでは何も言われません。ファイルの読み込みだけと掲示板とでは、恐らく掲示板の方が負担が大きいですから、大丈夫でしょう。

noname#181870
質問者

お礼

ありがとうございます。 サンプルを作ってみたのですが、100ページ程度の一括更新 ですと、それほど負荷はかからなかと...?タブン。 しかし、もし、アクセス解析を付けようとすると、SSIでログるのが 断然イイですし、だったらSSIで「決定」という感じです。 JavaScript、<iframe>はSEO的に「チョット...」なので、 やめておきます。

  • W_H
  • ベストアンサー率47% (21/44)
回答No.1

企業のブログを使っていない上に、自分のホームページでCGIの日記を作って使ってるものです。 よく知らないのですが、ブログは全てHTMLファイルなのでしょうか? 一応、そこら辺は詳しくないので、HTMLファイルとして出力され、ストックされていると仮定して、技術的なことについて答えます。 ファイルの書き換えはできます。 ブログのファイルは不特定多数のパターンがあるわけではなく、自分で決めた形です。ならば、書き換えは容易です。 まず、その更新する箇所の上下に、コメントを追加しておきます。 ファイルを更新するときには、そこまでのデータとそれ以降のデータの間に分割し、間だけデータを書き換え、それをまとめてファイルに書き込めばいいです。 もっと出力をスマートにしたいなら、タグを解析して、あるタイミングで(例えば一つ目の<table>の中の二つ目の<td>まで読み込んだら)そこのデータを読み出し、書き換えると言う手もあります。 それを、特定フォルダの中にあるHTMLファイル全てに適用させればいい訳なので、それら全てのパターンが同じであるブログなら、非現実的方法ではないと思います。 ただ、やっぱりブログは日々積み重ねられるもの。そんなことしていたら、サーバーの負担でしょうね。 システムが作れるなら、自分のパソコンで実行してみてください。それより遅いと思えば、大体の感覚がつかめるのではないでしょうか? 参考までに、ぼくが同じことをするなら、<iframe>を使います。ただ単に更新が楽でSSIを使わない方針という理由からなのですが。 その場合、データが途中で途切れて醜くなりますが、CGIの処理で文字数をきっちり定めて、CSSでがっちり文字サイズやフレームの大きさを固定し、枠線やスクロールバーなどを消し去ると言う手もあります。 HTMLをがっちり固めすぎるのはあまり推奨できませんし、ユーザー指定の文字の大きさにはなりませんが、余裕のある文字の大きさにしておけば、不満は出ないでしょう。 後言い忘れましたが、javascriptで「ファイルを書き出す」のではなく、データを「読み込む」という手も考えられます。つまり、更新データを別ファイルで保存し、それを読み込めば、こんな労力は要らないかと。

noname#181870
質問者

補足

ご回答ありがとうございます。 言葉が足りなかったかもしれませんが、私はブログを使っている者では ありません。 一般のHPで、ブログ風のスタイルがでいきないかなぁと思っています。 私の頭の中には、プロバイダのWeb領域を「間借り」しているため 先ず、サーバー負荷というのがありまして、どの方法がいいのかなぁ? と... サーバー負荷を考えた場合、HTMLファイルが最も軽いですよね。 ですが、HTMLファイルは静的な物ですので、記事へのリンクが更新され たら(左の帯のナビゲーションの構成が変更されたら)それに関連する 個々のHTMLファイルを全て再構成する必要があります。 >javascriptで「ファイルを書き出す」のではなく、データを「読み込 >む」という手も考えられます。つまり、更新データを別ファイルで保 >存し、それを読み込めば、こんな労力は要らないかと」 これはSSIで実現できます。 ページへのアクセスがあるたびにSSIでファイルをインクルードする 方がサーバー負荷が少ないのか、100ページ度なら、ナビゲーション (リンク)の構成が変更された時点で、関連する全てのファイルを一気 に更新するほうが負荷が少ないのか...? それとも、ブログ専門サイトは他の方法を使っているのでしょうか?

関連するQ&A

  • 【SSIについて】SSIを使用して1ページだけ変更で全ページに反映?!

    皆さん、初めまして。質問にお答えいただければ嬉しいです。 現在、私はホームページ作成をしております。 まだまだ初心者並みなので完全な説明ができないかもしれませんが よろしくお願い致します。最近、SSIという言葉を聞きました。 このSSIを使用すると、とても更新や追加した時に楽になると聞きました。 たとえば、左の項目に「作成手順(3)」が追加になったとする。 今までなら、全頁を直さねばならなかったが、SSIならひとつ直せばすべてのページに反映するという事なのです。 これは、とても更新しやすく楽です。 これなら、転記ミスもなく、もしミスっても一箇所直せば即全頁を直すことができるからかなり楽という事。。 しかも、ブラウザーに表示されるときは、通常のHTML頁(静的頁)として表示されると言う事なので。。 このような事は本当にできるのでしょうか? どなたか私でも判る様に教えていただければ嬉しいです。

  • フレーム部分の修正のすべてのページへの反映について

    添付の図のようにヘッダー、フッター、ナビゲーション部分をすべてのページにフレームとして利用し、メイン部分のみが変わるサイトがあるとします。 そこで質問です。 (1)このようなフレーム部分を作成する方法を教えてもらえませんか。ファイルをコピーしてメイン部分だけを変更する方法しか分かりません。こうするとフレーム部分を変更する場合、全てのページを変更しなくてはなりません。詳しいことはあまりよくわからないのですが、<div>と外部スタイルシートで各フレームは設定しております。HTMLソースのフレームを使う方法もありますが、スクロールバーが入ったりして見栄えが悪くなります。これら以外のどんな方法でも結構です。 (2)ナビゲーション部分には各ページへのリンクの項目(アイコン)を並べていますが、これらの項目を追加、削除、修正したい場合に1ページを変更すれば、全てのページにその変更を反映させる方法を教えてもらえませんか。 (3)また、メイン部分の情報量によってナビゲーション部分の長さを変えたいのですが、(2)の場合にはどうすればよいのでしょうか。 ソフトはホームページビルダー15を使用しております。 ビルダーを使用しない方法でも結構です。 よろしくお願いします。

  • SSIのようにして、CGIをページ内に表示させる

     通常のHTMLページにCGIを読み込むにはSSIなどの方法がありますが、  SSIを使っているページは左、中央、右といったように分かれていて、呼び出した日記を中央に表示させるとします。これだとトップページはSSIで問題なく表示出来ますが、その表示された日記にあるリンク(先月の日記、とか)をクリックして先月のページを表示させると、SSIの仕組みからして当然、最初に読み込んだ際のレイアウトは無視され、左、右のカラムは消えて、ただの日記だけのページになってしまいます。  iframeなど、別の表示方法もありますが、iframeなどのフレームはSEOの観点から避けたいと思っています。  SSIでは無理だとすると、このようなリンク先まで最初の読み込みレイアウトを維持して表示する方法はあるでしょうか。

    • ベストアンサー
    • HTML
  • CSSナビゲーションで表示ページをハイライトさせるのをSSIを使ってする

    以前から質問させていただいているのですが、よくわからないので ここでまとめて質問させていただきます。 質問の方法が悪かったせいもあり、マルチポストに近くなってしまうのですが、ご容赦下さい。 以前の質問↓ http://okwave.jp/qa4624047.html CSSのナビゲーションバーで現在の表示ページをハイライトしたいと思います。できるか否かわからないのですが、できないのであれば どのように通常はしているのかを教えてください。 ただ、ssiで全ページ共通のナビゲーションバーを使用していますのでカテゴリごとにナビゲーションメニューをつくらないといけないのか また、カテゴリーを判別して(ディレクトリで)ハイライトしてくれるajaxのようなものがあるのか。 よくわからないのです・・・ http://www.n-di.co.jp/service/analytics.html ここのナビゲーションのようなものがつくりたいです。 わからないことばっかりで申し訳ないのですが お力を貸していただけるとありがたいです。

    • ベストアンサー
    • HTML
  • ブログ検索に反映されやすくするためにはどうしたら?

    ブログ検索に反映されやすくするためには どうしたらいいですか。 現在、gooブログとfc2ブログをやっています。 ところが、記事を書いて送信しても、gooやヤフーのブログ検索に反映されていないことがあります。 (1)通常、反映されるのにどのくらいの時間がかかりますか。 (2)一度反映されなかった記事を反映させる方法はありますか。 (3)反映されやすくするために何か方法はありますか。 (4)記事の内容は歴史に関することですが、日本神話には結構下ネタが多いですよね。  そういう内容のときに限って反映されていないように思いますが  記事の内容によって反映されにくいということはありますか。 どれかひとつだけでも結構です。アドバイスをぜひ!

  • PHPでグローバルナビゲーションの制作

    はじめまして。 PHPでグローバルナビゲーションを作り、 これをインクルードで各ページに読み込む仕組みにして ナビゲーションのリンク先を絶対パスにしたいのです。 で、アクティブのページには背景を変えるとか太字にするとか現在位置をわかるように何かしら装飾はしたいのです。 下記のサイトを参考にしてますが基本やりたいことは同じです。 違うのはリンク先をカテゴリ毎のフォルダで分けて、絶対パスで読み込む指定にしたいだけのです。 http://blog.livedoor.jp/kalibora/archives/6622031.html いろいろ試したのですが上手く動作しなくて。。。 すみません。どなたかご教示お願いいたします。 PHPのド素人ですみません。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • ナビゲーションボタンについて

    どうぞ、よろしくおねがいします。 ホームページを作る際に、 「TOP」ですとか「Q&A」といったページなどに誘導する ナビゲーションボタンがありますが、 これは、普通にボタン用の画像を貼り付けて、 それにリンクを貼って並べる、というやり方は一般的ではないのでしょうか? 色々なサイトのソースを見て調べているのですが、 このようなやり方で記述されているサイトがなく、 質問させていただきました。

  • WordPressの記事(投稿)の改行がトップページに反映されない。

    WordPressの記事(投稿)の改行がトップページに反映されない。 WordPressでブログを作成しています。 投稿した記事を個別の記事のページ、カテゴリ、トップページにアップするようにしています。 記事に改行をいれているのですが カテゴリ、トップページからその記事を見ると 改行が反映されていない状態で困っています。 個別の記事に進むと改行が反映されています。 改行に関するプラグインを入れずに ・Shift+Enter ・全角スペース+Shift+Enter このどちらを使ってもカテゴリ、トップページから見た場合、改行が入りません。 個別の記事まで行くと、どちらも改行が反映されています。 プラグインも試してみました。 ・brBrbr ・my_autop ・PS Disable Auto Formatting これでも個別の記事では改行が反映されているのですが、カテゴリやトップページでは改行が反映されていません。 ・<p style="margin-top:1em;"> これを使うと、どの場所でも指定したスペースを確保できます。 しかし、どうしても行間が開きすぎて使いづらい状態です。 これは「テーマ」の問題なのでしょうか。 それともWordPressで解決できる問題なのでしょうか。 WordPressのバージョン:3.0.1 テーマ作成:Artisteer 2 を使っています。 ご存知の方、教えていただけないでしょうか。 よろしくお願いします。

  • 固定ページに投稿ページを反映させたい

    wordpressのお話しです。 フロントページではない、ある特定の固定ページに投稿ページを新着上位10個反映させたいと考えております。 イメージピクチャーを添付しておきますが、その方法を教えて下さい。 当方はwordpressはブログを書いたりして使ってますが、カスタマイズは全くの初体験です。 教えて下さいますようお願い申し上げます。

    • ベストアンサー
    • CSS
  • Movable Typeでウェブページに複数のブログで書かれたブログ記事を一括で読み込みたい

    こんにちは。 先日もご質問させていただきましたが、調べても調べてもわからなかったため再度投稿いたします。 現在あるサイトを構築中です。 構成としては、「ウェブページ」で作成したページに「ブログ記事」で投稿された内容を読み込むという形になっております。 ここで問題となってくるのは、「ウェブページ」のような固定されているページに対して、次々に投稿される「ブログ記事」が反映されるのか、という点です。 さらにその「ウェブページ」は、1ページだけではなく、数十ページにも及ぶものです。 「ウェブページ」と「ブログ記事」は関連性をもっており、一つの「ウェブページ」に対して補足的な「ブログ記事」が複数ブログから投稿されているという内容です。 そしてさらにその「ブログ記事」は一覧となっており、そこから該当の「ウェブページ」へリンクさせる、というものです。 ですので、ただ単にブログ記事を投稿するだけでは関連性を持たすことはできません。 「ウェブページ」で指定したタイトルと「ブログ記事」で指定したタイトル(カスタムフィールドでも可)が合った場合のみ該当のウェブページへ飛ばす、という感じになるのでしょうか。 自分でも色々考えてみて、「ウェブページ」に「ブログ記事」を読み込むことはできました。 しかしそれは関連性をもっておらず、新規に「ブログ記事」を投稿すると、一つの「ウェブページ」にしか読み込まれません。 「ウェブページ」側で、entryIDで特定の記事を指定して読み込ます、ということも考えたのですが、entryIDを拾ってくる方法がわかりませんでした…。 大変困っております。 どなたかご教示願えませんでしょうか。 よろしくお願い致します。

専門家に質問してみよう