2

最近、CSSクラスが「Category-H1」のH1要素からtitleタグを取得するために、次の行のJavascriptコードをサイトのいくつかのページに追加しました。

document.title = document.getElementsByClassName("Category-H1")[0].innerHTML;

興味があります。H2要素からJSを使用してdescriptionタグをプルするのと同じようなことはできますか?

4

3 に答える 3

6

これは実行可能ですが、それがあなたが望んでいることを達成するかどうかはわかりません。ほとんどの人はSEOの目的でメタディスクリプションタグを使用しますが、ページの読み込み後にJavaScriptによって設定されている場合、多くの(ほとんどの?)検索エンジンは説明を認識しません*。それでも、これを実行したい場合:

var meta=document.getElementsByTagName("meta");
for (var i=0; i<meta.length; i++) {
    if (meta[i].name.toLowerCase()=="description") {
        meta[i].content=document.getElementsByClassName("Category-H1")[0].innerHTML;
    }
}

お役に立てれば!


*率直に言って、私はここでの経験から話すのではなく、常識に過ぎません。メタ情報が動的であることは実際には意味がないので、スパイダーがJavaScriptを実行するのに十分賢い場合でも、そうした後にメタ情報を再チェックするのはなぜですか?

于 2012-10-26T22:23:03.587 に答える
0

getAttribute()この関数を使用して、これを行うことができます。

document.title = document.getElementsByClassName("Category-H1")[0].getAttribute("yourDescriptionMetaTag");
于 2012-10-26T22:22:40.497 に答える
-1

これはSEOにとって良いことではないと思います。動作するかもしれませんが、スパイダーはこれらのタグが動的であることを期待しているとは思いません。しかし、SEOが重要ではない場合は、jqueryを使用する方法を示す別の回答があります。

メタデータ/メタタグを動的に変更するJavascript

于 2012-10-26T22:26:47.223 に答える