google.search.Search.apiaryXXX is not a functionというエラーでGoogleカスタム検索が動作しないときの対処法

success-600183_640

私の愛しいアップルパイへ

Googleカスタム検索を使っているときに、以下のエラーが発生して正常にブログない検索が動作しなくなることがあります。

Error: google.search.Search.apiaryXXX is not a function

エラーはブラウザの「要素の検証」→「コンソール」タブなどで表示できるコンソール画面に出ます。

以前はFirefoxだけで発生するエラーのようでしたが、最近は仕様が変わったのか他のブラウザでも発生します。

困りましたか?それではこのjMatsuzakiがみごとに問題を解決してみせましょう。アブラカタブラッ!

google.search.Search.apiaryXXX is not a functionというエラーでGoogleカスタム検索が動作しないときの対処法

▼まず、下記のエラーが発生する条件をご説明します。

Error: google.search.Search.apiaryXXX is not a function

  • Googleカスタム検索のレイアウトで「2ページ」を選択している
  • 同じ画面に検索バーを2箇所表示している

この2つの条件が合致したときに該当エラーが発生します。

▼レイアウトの「2ページ」というのは以下を選択している状態です。

ScreenClip

グローバルナビやサイドバーに検索バーを表示していて、さらに検索結果の画面内にも検索バーを表示しているときなどは、この問題にぶつかります。

ですから解決法としては、検索バーが2箇所表示されている場合には、片方を表示させないようにしましょう。表示させないといってもCSSなどで見た目上非表示にするのではなく、Scriptタグ自体を出力させないようにしてください。

検索結果画面を表示しているときはグローバルナビに検索バーを表示しないとか、グローバルナビには検索バーではなく検索画面へのリンクを貼る用とかするのです。

これで該当エラーが発生しなくなり、正常にGoogleカスタム検索が動作するようになるはずです。

貴下の従順なる下僕 松崎より

著者画像

システム系の専門学校を卒業後、システム屋として6年半の会社員生活を経て独立。ブログ「jMatsuzaki」を通して、小学生のころからの夢であった音楽家へ至るまでの全プロセスを公開することで、のっぴきならない現実を乗り越えて、諦めきれない夢に向かう生き方を伝えている。