wanichanの日記

ちょっとした技術メモ。Microsoft中心。Webサイト管理等にまつわるネタ、サイトの更新情報等を発信中。最終版はwanichan.comに掲載していきます。

Googleカスタム検索結果のリンクターゲットを操作するには

既定では検索結果のリンク先が新しいウィンドウ(タブ)で開くようになってますよね。私はだいぶ前から使ってましたが、仕様だからしょうがないと思ってました。

タグもバージョンが変わっちゃってすごくシンプルになっちゃいましたよね。私のサイトはすべてHTML 5に移行しちゃってるので、新しいのんに差し替えしようとチマチマやってます。

未だに私はちょっと前のコードをそのまま使ってます。

 <script>
(function() {
    var cx = '007241786231757499275:rs0lxcpg0k4';
    var gcse = document.createElement('script');
    gcse.type = 'text/javascript';
    gcse.async = true;
    gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') +
        '//www.google.com/cse/cse.js?cx=' + cx;
    var s = document.getElementsByTagName('script')[0];
    s.parentNode.insertBefore(gcse, s);
  })();
 </script>
<gcse:searchbox-only></gcse:searchbox-only>

最新バージョンはこんな感じにスマートになるんですよね。

<script async src="https://cse.google.com/cse.js?cx=007241786231757499275:rs0lxcpg0k4"></script>
<div class="gcse-searchbox-only"></div>

今、どういうわけか、カスタム検索ボックスのGoogleブランド表示が、日本語に設定しているのにも関わらず「Google カスタム検索」じゃなくて「ENHANCED BY Google」になっているので、それについてTwitterのつぶやきがないか検索してみました。

f:id:wanichan:20200430231316p:plain

そしたら以下のツイートを発見。

彼はあれからググって導き出した結果、data-linkTarget="_self" でいけたらしいですが…。

私も試してみたんですが、検索結果ページを自前のページ、すなわち、デザインのレイアウトを「2ページ」にしている場合、効かなかったりするんです。

f:id:wanichan:20200430233438p:plain

デザインのレイアウトを「2ページ」にして保存

↓

f:id:wanichan:20200430235410p:plain

検索結果の詳細設定で検索結果ページのURLを指定

そこで、いろいろ模索していくと、カスタム検索エンジンの編集の詳細設定にリンクターゲットの設定項目を発見しました!

  1. カスタム検索エンジンページに行く
  2. 編集したいカスタム検索エンジンをクリック

    f:id:wanichan:20200430220202p:plain

  3. 検索エンジンの編集>検索機能>詳細設定を開く
  4. [ウェブ検索の設定]の▼をクリックして展開

    f:id:wanichan:20200430220328p:plain

  5. [リンク ターゲット]を「_self」にして[保存]ボタンをクリック

    f:id:wanichan:20200430220418p:plain

わざわざ直接コードを編集しなくても、全部この設定ですぐに反映されたことを確認しました。