web-dev-qa-db-ja.com

すべてのURLに正規リンクを追加するにはどうすればよいですか?

D7ですべてのURLの正規リンクを取得する最良の方法は何ですか?

ノードにはすでに相対カノニカルが表示されていますが、カノニカルも必要とするノード以外のURLがたくさんあるサイトがあります。

_html.tpl.php_にコードを追加して、任意のページにカノニカルを追加しましたが、ノードベースのページで二重になりました。

これを見てくれてありがとう。

更新:
theme_html_head_alter()フックを使用して、ノードのカノニカルを削除しました。
次に、新しいカノニカルを_html.tpl.php_に追加したので、すべてのページにそれらがあり、ノードページには1つしかありません。

6
dibs

Theme_html_head_alter()フックを使用してノードカノニカルを削除しました。次に、新しいカノニカルをhtml.tpl.phpに追加して、すべてのページにそれらがあり、ノードページに1つだけあるようにします。

3
dibs

他の場所で述べたように、グローバルリダイレクトは適切なオプションです。しかし、メタタグも優れたモジュールです。正規のURLだけでなく、メタキーワード、説明、著作権データ、およびOGを含むより重要なメタデータも処理します。したがって、このモジュールのチェックを行うこともできます。 http://drupal.org/project/metatag およびこのリンクで動作する正規URLを取得する方法に関するチュートリアル: http://amitavroy.com/justread/content/記事/ canonical-links-and-drupal-7

メタタグモジュールの1つの点は、デフォルトで相対カノニカルURLを出力することですが、smashingmagazine、engadgetなどの主要なサイトでは絶対を使用しています。したがって、それを実現したい場合は、2番目のURLがキーになります。

7
Amitav Roy

メタタグモジュール をダウンロードし、その設定に移動して

  1. Global設定の横にある[編集]をクリックします
  2. Canonical URLフィールドに移動します(Advancedタブの下)
  3. 以下に記入してください:http://yourdomain.com[current-page:url:relative]

これは、1つのWebサイトで複数のドメインを使用する場合に便利です。コンテンツフラグの重複を回避します。

0
cptstarling

Global Redirect モジュールを試してください。これについての引用は次のとおりです(モジュールのプロジェクトページから):

...シンプルなモジュール:

  1. エイリアスの現在のURLを確認し、使用されていない場合は301リダイレクトを行います。
  2. 末尾のスラッシュがないか現在のURLをチェックし、存在する場合は削除し、新しいリクエストでチェック1を繰り返します。
  3. 現在のURLがsite_frontpageと同じかどうかを確認し、一致する場合はフロントページにリダイレクトします。
  4. URLのクリーンアップ機能が有効になっているかどうかを確認し、現在のURLが 'unclean'メソッドではなくcleanメソッドを使用してアクセスされていることを確認します。
  5. URLへのアクセスをチェックします。ユーザーがパスにアクセスできない場合、リダイレクトは行われません。これにより、エイリアスされたプライベートノードの公開を回避できます。
  6. アクセスされるURLの大文字と小文字が、作成者/管理者によって設定されたものと同じであることを確認してください。たとえば、エイリアス「articles/cake-making」をnode/123に設定した場合、ユーザーは大文字と小文字を組み合わせてエイリアスにアクセスできます。
  7. 上記のオプションのほとんどは、設定ページで構成できます。 Drupal 5では、globalredirect_adminモジュールを有効にした後でこれにアクセスできます。Drupal 6では、設定ページがモジュールにバンドルされています。
0
gilzero