Drupal | 検索を有効にする

 

■searchモジュールを使えるようにする

管理 > モジュール > search を有効

 

■テーマの設定で検索窓を表示させる

管理 > テーマ > 設定 > 検索ボックス にチェックする

グローバル設定じゃなく、使っているテーマの右側の設定を使うように。あたしゃ、グロ−バル設定の方を有効にしてて、「あれー、表示されないなー」と5分悩みました。焼酎飲みながら設定しているせいです。

 

■searchモジュールを一般ユーザが使用することを許可する

管理 > アクセス権の管理 > search モジュール > コンテンツの検索

この anonymous user と authenticated user にチェックを入れます。

 

■検索エンジン用にインデックスファイルを作る

検索エンジンは、インデックスファイルがあるからさくっと検索できるんですな。ということで、インデックスファイルを作らねばなりません。

管理 > 検索 > Indexing status

「サイトの0% がインデックスされています。」

翻訳すると、「サイトのインデックスファイルはありませんぜ。だんな」と言っているわけです。早速インデックスファイルを作ります。

http://www.mydomain.com/cron.php

自分のサイトのcron.phpをブラウザから呼び出します。

白い画面が表示された? 気にしなくてOKです。Index statusは、

「サイトの100% がインデックスされています。」

となり、検索窓にキーワードを入れて動作確認するべし。

 

■気になる?

http://自分のサイト/cron.php へアクセスするだけでインデックスファイルを作り直してくれるのでラクチンなのだが、

  • 誰でもアクセスできる
  • 毎回アクセスするのは面倒くさい

という場合は、.htaccess と cron を利用すればよろしいかと。

/home/path/to/myweb/.htaccess に以下のように追加する。

<Files ~ "cron.php">
Order deny,allow
Deny from all
Allow from 127.0.0.1 192.168.11.234
</Files>

 cron用のスクリプトを作る。

drupal_cron.sh

#!/bin/sh
wget -O - -q http://www.mydomain.com/cron.php

実行権限を与える。

$ chmod 755 drupal_cron.sh  

cronで毎朝3時5分に実行する。

$ crontab -e
5 3 * * * /home/myname/drupal_cron.sh