Pathautoを使用してURLを適切に設定しているので、将来的にパスを変更したい場合があります。一部のページでは、他のノードに手動で並べます。
問題は、Nice URLをコーディングした場合、将来Pathauto設定を変更するとリンクが壊れることです。 node /(node id)にリンクすると、リンクは常に機能しますが、SEOがアンカーテキストにキーワードを持たないのは悪いことです。
NIDでコーディングする方法はありますか?常に機能しますが、ページにニースURLが表示されますか?
Splatが述べたように、Googleがnode/FOOおよびpretty/pathが同一のコンテンツを指しているのを見ないようにするグローバルリダイレクトモジュールを確認します。ただし、エンジンがページコンテンツをスキャンし、pretty/pathがHTML内に表示されるようにしたい場合は、引き続きパスをハードコーディングするか、nidに基づいてエイリアスパスを返す関数を作成できます。
_function make_my_path($nid) {
$pretty_path=drupal_get_path_alias('node/' . $nid);
return $pretty_path;
}
_
次に、それをテンプレート(またはdrupal_get_path_alias()
を直接)で使用するか、関数 l()
を使用します。パスとして 'node/FOO'が渡された場合、エイリアスパスが設定されていればそれが返されます。 (明示的に指示しない限り、 url()
を参照してください。)
したがって、たとえば、print l('Hello World','node/23');
は_<a href="/pretty/path/to/node/23">Hello World</a>
_を返す必要があります。
CKEditorを使用している場合は、 CKEditor Link モジュールを使用する必要があります。挿入するタイトルによってコンテンツを検索できます。Drupalの場合、リンクは/ node/[ID]として保存されます。次に、テキストフィルター(各テキスト形式に対して有効にする必要があります)使用されている)は、レンダリングされたページでそのURLを現在のパスエイリアスに置き換えます。
Global Redirect モジュールを探していると思います。これにより、node /xにリンクするたびに、リンクをたどるすべてのユーザーがそのノードのクリーンなURLにリダイレクトされます。