サポート » 使い方全般 » サイト内検索窓に外部検索エンジンのリファラを自動設定したい

  • 解決済 pyonko

    (@pyonko)


    外部検索EGから(運悪く)トップページに訪問されてしまった場合、トップページに設置されたWordPressの検索窓にリファラを自動的に入れ込むことはできないでしょうか?

    トップページの影響が強くて、なかなか個別ページに辿り着かない場合のLPOみたいな感じでやりたいのですが、お知恵をお貸しいただけませんでしょうか?

    よろしくお願します。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック投稿者 pyonko

    (@pyonko)

    リファラからキーワードを抽出するphpコードをいくつか見つけました。仮に、これらのどれかを使用したとして、WordPressの標準検索フォームに、抽出されたキーワードを3つ以内、or条件でテキストボックスに入れ込む、というこができませんでしょうか?

    キーワード抽出コード例(1)
    http://www.nekomanma.jp/room/php/se.php
    キーワード抽出コード例(2)
    http://blog.livedoor.jp/takah0918/archives/50120441.html
    キーワード抽出コード例(3)
    http://www.happyquality.com/2009/10/28/1082.htm

    上記の関数を組み込まれたget_search_form()のような関数がほしいと思いますが、ご支援頂ければ幸いです。よろしくお願いいたします。

    トピック投稿者 pyonko

    (@pyonko)

    以下のコードでサイト内検索フォームに外部サーチエンジンの検索ワードをセットできました。ウィジェットで使うことができました。

    <?php $se_info = array( "google.co.jp/url"=>"q", "bing.com/search"=>"q", "livedoor-search.naver.jp/search"=>"q",
    		 	"search.yahoo.co.jp/search"=>"p",
    			"excite.co.jp/search.gw"=>"search",
    			"search.goo.ne.jp/web.jsp"=>"MT",
    			"search.nifty.com/websearch/search"=>"q",
    			"websearch.rakuten.co.jp/WebIS"=>"qt");
    $referer = $_SERVER["HTTP_REFERER"];
    // リファラを?で分けて、配列$Refに保存
    // $Ref[0]は、?より前、
    // $Ref[1]が、?より後(つまり、クエリ文字列)
    $Ref = split("\?",$referer);
    // mb_parse_strでクエリ文字列を分析($Qに連想配列として格納する)
    mb_parse_str($Ref[1], $Q);
    foreach ($se_info as $key => $value) {
    	if (stripos($referer,$key)) {
    		$word = $Q[$value];
    ?>
    		<form method="get" id="searchform" action="<?php bloginfo( 'url' ); ?>">
    		<div><label class="screen-reader-text" for="s">検索:</label>
    		<input type="text" value="<?php echo $word; ?>" name="s" id="s" />
    		<input type="submit" id="searchsubmit" value="検索" />
    		</div>
    		</form>
    <?php 	}
    }
    ?>

    ここでの問合せには馴染まなかったかもしれません。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「サイト内検索窓に外部検索エンジンのリファラを自動設定したい」には新たに返信することはできません。