• 締切
  • すぐに回答を!

JavaScript(ジャバスクリプト)で本文中からヘッダーにtitleを挿入する

  • 質問No.5253699
  • 閲覧数536
  • ありがとう数1
  • 気になる数0
  • 回答数4
  • コメント数0

お礼率 37% (3/8)

ホームページを、とあるソフトを使用して作っています。
これがなかなか融通の利かないソフトで、<head>~</head>内の項目
が全くいじれないという仕様になっています。さらに、トップページ以外のtitleが全部メニューのリンク文字と同じになるというありさまです。

そこで、body中で何とかしてtitleを変更して
JavaScript(ジャバスクリプト)で本文中からヘッダーにtitleを挿入する方法を知りました。

<script type="text/javascript">
<!--
var header = document.getElementsByTagName("head").item(0);
var style = document.createElement("link");
style.rel = "stylesheet";
style.type = "text/css";
document.title = "ここにタイトル";
header.appendChild(style);
// -->
</script>

というJavaScriptを使うと、ヘッダーの<title>~</title>に書いた(自動的に挿入された)タイトルではなく、JavaScriptに書いたタイトルが適用されるようです。ここまではなんとかできましたが、ソース見てみると当然<head>内の<title>~</title>はリンク文字のままなのですが、IEなどの一番上に表示される文字はJavaScript内に書いたものになっています。

ここで疑問がわきました。
(1)はたしてこれはSEO的にはどちらのtileが優先(?)されるのでしょうか?
(2)また、検索した際の表示される文字はどちらに???
(3)SEOスパムになったりしないのか?

当方、JavaScriptのことがはっきり言ってまったくわかりませんもので、ほぼコピペしてるレベルです・・・。なので変な内容になっていましたらすいません。JavaScriptとSEOに精通したすごい方いらっしゃいましたら宜しくお願いします。

回答 (全4件)

  • 回答No.4

ベストアンサー率 61% (1594/2576)

#3です。
私の言葉が足りなくて、また意味が通じなかったようです。

>cgiでガチガチに組んであるローカルで動く~~
それって、まさかWeb上でダイレクトにHTMLソースを吐き出すソフトではないですよね?
SEOを気になさっているのですから、HTMLファイルが存在するものと思いますが…(前者であるなら、そもそもSEOを気にしても意味がないので)


#3の後半で書いたことは、HTMLファイルが存在するのであれば、それらをアップする前にタイトル部分を修正しておくのが本来の姿勢ではないかということです。
ファイル数が数十くらいであれば、手動でやっても1時間程度の作業量だと思いますので(環境にもよりますが)、それこそ『SEOが重要である』なら、その程度の作業量はどうということもないでしょう。

ファイルが数百もあって大変であるというなら、対照表を作成して自動で修正変換させる方法をとればよいのではないかと書いたつもりです。
(もともとのソフトを改造するなどは、できれば良いのはあたりまえのことなので、回答として記すつもりはありません。)
上でいう修正は、もちろんローカルに修正するという意味です。
また、自動変換するにしても、<title>~</title>部分を入れ替えるだけなので、別にソフトを作成したところで大した手間ではないということも考慮して、上記のような回答をさせていただきました。

「◇素朴な疑問」の意味は、そのソフトがHTML編集用ソフトであるとするなら、上記のように手動でタイトル部分だけ修正したHTMLソースを、そのソフトを利用してコンテンツを修正した場合に、出来上がるHTMLソースのタイトルは修正後のタイトルのままになるのかあるいは強制的に元のタイトルに変更されてしまうのだろうかということです。
将来ソースを修正する可能性を考慮すると、この挙動がどうなるかによって影響が変わってくると思われますので…

>上記の理由からHTMLはもちろん、.cgiや.pl等のプログラムも読み込ま
>せることができません。
そのソフトを使って作成したHTMLファイルを修正したいときは、HTMLファイルを読込んで修正するのではないのでしょうか?
あるいは、ソフトで作成している元データファイルを修正して、新たなHTMLファイルを吐き出すという機能しかないのかな?
ソース作成用の、元データをローカルに修正することは不可能なのでしょうか?タイトルは可変なのでしょうから、そのデータの中にタイトルのデータもあるのではないかと想像されますが…
  • 回答No.3

ベストアンサー率 61% (1594/2576)

#1です。
どうも意味が通じていないみたいですね。

>タイトルをSEOのため変更する必要があるということです。
「変更の必要はない」と記した覚えはありませんが?
javascriptで変更したいのなら、『別に作るのではなくて(作るからダブってしまうので)、変更をすればよいのではないか』と言う意味で、#1では、その方法も合わせて書いたつもりですが?

>>SEOではどうなるのかは知りませんが、~
と#1で書きましたが、変更の手段としてjavascriptを選定した時点で、ソースのHTMLのtitleはもとのままでおくことになってしまいます。
検索ロボットがソースを読んだ時に、スクリプトの解析までしてくれるとはあまり想像できないのですが…(←このあたりは、よく存じておりません)
それなので、もとのままの可能性が高くはないでしょうか?

--------------------------------------------------
#1では、あえて書きませんでしたが、
SEOの心配をするのなら、スクリプトで(読み込み時に)変更するのではなく、ソースファイルを変更する手段を検討するのが一番ではないでしょうか?
ご使用中の(おかしな?)ソフトをどうしても手放すことができず、また、手動で書き換えるのも大量すぎて大変というのなら、「ファイル名-タイトル」の対応表を作っておいて、自動でやらせても宜しいかと。

◇素朴な疑問
 個別に修正したソースをそのソフトで読込むとどうなるのだろうか?
補足コメント
taketch_tc

お礼率 37% (3/8)

>「変更の必要はない」と記した覚えはありませんが?
これは失礼!もともとのタイトルを変えれば確かにSEO的には一番よいですね。
しかし、たとえば
「お問い合わせフォーム - 池田耳鼻咽喉科」、
「プライバシーポリシー - 池田耳鼻咽喉科」、
「サイトマップ - 池田耳鼻咽喉科」




といった<title>のページを作っていこうとしたときに、前ページ共通メニューのリンク文字が

■お問い合わせフォーム - 池田耳鼻咽喉科
■プライバシーポリシー - 池田耳鼻咽喉科
■サイトマップ - 池田耳鼻咽喉科



というようになってしまうので、変だ。だからといって

■お問い合わせフォーム
■プライバシーポリシー
■サイトマップ

といった感じのページが出来てしまっても困るわけです。
という考えが頭にあったのでそういう答えになりました。どうもすいませんでした。


>検索ロボットがソースを読んだ時に、スクリプトの解析までしてくれるとはあまり想像できないのですが…(←このあたりは、よく存じておりません)

なるほどたしかにその通りですね!あたりまえといえば当たり前なことでしたw

>個別に修正したソースをそのソフトで読込むとどうなるのだろうか?

cgiでガチガチに組んであるローカルで動くCMSみたいなソフトで、CMSといってもMTみたいにデザインが自由ではなくてほぼテンプレートで自動生成されるソフトです。そのため、ヘッダーは前ページ前出の<title>以外は完全固定で、.cgiや.plファイルの中をいじるしか方法がないのですが、.cgiとかの知識がない上に、卸のメーカーから改造を禁止されているため独自の仕様にすることができません(ソフト名は、仕入れている立場上あかせません。)。
個別に修正したソースとは何のことをさしているのか解りませんが、上記の理由からHTMLはもちろん、.cgiや.pl等のプログラムも読み込ませることができません。(body内はhtml対応の場所があります。対応していないところもありますが。)

ただ、それでもむりやり改造しちゃえば便利になるんでしょうね!
できればそうしたいです。
投稿日時:2009/09/02 01:54
  • 回答No.2

ベストアンサー率 51% (3827/7415)

質問者さんは、javascriptには素人だがSEOについては詳しいという
立ち位置なのでしょうか?

>(1)はたしてこれはSEO的にはどちらのtileが優先(?)されるのでしょうか?

>(2)また、検索した際の表示される文字はどちらに???

上記2件は、ともに元のタイトルが優先されると考えるのが妥当でしょう。

>(3)SEOスパムになったりしないのか?

なる可能性は否定できません。すくなくとも事実上の偽装をしている
わけですから・・・

>とあるソフト

たんに、ソフトの使い方が間違っているような印象を受けましたが
もしくはよほどなにかに特化したソフトなのでしょうか?
補足コメント
taketch_tc

お礼率 37% (3/8)

>質問者さんは、javascriptには素人だがSEOについては詳しいという
立ち位置なのでしょうか?

「私はSEOには詳しいのですが~」と付け足さなかっただけです。
どのくらいのレベルなのかは、ここでは問題ではないと考えております。

>上記2件は、ともに元のタイトルが優先されると考えるのが妥当でしょう。

そうですね、その理由をjavascriptに詳しい方にお聞きしたかったのです。

>たんに、ソフトの使い方が間違っているような印象を受けましたが
もしくはよほどなにかに特化したソフトなのでしょうか?

このソフトに関しては、どこで何を聞いてもみなさんそういいます。
つまり、そういうソフトなんです。
投稿日時:2009/09/02 02:19
  • 回答No.1

ベストアンサー率 61% (1594/2576)

SEOではどうなるのかは知りませんが、わざわざタイトルを複数生成するようなことをせずに、単に書き換えればよいのではないでしょうか?
 document.title = "タイトル";
で、可能なはずです。
補足コメント
taketch_tc

お礼率 37% (3/8)

解答ありがとうございます。
>わざわざタイトルを複数生成する

わざわざというか、先に記述したように自動的に「トップページ以外のtitleが全部メニューのリンク文字と同じになる」ため、タイトルをSEOのため変更する必要があるということです。

例えばメニューに「会社概要」とつくった場合、そのページのタイトルも「会社概要」になってしまうため、変更する必要があるということです。(titleはSEOでは重要な役割を担います)
投稿日時:2009/09/01 12:25
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,600万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A

ピックアップ

ページ先頭へ