2020/01/28 08:14 JST

Geeklog Japan Forums

記事検索結果ページタイトルへの検索キーワードの表示について ~検索結果ページへのSEO~


状態: オフライン

summer ocean

Forum User
Active Member
登録日: 07/31/07
投稿数: 99
今回、記事検索結果ページ対するSEOを考えており、いくつかハックを試みたのですが、うまくいかないので質問させて頂きます。 具体的には、運営サイトのトップページから、2語の複合キーワード「○○ △△」で検索した結果のページに対し、トップページから予め当該2ワードでテキストリンクを張っておき、さらに、そのページに対して、他のSEO対策をしようという試みです。特にサイト内部の対策として、検索結果ページのタイトルが、デフォルトでは「検索結果-サイト名」であるところを、「○○ △△ の情報 -サイト名」に変更したいと思い、以下の2つを試してみました。 1 header.thtml 内の title の部分の前に、   mydomain/layout/ProfessonalCSS/search/searchresults.thtml 内の   {lang_matchesfor} という記述を貼り付けてみた。 2 japanese_utf-8.php 内452行目の 「検索結果」の文字の前に前述の{lang_matchesfor}を貼り付けてみた。 いずれの場合にも、検索キーワードがブラウザのタイトルバーに表示されることはありませんでした。何とか実現したい改変なのですが、どなたか方法についてご教示頂けないものでしょうか。 何卒よろしくお願い申し上げます。

状態: オフライン

Ivy

Site Admin
Admin
登録日: 01/01/04
投稿数: 5934
場所:Tokyo
テンプレートとそのテンプレートの変数のセット方法に関してはWikiをご覧ください。 トライされたその方法ではうまくいかないはずですので。 search.phpの、以下の部分で、 $LANG09[11])の代わりにqueryの引数のあたいをセットすればよいのではないでしょうか。
PHP Formatted Code
if (isset ($_GET['mode']) && ($_GET['mode'] == 'search')) {
    $display = COM_siteHeader('menu', $LANG09[11]);
    $display .= $searchObj->doSearch();
}

状態: オフライン

summer ocean

Forum User
Active Member
登録日: 07/31/07
投稿数: 99
Ivyさん、ありがとうございます。 私は、geeklogで四苦八苦しながらサイトを作って運営しておりますが、基本的にPHPはおろかHTMLやCSSもほとんど理解していないので、少々的はずれな質問になってしまうかもしないものの、wikiを検索してもよく分からなかったので再度質問させてください。 お返事いただいた内容は、 1 まず、テンプレート(ProfessionalCSSのことでしょうか?)内で通用する、queryの引数を表す変数を定義するために、どこかの設定ファイルにその定義に関するscriptを記述する。    ↓ 2 search.php の $LANG09[11] の部分を1で定義した変数に置き換える。 という手順でハックすると理解してよいでしょうか。 もしそうであるとすると、1の定義をしなければならないのですが、WIKIでその方法に関する記述を見つけられませんでした。可能であればヒントをご教示いただければ幸いです。 お手数で恐縮ですが、よろしくお願い申し上げます。

状態: オフライン

Ivy

Site Admin
Admin
登録日: 01/01/04
投稿数: 5934
場所:Tokyo
テンプレートのテーマ変数の使い方を理解されていないようでしたので、それはWikiで 確認していただきたいということと、 今回のハックは、テーマ変数を変更する必要はなく、search.phpのハックだけですみそうだ、 という、2点でした。

状態: オフライン

summer ocean

Forum User
Active Member
登録日: 07/31/07
投稿数: 99
Ivyさんありがとうございます。 あれこれやっていると、よくは分からないままに、何とか検索キーワードをタイトルに表示させるところまではできました。 search.php の 「$LANG09[11]」 の部分を 「$_REQUEST['query']」 に書き換えたことによりうまくいった模様です。 ただ、タイトルには「○○ △△ の××情報」というふうに、固定テキスト「の××情報」を付け加えたいのですが、これがうまくいきません。××もSEOに必要なキーワードですので、ここは何とかクリアしたいところです。 ためしに、 1 「$_REQUEST['query']」 の後ろに、そのまま「の××情報」をつけてみた 2 「$_REQUEST['query']」 の後ろに、「,'の××情報'」をつけてみた 3 「$_REQUEST['query']」 の後ろに、「& 'の××情報'」をつけてみた 4  $display = COM_siteHeader('menu', $_REQUEST['query']);     を $display = COM_siteHeader('menu', $_REQUEST['query']); $display = COM_siteHeader('menu' ,'の××情報');    にしてみた 5  japanese_utf-8.php 内のLANG09 の最後に 「62 => 'の××情報'」を追加し、    上記1~4の「の××情報」を「 $LANG09[62])」に変えてみた といろいろやってみましたが、タイトルが消えたり、文字化けしたり、エラーが出たりとうまくいきません。 どのようにすれば、タイトルに表示させたquery の引数の値の後ろに固定テキストを表示させることができるでしょうか。 お手数ですが、よろしくお願い申し上げます。

状態: オフライン

Ivy

Site Admin
Admin
登録日: 01/01/04
投稿数: 5934
場所:Tokyo
文字化けしたということであれば、search.phpをUTF-8で保存しているかどうか 確認してください。 エンコードが違う場合、日本語を入れると文字化けしますので、注意してください  LOL

状態: オフライン

summer ocean

Forum User
Active Member
登録日: 07/31/07
投稿数: 99
Ivyさん、ありがとうございます。 日本語で記述した部分については確かにsearch.phpをUTF-8で保存しなおすと文字化けせずに表示されました。 しかし、これを先ほど何とか表示させることができた、「$_REQUEST['query']」 の部分(検索キーワードの部分)とつなげて表示させる方法が全く分かりません。 今のところ、 japanese_utf-8.php 内の $LANG09 の  「 11 => '検索結果',」 を 「 11 => '××の情報',」 に書き換えた上で、 search.php 内の懸案の行である $display = COM_siteHeader('menu', $LANG09[11]); の部分を、   $display = COM_siteHeader('menu', ($_REQUEST['query']) && ( $LANG09[11])); のように書き換えてみましたが、ブラウザのタイトルバーにはなぜか、 「1-サイト名」と表示されてしまいます。 なお、&& の部分を「,」に変えると、なぜか $LANG09[11] の部分はタイトルではなく、画面上部中央のメニューバーの上に表示されます。 なんとか、 $display = COM_siteHeader('menu', $LANG09[11]); の2つ目の引数に、$_REQUEST['query'])  と  ( $LANG09[11]) の両方が連続して表記されるように充てたいのですが、どのように記述すればよいのでしょうか?? なにとぞよろしくお願い申し上げます。

状態: オフライン

summer ocean

Forum User
Active Member
登録日: 07/31/07
投稿数: 99
自己解決しました。 懸案の行について $display = COM_siteHeader ('menu', $_REQUEST['query'].$LANG09[11]); と書き直してみたところ、希望通りの表記がタイトルバーに表示されました。 大変助かりました。ありがとうございました。

時刻はすべて JST , 現在の時刻は 08:14 AM

  • 通常
  • 注目トピック
  • ロック済
  • 新着
  • 注目トピック 新着
  • ロック済トピック 新着
  •  ゲストユーザの投稿を見る
  •  ゲストユーザ投稿可能
  •  一部のHTMLを許可
  •  バッドワードをチェック