メタタグを並べ替える方法を教えてください。


4

クライアントの要件に従って、メタタグの順序を変更する必要があります。要件は、メタタグの一部を非表示にすることでもあります。

リクエストされた注文は次のようなものです。

<Title>
<Description>
<keywords>

これを簡単に実現するためのモジュールはありますか?メタタグモジュールのファイルを編集する必要がありますか?


1
クライアントがそれを望んでいる理由を教えてください。多分彼のニーズを満たすモジュールがあるかもしれませんが、もしそうなら、それは単に「head reorder」の下でグーグルすることはできません。
Mołot

1
私が間違っている場合は修正してください。しかし、そのような再注文の目的がわかりません。それがボディの要素である場合、それはSEO目的のためですが、それにもかかわらず興味深い質問です。「なぜ」とおっしゃっていただければさらにおもしろいと思います。
Beebee 2013年

それは純粋にSEOの目的のために、Googleが簡単にクロールできるように、サイトでサイトデータを取得するためだけにそれらを削除する必要があります。

1
メタタグの順序がSEOに関連していると主張するソースは何ですか?質問自体に答えない理由はありませんが、十分に有効ですが、ここでの実装は時間の無駄のようです。クライアントが何をするかというと、そうです。
Letharion 2013年

回答:


10

特定のメタタグの順序を変更するにhook_html_head_alter()は、テーマのtemplate.phpファイルの実装が最善の策です。

function MYTHEME_html_head_alter(&$head_elements) {
  // Combined with the devel module this line will tell you what elements you have to work with
  dpm($head_elements);

  // Any you can just alter the weight like this
  $head_elements['module:key']['#weight'] = -1000;
  $head_elements['another_module:another_key']['#weight'] = -999;
}

7歳以上でのみ有効です。
Mołot

@Mołotはい、OPが要求したように...
クライヴ

1
私の間違い-7のタグが付けられていなかったので、どういうわけかタイトルがありませんでした。どちらにしても、あなたの答えは<title>を上に上げる方法を示していないので、私はそのままにしておきます。
Mołot

@Cliveの回答に感謝します。「['module:key']」を取得する方法を詳しく説明してください。

$head_elements配列を調べて、何が含まれているかを確認する必要があります。dpm()コメントに記載されているように、Develモジュールを使用した方法が最も簡単です
Clive

6

HTMLヘッド要素は2か所で定義されています。

最初にアクセスするのが最も簡単なのは、テーマのhtml.tpl.phpです。

プロフェッショナルテーマでは、関連する部分は次のようになります。

<head>
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
<?php print $head; ?>
<title><?php print $head_title; ?></title>
<?php print $styles; ?>
<?php print $scripts; ?>
<!--[if lt IE 9]><script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
</head>

したがって、ここで他のヘッダーの前にタイトルを置くことができます。CSSとJSパーツを指定された順序で最後に残すのが賢明です。

$head変数の内容を並べ替える必要があると感じた場合は、

よりトリッキーになります。この変数は、Drupalコアによって生成され、モジュールとテーマによって変更されます。良いことは、あなたのテーマが最後にアクセスすることです。

Drupal 6の場合はtemplate.phpTHEMENAME__preprocess_page(&$ variables)を定義し、必要に応じて変更または並べ替え$variables['header']ます。特に削除する場合は、他のモジュールが壊れる可能性があることに注意してください。並べ替えは比較的安全で、追加は通常安全で、削除は危険です。

Drupal 7については、Cliveの回答を参照してください。THEMENAME__preprocess_page(&$ variables)は引き続き機能しますが、7は問題に対してより直接的な解決策を提供します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.