• 締切済み

サイト内検索のプログラムについて

サイトにアップした数千のページを検索するため「Googleサイト内検索(カスタム検索)」を設置したのですが、トップページしかヒットしないので、検索して javaを設置したのですが、全く機能しません。 下記のプログラムの何処を直すと、機能するでしょうか? また、この他にどのような方法があるでしょうか? <script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> <script>  //URLのパラメーターを取得 let v = new URLSearchParams(window.location.search);  //URLのパラメーターのうち検索されたキーワードを取得 v = v.get('search-key');  //検索したい全てのURLを配列に格納 const urlLists = [ "/data/xml/", "/site-speed/asynchronous/", "/site-speed/for_while/", "/site-speed/async-2/"]; $.each(urlLists, function(i){ $.ajax({ url : urlLists[i], dataType : 'html', success : function(data){     //上記のURLからキーワードを探す if( $(data).find("#article").text().indexOf(v) !== -1){       //あれば、ページを表示する $('<li><a href="' + urlLists[i] + '">' +$(data).find("h1").text() + '</a></li>').appendTo('ul'); } }, error: function(data){ console.log("error") } }); }); </script>

みんなの回答

  • 4017B
  • ベストアンサー率73% (1341/1821)
回答No.2

質問者と全く同じ状況に陥っている人の記事がありましたので、何かの参考にしてみてください。 - Google検索でトップページしか表示されない https://harutomo-ryu.com/archives/2012-04-18/221037.html とりあえず「TOPページ」が検索結果に出るという事から、google検索エンジンは正常に機能しており最低限のインデックス処理は実行されていると推測されます。この様な場合の不具合は通常、ツール使用者側の設置時の設定値が適切ではなかったか、或いは使用者側のwebサーバの外部からのアクセス権限が適切に設定されていない等の状況が考えられます。 質問者がwebサイト構築等に利用しているwebサーバの大本の設定で、外部からのアクセスやクローリングを最上位ディレクトリまでしか許可してない場合、google検索の結果が「TOPページしか表示されない」となります。いわゆる "直リンク禁止" というヤツです。 P.S. サイトマップは完全に適切に最適化された記述式でなければ逆効果になる場合が多いので、特に小規模な個人運営のwebサイト等ではむしろ設置させない方が良いと思います。

zekusu
質問者

お礼

ありがとう御座います。おそらく直リンクなので、ダメだと思います。3000以上あるので、ただ全てアップロードしただけの状態です。そのため検索で閲覧できるようにしようと思っていました。

すると、全ての回答が全文表示されます。
  • oboroxx
  • ベストアンサー率40% (317/792)
回答No.1

求めている回答ではないかもしれませんが、Googleのサイト内検索は、もしかするとサイトマップをGoogleに提供しないとダメなのかもしれません。 サイトマップを作成するツールもありますので、使ってみてはどうでしょうか。 Sitemap Creatorで検索してみてください。 ただ、無料のとかはページ数が限定されていることもあるので気を付けてください。

すると、全ての回答が全文表示されます。

関連するQ&A