• 締切済み

ヘッダをJavaScriptで追加する方法

個人のWebサイトを運営している者です。 今まですべてのページのヘッダにナビゲーションバーを逐一記述していたのですが、これだとコンテンツの追加・削除があるたびにすべてのページのナビゲーションバーを書き直さないといけないのでめんどうです。 SSIを使えばよいのでしょうが、私が借りているサーバはSSIやCGIが使えないので、JavaScriptで代用できないものかと考えています。 JavaScriptのdocument.createElementを使えばタグの追加はできるようですが、HTMLの追加はできるのでしょうか? ちなみに、ナビゲーションバーは <div id="header"> <ul> <li><a href="aaa.html">あああ</a></li> (中略) <li><a href="iii.html">いいい</a></li> </ul> </div> という感じです。

みんなの回答

  • tracer
  • ベストアンサー率41% (255/621)
回答No.5

No.3です。 私が書くべきことは、No.4さんが簡潔にまとめられておりますが、ひとつだけ補足しますと、SEOは、直接的にアクセスを増やすためのものではなく、検索結果上位を獲得するための方法論でもなく、単に検索エンジンにサイトの構造を正確に渡すためのものだと認識しています。SEOという言葉を使った私が悪かったのかもしれませんね。ともあれ、検索エンジンにサイト構造を渡す必要がないサイトであれば、考慮する必要もありません。

  • mohumohu23
  • ベストアンサー率37% (438/1176)
回答No.4

>DreamWeaverというソフトウェアは使用したことがないのですが、調べたところ、ナビゲーションバーをテンプレートとして登録しておけば、すべてのページに一括してテンプレートを適用できるという感じなのでしょうか。 ここにこのテンプレ埋める。と、コードに入れることでプレース指定することができる。 >> SEOの効果がなくなりますよ? これは、JavaScriptにナビゲーションバーを記述すると、HTMLソースからサブページへのリンクや名前がなくなってしまうからですよね? 確かにSEO効果は失われますが、ナビゲーションバーってSEOではなくアクセシビリティのためのものではないでしょうか? ナビゲーションバーにそこまでSEO効果があるとも思えませんし。 seoてのは、ボットがサイトをクロールするときに、リンクを辿って行くのですから、もしそのナビゲーションとされる物以外にそこにたどり着くリンクが無ければ辿りつけない。 そうすると場合によってはトップページ以外全く評価されない。ということになるので。 当然seoに響きます。

  • tracer
  • ベストアンサー率41% (255/621)
回答No.3

JavaScriptでできますが、その部分に関してはSEOの効果がなくなりますよ? No.1さんがおっしゃってるように、サーバーでできないなら、HTMLを書いているソフトウェアの機能を使えばいいと思います。たとえば、DreamWeaverにはテンプレートという機能があります。

selfless
質問者

お礼

回答ありがとうございます。 No.1さんと同様の回答のようなので、こちらでまとめてお礼申し上げます。 DreamWeaverというソフトウェアは使用したことがないのですが、調べたところ、ナビゲーションバーをテンプレートとして登録しておけば、すべてのページに一括してテンプレートを適用できるという感じなのでしょうか。 > SEOの効果がなくなりますよ? これは、JavaScriptにナビゲーションバーを記述すると、HTMLソースからサブページへのリンクや名前がなくなってしまうからですよね? 確かにSEO効果は失われますが、ナビゲーションバーってSEOではなくアクセシビリティのためのものではないでしょうか? ナビゲーションバーにそこまでSEO効果があるとも思えませんし。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

その内容であればajaxで処理するのが簡単かも

selfless
質問者

お礼

回答ありがとうございます。 ajaxについて調べてみましたが、確かにこれを使ったほうが簡単かもしれません。

  • dscripty
  • ベストアンサー率51% (166/325)
回答No.1

サーバサイドでジェネレートできないならローカルでジェネレートしたファイルをサーバにコピーするといいと思う。