• 締切済み

Movable Typeで特定のページのみを検索対象から外したいです

MovableType Pro 4.23_jaを使用している者です。 タイトルに書きましたが、 ブログの中の特定のページのみを検索対象から外す方法がないものか、 調べています。 どなたか、お分かりになる方がいらっしゃれば、 教えていただけるとありがたいです。 もし、設定レベルではどうしようもないようであれば、 ソースを改変するしかないと考えていますが、 その場合、どのファイルのどの辺に手を入れればいいのかも 教えていただければ幸いです。 自身では [CGIのあるディレクトリ]/lib/MT/App/Search.pmに 当たりを付けているのですが、perlに慣れておらず なかなか見つかりません。 よろしくお願いします。

みんなの回答

  • elbavom
  • ベストアンサー率100% (67/67)
回答No.1

ソースを改変する必要はありません。 検索結果テンプレートのmt:Entiresタグに、次のようにプライベートタグをフィルタリングするモディファイアを与えればよいと思います。 <mt:Entries tag="NOT @nosearch"> …中略… </mt:Entries> あとは検索対象外にしたいブログ記事のタグに「@nosearch」と書いておきます。

ton7i9i
質問者

お礼

elbavomさん ご回答ありがとうございます。 早速試させていただきましたが、検索結果からタグを付けた ブログを外すことができませんでした。 以下、作業内容です。 --- 検索結果テンプレートの先頭に <mt:Entries tag="NOT @nosearch"> 末尾に </mt:Entries> を追加、保存。 検索対象外にしたいブログ、ページのタグに @nosearch を追加。再構築。 タグを追加したブログ、ページのタイトルをキーワードに検索 双方とも結果に表示されてしまう。 --- という次第です。私の設定に問題がありましたご指摘いただければ幸いです。

ton7i9i
質問者

補足

elbavomさんの回答がヒントとなりこの件無事解決しました。 検索結果のテンプレートで -- <mt:EntryIfTagged tag="@noindex"><mt:Else> [検索結果を表示するhtml] </mt:EntryIfTagged> -- という条件分岐を記述することで、 @noindexというタグを付けたページやブログは 検索結果画面に表示されなくなりました。 検索対象から外すことばかりを考えていましたが、 検索結果画面で非表示にするという発想が助けとなりました。 ありがとうございます。

関連するQ&A