Google CSE를 이용해서 해당 사이트의 구글 검색 결과를 임베이드해보자

* 아래 팁은 https 환경에서는 작동하지 않습니다.
* 아래 팁은 2020년 이후로는 작동을 보증할 수 없습니다.
* 2020년 이후로는 구글에서 생성한 코드로 커스텀 검색하는 것을 추천합니다. (최종 댓글을 참고)

--- (아래 글은 파기 대상) ---

웹 생태계는 끊임없이 변한다. 그 와중에,
구글 검색 결과를 사이트에 접목하는 과거의 자료를 갱신하게 되었다. (드루팔8 기준)

애드센스를 이용하지 않고 아래 주소에서 바로 자바스크립트를 생성, Google CSE모듈에 해당 커스텀 검색엔진 아이디만 넣으면 바로 작동하는 형태이다.

1. 우선 관리자 계정으로 Google CSE 모듈을 설치/활성화한다.
https://www.drupal.org/project/google_cse
의존성 관계로 Search 모듈도 활성화해야 한다.

2. admin/config/search/pages 메뉴에 가서, Search Page Type항목에서 Google CSE Search를 하나 추가한다.
추가된 항목을 검색 Defaults로 설정한다. 해당 Google CSE Search에서 수정을 눌러
Google Custom Search Engine 항목에 값을 입력할 준비를 한다.

3. https://cse.google.com/cse/all 로 가서 해당 사이트를 등록하고 Google Custom Search Engine ID 를 발급받는다.
해당 사이트의 도메인을 입력하는 것을 잊지말자.
다 설정하고 나면 자바스크립트 코드를 보여준다. 전체를 복사해 둘 필요는 없다.
검색 엔진 ID라는 것만 복사해 두자. 형태는
00숫자숫자들4167401숫자숫자들2:영숫자문자들의 포맷일 것이다.

4. 다시 드루팔 사이트의 구글 CSE 관리화면(단계2의 화면)으로 와서,
Google Custom Search Engine ID: 항목에 위 3에서 얻은 검색엔진 아이디를 붙여넣고 저장한다.
*** 주의점 *** 이때 붙여넣기의 제일 뒷쪽에 스페이스가 들어가면 나중에 404 에러가 날 수 있다.

5. http://해당 드루팔 사이트/search/google/에서 구글 검색을 임베이드한 결과를 볼 수 있다.
혹시 권한 문제가 있을 지 모르니, 사용자 > 권한 메뉴에서 google cse를 익명 유저도 볼 수 있게 하는 것이 좋겠다.

아래의 자료는 기존 6.x대에서 사용하던 방법이다.


* 기존 자료 참고 : http://palpal.org//node/447
Google CSE 모듈을 이용해서 해당 사이트의 구글 검색 결과를 임베이드해보자 (2010년도 기준, AdSense이용 방식)

이번에 새로 쓰는 방식은, 애드센스를 이용하지 않고 아래 주소에서 바로 자바스크립트를 생성, Google CSE모듈에 해당 커스텀 검색엔진 아이디만 넣으면 바로 작동하는 형태이다.

1. 우선 관리자 계정으로 Google CSE 모듈을 설치/활성화한다.
https://www.drupal.org/project/google_cse
의존성 관계로 Search 모듈도 활성화해야 한다.

2. admin/settings/google_cse 메뉴에 가서, Google Custom Search Engine ID 링크를 새 창으로 연다. http://www.google.com/coop/manage/cse/

3. 위 2의 구글 커스텀 검색엔진 사이트에서, 새로운 항목을 만든다.
물론 해당 사이트의 도메인을 입력하는 것을 잊지말자.
다 설정하고 나면 자바스크립트 코드를 보여준다. 전체를 복사해 둘 필요는 없다.
검색 엔진 ID라는 것만 복사해 두자. 형태는
00숫자숫자들4167401숫자숫자들2:영숫자문자들-특수영숫자문자들의
포맷일 것이다.

4. 다시 드루팔 사이트의 구글 CSE 관리화면(단계2의 화면)으로 와서,
Google Custom Search Engine ID: 항목에 위 3에서 얻은 검색엔진 아이디를 붙여넣고 저장한다.
*** 주의점 *** 이때 붙여넣기의 제일 뒷쪽에 스페이스가 들어가면 나중에 404 에러가 날 수 있다. http://drupal.org/search/apachesolr_multisitesearch/google%20cse%20404%2...
http://drupal.org/node/737912

5. http://해당 드루팔 사이트/search/google/에서 구글 검색을 임베이드한 결과를 볼 수 있다.
혹시 권한 문제가 있을 지 모르니, 사용자 > 권한 메뉴에서 google cse를 익명 유저도 볼 수 있게 하는 것이 좋겠다.

댓글

2020년 이후로 드루팔에 CSE를 적용한 적용하는 예 : 블럭에 구글 코드 삽입식

드루팔의 특정 블럭을 생성해서, 해당 본문에 아래 코드를 넣는다.

<div id=“search”>
  <gcse:search></gcse:search>
</div>

<script>
  (function() {
    var cx = ‘7376f0e6f699fedc4’;
    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>

* 구글폼에 입력후 엔터치면, 새 창 형태로 검색결과가 나옴.
* 코드 예 중의 cx는 https://cse.google.com/cse 에서 설정, 취득할 수 있다.
* 참고 : https://qiita.com/nekoneko-wanwan/items/07550fe8d86e8c563bab

이 모듈이 어느 순간부터 작동하지 않았다.검색어를


이 모듈이 어느 순간부터 작동하지 않았다.
검색어를 입력해서 아무 결과가 나오지 않는 문제였다.
http://drupal.org/project/google_cse
에 가서 최신판으로 업그레이드하면 문제가 해결됐었다.


6.x-1.2 tar.gz (15.16 KB) | zip (19.55 KB) 2008-Jul-26
를 아래와 같이 최신 개발판으로 적용해 문제 해결을 봄.
6.x-1.x-dev tar.gz (13.32 KB) | zip (16.83 KB) 2011-Feb-25