-1 C
New York
토요일, 1월 3, 2026

Buy now

Home Blog Page 275

구글맵 활용법 – 구글맵 API key 발급 방법

한국에는 조금 서비스가 미흡하지만 글로벌을 고려하려면 구글맵을 이용할 수 밖에 없죠. 포스팅시에도 특정 이벤트가 일어나는 지역등을 표시하기엔 구글맵이 제격입니다.

예를 들어 아래와 같이 일산호수공원과 월드컵공원 그리고 서울숲공원을 표시해보죠. 일산호수공원은 빨간색 마크, 월드컵공원은 파란색 그리고 서울숲공원은 노란색 마크로 표시해보죠

위와 같이 여러 장소를 표시하는 다중마커 사용법에 대해서는 다음 글을 참조해 보세요.

구글맵 활용법 – 여러 장소 표시하는 다중마커(Multi marker) 사용법

먼저 여기에에서는 구글맵을 이용하기위한 가장 기본적인 단계인 구글맵 API 키 발급하는 방법에 대해서 살펴봅니다.

1. 구글맵(Google 지도) 서비스 정책의 변화

이전에는 구글맵은 유료와 무료로 나누어졌었으며, 무료로도 어느 정도 서비스를 구축할 수 있을 정도의 지도 관련 데이타를 제공했었습니다.

그러나 2018년 6월 11일자로 구글은 기존 유료와 무료 서비스로 나누어졌던 서비스를 전부 유료 서비스로 단일화하고 서비스도 세가지로 단순화했습니다.

  • 브랜드를 Google 지도 플랫폼(Google Maps Platform)으로 통일
  • 제공 서비스를 지도(Map), 경로(Route) 그리고 지역 정보(Places)의 세가지 핵심 서비스 중심으로 통일
  • 사용자를 구글맵 플랫폼에 결제 계정을 등록하거나 ‘구글 클라우드 플랫폼’ 결제 계정이 있는 사용자만 사용할 수 있음
    따라서 구글 계정을 만들려면 신용카드가 있어야 함. 하지만 신용카드 정보를 제공했다고 자동으로 결제되지는 않고 유료 서비스 이용에 동의해야 함
    신용카드 정보 제공 요구는 계정 자동 등록을 막기 위한 장치에 더 가까움
  • 기본적으로 유료이지만 무료로 Google 지도 플랫폼을 사용할 수 있도록 월 $200 크레딧을 제공
    단 예전에 비해 무료 사용 범위가 크게 줄어 듬. 예전엔 하루 10만쿼리 에 해당하는 웹서비스 및 2만 5000건의 지도 로드 서비스를 무료로 제공했지만 지금은 월 28,500건 정도로 축소됨
    (이는 일 900여회)
  • 만약 구글맵 일간 페이지뷰가 약 900회(위에서 이야기한 월 28,500회)를 초과하면 지도 표시가 중단되기 때문에 비용을 내야 함
  • 참고로 구글맵 가격표에서 확인할 수 있듯이, 단순한 구글맵 Embed는 비용을 받지 않으며 서비스가 고도화 될수록 비용이 올라감
    . Embed Advanced/Dynamic Street View는 무료 사용을 월 14,000건으로 제한하며 100,000건까지는 월 $14를 받음
    . Dynamic Maps은 무료 사용량을 28,000건으로 제한하며, 100,000건까지 $7을 청구 등등
  • 참고로 우리나라에서 구글 지도 데이타는 SK텔레콤으로부터 제공받아 보여주고 있음 가끔 구글맵 업데이트가 느린 것은 한국 정부가 정밀 지도를 구글에 제공하지 않았기 때문이 아니라 구글과 SK텔레콤간의 문제라고 함

2. 구글 맵 서비스 이용을 위한 API 발급 방법

사이트에 구글맵을 삽입하려면 구글맵 API키를 발급 받아야 합니다. 앞서 이야기 한대로 여기서는 이 구글맵 API 키 발급 과정에 대해서 알아봅니다.

2.1. 구글맵 플랫폼 사이트

구글맵 API 키 발급받기 위해서는 구글맵 플랫폼 사이트를 방문해야 합니다. 당연하지만요.

구글맵 플랫폼 사이트는 아래 링크를 따라 이동합니다.

구글맵 플랫폼 사이기 바로가기

여기서 평소 구글 답지않게 화려한 도시 이미지의 구글맵 플랫폼 환영 페이지를 만날 수 있습니다.

구글맵 플랫폼 사이트 첫화면

여기서 시작하기를 눌러서 본격적으로 구글맵 플랫폼 사용 설정을 할 수 있습니다.

2.2. 구글맵(Google 지도)플랫폼 사용 설정

시작하기를 누르면 구글맵(Google 지도)플랫폼 사용 설정이 나옵니다.

구글맵 제품 선택

지도, 경로, 지역 정보 세가지가 나오는데 저는 무엇을 사용할지 확실히 정해지지 않았고 각기 어떤 의미를 가지고 있는 정확히 몰랐기 때문에 세가지 모두 선택했습니다.

구글맵(Google 지도) 플랫폼 사용 설정 - 선택

구글맵 프로젝트 설정

다음은 프로젝트를 설정하는 단계인데요.. 갑자기 메뉴가 영어로 변경되네요.
뭐 당황하지 말고 프로젝트 이름을 적고, 사용약관에 동의 후 다음 단계로 넘어갑니다.

구글맵 활용법 - 구글맵 API key 발급 방법 1

구글맵 결제 계정 등록

다음 단계는 결제 계정 등록 단계입니다. 여기서는 갑자기 한국어 메뉴로 바뀌는군요. 돈을 받는 단계라 중요하기 때문에 이 단계는 한글화 했던 것일까요?

구글맵(Google 지도) 플랫폼 사용 설정 - 결제 계정 설정

예전에는 구글맵을 무료로 사용할 수 있었지만 지금은 대부분이 유료로 변경되고 무료 사용도 일정 제약을 두고 있습니다.

어떤 정보를 보면 이 결제 단계를 뛰어넘을 수 있다고 합니다만 여기서는 통상 프로세스대로 진행합니다. 솔직히 새로 시작하면 이 결제단계를 뛰어 넘을 수 있는 방법이 있다는 것이 회의적입니다. 구글은 무조건 결제 계좌를 등록하라고 하니깐요.

구글맵은 월$200정도의 크레딧을 제공해 어느 정도 무료로 사용할 수 있지만 이 고객이 일정 정도 비지니스가 발전하면 당장 진짜 돈을 내는 고객으로 쉽게 전환할 수 있도록 만들고 있습니다.

조금 무서운 구글 정책이라는 생각이 들었습니다. 아무도 비니지스 시회가 없다고 생각했던 지도에서 어쩌면 굉장한 비니지스 기회가 올지 모르겠습니다. 지도를 이용한 서비스가 늘고 트래픽이 증가하면 상당한 비지니스 기회를 발견할 수 있을 것이라는 생각이 듭니다.

그렇지만 너무 쫄 필요는 없습니다. 본격적으로 비즈니스를 한다면 구급맵의 고급 기능들을 사용하겠지만, 저와 같이 블로그에 임베딩하는 목적이나 일반 사용자가 필요한 기능은 전부 무료이거나 상대적으로 무료 사용량이 많습니다.

  • 단순한 구글맵 Embed는 비용을 받지 않으며 서비스가 고도화 될수록 비용이 올라감
  • . Embed Advanced/Dynamic Street View는 무료 사용을 월 14,000건으로 제한하며 100,000건까지는 월 $14를 받음
  • . Dynamic Maps은 무료 사용량을 28,000건으로 제한하며, 100,000건까지 $7을 청구 등등
구글맵 지도 사용 가격, Google map price

아무튼 처음으로 구글 및 구글맵 계정에 왔기 때문에 당연히 결제 계정이 없겠죠.

결제 계정만들기를 눌러 다음 단계로 이동합니다.

결제 계정을 만든다고 당장 돈이 나가는 것이 아닙니다. 앞에서도 한번 말씀드렸지만 언제든지 과금을 할 수 있는 체계를 만드는 것과 무료 사용을 위해 자동 계정을 만들어 무료로 사용하려는 시도를 방지하는 목적도 있다고 하네요.

아래서 보시는 것처럼 우선 구글맵 플랫폼을 무료로 사용해 볼 수 있습니다. 12개월동안 무료로 사용해 볼 수 있는 $300의 무료 크레딧을 주기때문이죠. 아 지금은 $200 크레딧으로 변경되었네요.

서비스 약관과 아마 필수는 아니지만 변경 사항등을 메일로 받아보는 것은 나쁘지않으므로 이메일업데이트에 체크합니다.

구글맵(Google 지도) 플랫폼 사용 설정 - 구글 결제 계정 만들기 - 무료로 사용해보기 $300 무료 크레딧 받기
구글맵(Google 지도) 플랫폼 사용 설정 - 구글 결제 계정 만들기 - 무료로 사용해보기 $300 무료 크레딧 받기2
구글맵(Google 지도) 플랫폼 사용 설정 - 무료로 사용해보기 $300 무료 크레딧 받기 신청 완료

이 단계가 끝나면 API 사용 결정 단계로 이동합니다.

구글맵(Google 지도) 플랫폼 사용 설정 -  API 사용 설정

이 단계가 끝나면 거의 끝났다는 메세지와 함께 API key가 나타납니다.

그러면 이 키를 사용해할 수 있습니다.

구글맵(Google 지도) 플랫폼 사용 설정 -  API 키

그러면 구글맵 지도 상황을 보여주는 대시보드 페이지로 이동합니다. 여기에서 구글맵 트래픽 등 관련 상황 정보를 볼 수 있습니다.

아직 처음이니 아무런 정보가 없죠.

구글맵(Google 지도) 플랫폼 - 대시보드 개요

2.3. 사용자 인증정보

여기에서 사용자 인증정보에 보안을 적용하라는 메세지가 나옵니다.

이는 무료 서비스가 아니므로 불필요한 곳에서 또는 다른 사람이 이 서비스를 남용하는 것을 방지하고자 키 사용처를 제한 하는 것입니다.

예를 안드로이드앱에서만 사용한다든지 아니면 웹사이트에서만 사용할 수 있도록 제한하는 것이죠.
그리고 웹사이트에서 사용한다면 API 키를 사용할 수 있는 사이트를 제한, 등록할 수 있습니다.

또한 구글맵에서 제공하는 다양한 API가 있는데요. 굉장히 많은 API중 특정 API에서만 이 API 키가 작동하도록 API를 제한 할 수 있습니다.

저는 기본으로 ‘키 제한 안함’을 선택해서 모든 API에서 이 키로 사용할 수 있도록 했습니다.

구글맵(Google 지도) 플랫폼 - 대시보드 - API 키 제한 및 이름 변경

3. 마치며

이상으로 간단히 구글맵 API key 발급 과정에 대해서 살펴보았습니다.

특별한 정보가 있는 것은 아니지만 구글맵 관련 작업을 하다보니 조금 체계적으로 정리할 필요가 있어서 시리즈로 정리해 보려고 시작했습니다.

다음에는 구체적으로 구글맵을 어떻게 활용하는지 살펴보도록 하겠습니다.

참고

구글맵 활용법 – 여러 장소 표시하는 다중마커(Multi marker) 사용

[워드프레스 Tis] 구글맵 삽입 시 위치 정렬 방법

[유럽 여행 준비] 구글맵을 이용, 완벽한 여행 루트를 짜보자!

여행가방 하나로 유니콘이 된 어웨이(AWAY)의 브랜드 구축 방법 – 아마존을 이용하지 않기

0

모처럼 마음의 여유를 가지고 그동안 방치해 두었던 메일을 일기 시작했습니다. 그동안 열심히 구독 신청해 놓았던 수많은 뉴스레터들이 엄청 쌓여있기는 했습니다.

FORTUNE 뉴스레터중에는 여행 가방 스타트업기업이자 이제는 유니콘 기업이 된 어웨이(AWAY)의 브랜드 빌딩에 대한 이야기가 있어서 간단히 소개해 봅니다.

Why Away Doesn’t Sell Luggage on Amazon

아마존에 의지하지 않았기에 경제적 해자를 만들 수 있었다.

이는 Fortune에서 주관하는 Fortune Brainstorm Tech 2019에 출연한 AWAY 공동 창업자이자 최고 브랜드 책임자인 젠 루비오 (Jen Rubio)는 그들의 성공 요인중의 하나를 아마존에서 그들의 상품을 판매하지 않기로 결정했다는 점에서 찾고 있습니다.

어웨이는 당시 브랜드 강화에 도움이 될것이라고 여겨지던 아마존을 활용하지 않았습니다. 즉 아마존의 유통망을 이용하지 않고 독자적인 유통망을 개척하면서 경쟁자와 차별화되는 경제적 해자를 만들 수 있었다고 젠 루비오 (Jen Rubio)는 밝혔습니다.

여행가방 하나로 유니콘이 된 어웨이(AWAY)의 브랜드 구축 방법 - 아마존을 이용하지 않기 2
경제적 해자 Economic Moat

브랜드 차별점 (differentiator)

“정말로 브랜드나 상품을 좋아하기 때문에 그리고 끌린다고 생각해요. 그것이 바로 차별점(differentiator)이라고 봐요. 그렇지 못한 것들은 그냥 아마존에서나 살만한 것이죠. 그러고 저는 그 중간 지대락는 없다고 생각해요. 그래서 저는 우리만의 무기를 고수하고, 아마존 플랫폼에 의지하지 않는 것이 중요하다고 생각해요.”

“I really do think that you will have brands that you go to because you love the brand or the product, and that’s a differentiator, and everything else is a commodity that you’ll buy on Amazon. And I really don’t think there will be a middle space. So I think really just sticking to our guns, and not going on the [Amazon] platform was important for us.”

아마존은 고객 데이타를 공유하지 않기 때문에 브랜드 구축이 어렵다.

젠 루비오 (Jen Rubio)는 아마존이 아마존에서 구입하는 고객에 대한 데이타를 업체와 공유하지 않는다는 사실은 누가 우리 브랜드 도는 상품을 구매하는지에 대한 통찰을 얻지 못하게 만든다고 이야기합니다.

그리고 어웨이(AWAY)와 같은 소비자와 직거래하는 브랜드에게 있어서 고객 데이타는 매우 중요하다고 강조합니다. “우리에게 있어서 가장 중요한 것은 고객 관계이고, 어웨이(AWAY)는 고객 관계를 만듬으로써 브랜드 빌딩이 가능했습니다.”

“고객 지표를 수집하고 분석할 수 있게되면 어웨이(AWAY)이와 같은 브랜드가 다음 단계 마케팅 목표를 잡는데 도움이 됩니다. 진정으로 이야기하건데 이러한 고객 관계는 페이스북에서 광고를 더욱 쉽게 만들 수 있었습니다.”

일정 조건이 될때까지 아마존을 이용하지 않을 것

어웨이(AWAY)는 브랜드 빌딩을 위해서 영원히 아마존을 활용하지 않을까?

젠 루비오 (Jen Rubio)는 그들 브랜드 관리를 위한 조건이 성숙할때까지는 아마존을 이용하지 않겠다고 합니다.

“아마존을 절대로 이용하지 않겠다고 이야기하는 것은 아니예요. 다만 현재처럼 아마존이 제공하는 조건으로는 아마존에 들어가지 않는다는 것은 분명히 약속드릴 수 있습니다. 지금 아마존은 분명 고객이 많응 대규모 플랫폼이지만 거기에 대규모 판매하는 매스 브랜드로는 진입하지 않을 것입니다.”

기타

여행가방 스타트업 어웨이(AWAY)의 성공 전략에 대해서는 아래 글을 참고해 보세요.

여행가방 스타트업 어웨이(AWAY)는 어떻게 업계를 흔들고 있는가?

아마존을 통한 비지니스에 대해서는 아주 상반적인 두가지 글을 참조하면 좋을 것 같습니다.

아마존에서 브랜드 구축이 어려운점 – 패션과 화장품을 중심으로

아마존에서 브랜드를 구축해야하는 4가지 이유

브라우저에 기생하는 멀웨어 News-easy.com 팝업 광고 삭제 방법 – 크롬을 중심으로

오늘은 갑자기 등장해 저를 괴롭히던 뭘웨어 팝업 광고를 제거하는 방법에 대해서 살펴보도록 하죠.

갑자기 뜨기 시작하는 아주 이상한 광고들

아주 이른 여름 휴가를 다녀온 후 컴퓨터를 사용하는데 갑자기 윈도우즈10 알림창에서 이상한 알림이 계속 뜨기 시작하네요.

내용도 상당히 무시무시한 내용에서부터 아주 야한내용까지 다양한 알림 팝업이 뜨는데 아주 당혹스러웠습니다. 말로만 듣던 멀웨어가 설치된것 같습니다.

그렇게 뜨는 알림 팝업중에서 그나마 얌전한 이미지를 아래에 소개해 봅니다.

브라우저에 기생하는 멀웨어 News-easy.com 팝업 광고 삭제 방법 - 크롬을 중심으로 3
브라우저에 기생하는 멀웨어 News-easy.com 팝업 광고 삭제 방법 - 크롬을 중심으로 4

처음에는 도대체 이게 뭔지 몰라 무지 당황했죠. 해서 최근에 설치한 프로그램 리스트에 이상한 프로그램이 있는지 확인하고, 시작 프로그램에 잘 모르는 이상한 프로그램이 시작되는 것이 아닌지 점검해 보기도 했습니다.

아무리해도 뚜렸한 혐의가 있는 프로그램 또는 앱을 발견하지 못해 운영체제 전체를 다시 설치하는 것을 진지하게 고민학도 했습니다. 그러나 막상 포맷을 하고 다시 설치하려니 너무 귀찮긴하더군요. 최소 몇시간은 지루한 작업을 해야하므로..

그러다가 알림 화면에 Chrome이라는 단어가 계속 등장하고 설치된 프로그램을 시간순으로 정렬해보니 크롬이 가장 최근에 설치한 것으로 나오더군요. 그래서 크롬이 문제구나는 감을 잡고 크롬 자체를 삭제하니 이 이상한 알림 광고 팝업은 더 이상 나타나지 않더군요.

그렇다고 크롬을 사용하지 않을 수는 없으니 크롬을 다시 설치했는데 기존에 설치되었던 설정이 남아 있어서인지 여전히 알림 팝업이 뜹니다. 이를 어찌할꼬..

구글 검색을 거듭하다보니 News-easy.com 멀웨어 팝업 광고를 제거하는 방법을 소개한 글들을 발견했습니다. 외국에서는 문제가 많이 되었나보더군요.

How to remove News-easy.com pop-up ads (Virus Removal Guide)

멀웨어 News-easy.com 팝업 광고 제거 방법

News-easy.com 팝업 광고 제거 방법은 간단합니다. 이는 브라우져의 알림 기능을 이용하므로 브라우져 알림 기능에서 News-easy.com이 화이트 리스트에 올려져 있다면 삭제하고, 아니면 블랙리스트에 올리면 됩니다.

어떻게 하냐구요? 크롭의 경우로 설명합니다.

크롬 설정으로 진입

먼저 이는 크롭의 설정(S)으로 들어갑니다. 설정은 크롬 화면 맨 오른쪽 최상단에 있는 점3개짜리를 눌러 들어갈 수 있습니다.

크롬 설정 화면- 크롬 우상단의 점 세개짜리 마크를 누른다

크롬 – 설정 – 고급 – 사이트 설정으로 이동

크롬 설정 화면의 아래쪽에서 고급 설정으로 이동할 수 있습니다.

고급 설정은 개인정보 및 보안, 언어등으로 구성되어 있는데요. 이 중 앞 부분 개인정보 및 보안 내용 중 사이트 설정으로 이동합니다.

브라우저에 기생하는 멀웨어 News-easy.com 팝업 광고 삭제 방법 - 크롬을 중심으로 5

알림 설정으로 이동

사이트 설정의 여러 항목 중 알림으로 이동합니다.

브라우저에 기생하는 멀웨어 News-easy.com 팝업 광고 삭제 방법 - 크롬을 중심으로 6

알림 설정에서 화이트리스트 또는 블랙리스트 설정

알림 설정에 보면 허용 리스트에 News-easy.com이 포함되어 있으며 이를 삭제합니다.

그리고 저는 차단 리스트에 News-easy.com를 올려놓았습니다. 이러면 문제는 해결됩니다.

브라우저에 기생하는 멀웨어 News-easy.com 팝업 광고 삭제 방법 - 크롬을 중심으로 7

마치며

이렇게 크롬 설정에서 알림 부분을 조정하는 방법도 있지만 크롬의 광고 기능 또는 애드 블럭 기능을 사용해 이러한 뭘웨어 팝업 광고를 막을 수도 있습니다.

아니면 이런 멀웨어를 삭제해주는 백신 프로그램을 설치해 막을 수도 있습니다.

저는 추가로 뭔가를 설치하는 것이 싫어서 그냥 크롬 세팅을 변경하는 것으로 끝냈습니다.

워드프레스 테마와 플러그인의 저가 판매 사이트는 안전할까?

예전엔 기본 기본 기능에 만족하다보니 새롭고 보다 고차원적인 기능에 대한 고민이 없습니다. 그런데 어느 순간부터 다양한 기능 구현을 고민하게 되었고 이를 위해서 다양한 플러그인을 찾게 되었죠.

원하는 기능을 무료 플러그인으로 해결할 수 있다면 좋겠지만 점점 괜찮은 기능을 제공하는 플러그인은 유료화되고 있기 있어 비용 문제와 부딕치게 됩니다.

그러다보면 원하는 테마나 플러그인을 무료로 배포하거나 저렴하게 판매하는 사이트의 유혹을 받게 됩니다.

솔직히 이런 유혹에 지지않을 자신이 별로 없더군요. 그러면서 이런 사이트를 이용하는 것이 문제는 없는지 모험할 가치가 있는지 끊임없이 자문하게 되는데요. 그런 측면에서 간단히 생각들을 정리해 보았습니다.

1. 테마나 플러그인을 저렴하게 판매하는 사이트

예전에 가능하면 플러그인 사용 자체를 자제하는 것이 성능에 최고로 좋다는 생각을 가지고 있었기 때문에 플러그인 판매 사이트들에 대해서 큰 관심이 없었습니다.

가장 큰 테마 및 플러그인 판매 사이트인 띰포레스트(thethemeforest.net)나 DIVI 사이트 정도 알고 있었고 여기 중심으로 필요한 정보나 테마를 구입했었습니다.

1.1. 생각보다 워드프레스 관련 비지니스가 다양하고 최근 유료화 경향을 보인다.

그런데 플러그이에 대해서 관심을 가지고 검색을 해보니 이외에도 자체 테마나 플러그인을 판매하는 사이트들이 굉장히 많더군요.

그리고 최근 몇년사이에 기존 무료로 제공하던 테마나 플러그인들이 점점 유료화로 방향을 틀고 있다는 것을 알 수 있었습니다.

프리미엄(Freemium) 비니미스 모델을 차용해 일부 기능은 무료 플러그인에서 제공하고 보다 고차원적인 기능은 유료로 제공하는 프로 버젼으로 업그레이드하도록 유도하죠.

1.2. 저렴하게 테마나 플러그인을 판매하는 사이트들이 증가하다.

또한 기존 테마를 저렴하게 판매하는 사이트들을 점점 더 많이 발견할 수 있습니다. 이들은 입수한 워드프레스 테마나 플러그인을 저렴한 비용 또는 연간/월간 회비를 받고 배포하고 있습니다.

몇년전 글들에서는 이와같은 비니지스를 하는 곳은 몇개 없었지만 지금은 상당히 많은 사이트를 발견할 수 있었습니다.

대충 검색해보아도 아래처럼 많은 사이트를 발견할 수 있었습니다. 생각보다 쉽게 발견할 수 있고 많이 있다는 것을 알 수 있었습니다.

더 놀라운 것은 워드프레스 테마 및 플러그인을 판매하는 띰포레스트(thethemeforest.net)에서도 개별로 판매는 하지 않지만 연간 회원제에 가입하면 120만개에 해당하는 테마, 플러그인 그리고 폰트 등의 콘텐츠를 다운 받을 수 있다는 점입니다.

워드프레스 테마와 플러그인의 저가 판매 사이트는 안전할까? 8

2. 이들 사이트는 합법적일까?

유료로 판매하는 테마나 플러그인을 저렴한 비용으로 재판매하는 것은 합법적일까요?

읻ㄹ 사이트에서는 이러한 저가 판매가 완전히 합법이라고 주장하고 있습니다. 이들이 가격을 획기적으로 낮출 수 있는 것은 테마나 플러그인 이용 시 어떠한 지원도 하지 않기 때문이라고 합니다.

즉 워드프레스 테마나 플러그인의 가격은 소프트웨어 자체의 가격 + 지원으로 구성되는데 지원 비용을 없애고 합리화 했다는 것이죠.

굉장히 많은 곳에서 이러한 비지니스를 하고 있는 것을 보니 이를 불법이라고 치부할 수만 없다는 생각이 들더군요.

더구나 가장 많은 테마와 플러그인을 판매하는 띰포레스트(thethemeforest.net)에서도 유사한 비지니스를 하고있는 상황이 말입니다.

조금 더 정밀하게 검토해 보아야겠지만 아주 저렴한 가격으로 판매하거나 회원제로 전체 테마나 플러그인을 다운로드할 수 있는 비지니스 모델은 아래와 같은 원칙에 따라 가능하다고 합니다.

“GPL(General Public License)에 따라 라이센스가 부여된 프로그램을 구입한 경우 사용, 배포 등 모든 행동은 구매자의 자유”라는 것이죠. 한국에서도 그런것인지는 모르겠습니다.

GPL은 아래와 같은 4가지 기본적인 자유를 보호하도록 설계된 오픈 소스 소프트웨어 라이센스라고 하네요.

  • 어떤 목적으로도 소프트웨어를 사용할 수 있다.
  • 소스 코드에 대한 연구를 통해 소프트웨어가 어떻게 작동하는지 연구하고 이를 자유롭게 변경할 수 있다.
  • 소프트웨어를 자유롭게 배포할 수 있다.
  • 소프트웨어를 개선하고 그 개선 사항을 자유롭게 배포할 수 있다.

3. 이들 사이트 이용은 어떤 위험이 있을까?

이런 사이트를 이용하면 저렴하게 워드프레스 테마나 플러그인을 사용할 수는 있지만 또 다른 위협에 노출될 수 있다고 합니다.

3.1. 보안 문제

이러한 사이트 이용을 반대하는 측에서 가장 먼저 주장하는 것이 바로 보안 문제입니다.

이러한 사이트에서 제공하는 테마나 플러그인에는 멀웨어나 악성코드가 심어져 있을 가능성이 있다는 것입니다.

또한 이들 악성코드는 여러 파일에 분산되어 있어 팀지하기가 매우 어렵기에 사이트를 안전하게 지키기는 어렵다는 점을 들고 있습니다.

  • 플러그인이 해킹되면 사이트 데이타가 손상 가능성
  • 멀웨어가 서버 또는 호스팅 플랫폼 전체 사이트로 확산 가능성

3.2. 기밀 문제

멀웨어나 악성코드는 사이트 자체를 파괴할 수도 있지만 사이트에서 중요하게 다루어야할 정보들을 빼낼 수 있습니다.

각종 사이트 회원 정보들이 외부로 유출 될 수 있습니다. 더우기 이커머스 사이트라면 결제단계에서 신용카드 정보 등등의 아주 민감한 정보를 빼낼 수도 있죠.

3.3. SEO에 악영향을 미칠 수 있다.

해킹된 워드프레스 테마는 사이트에 스팸 링크를 추가하거나 방문자를 다른 사이트로 리다이렉트할 수 있습니다.

검색엔진은 이러한 이러한 수상환 활동을 눈치채고 사이트의 검색 등급을 낮추거나 심지어는 이런 사이트를 검색 리스트에서 제외해 버릴 수 있습니다.

4. 마치며

워드프레스 테마나 플러그인을 저렴하게 판매하는 사이트들은 나름 근거를 가지고 비니니스를 하는 것으로 보입니다.

그리고 보안 등등으로 위험하다는 주장을 충분히 알고 있기 때문에 자신들은 테마나 플러그인 제작자로부터 직접 받는 파일을 그대로 올리며, 보안 프로램으로 철저하게 검사해 안전하다는 점을 강조하고 있습니다.

그들이 공개적으로 판매를 한다는 점에서, 그리고 그것이 불법도 아니라는 점에서 악성 코드나 멀웨어를 심어서 자기 비지니스를 위험하게 만들 가능성은 그리 높지는 않다는 것이 합리적인 추정이라는 생각이 듭니다.

그러나 위험을 방지하는 것은 아무리 조심해도 지나치지 않죠. 조금이라도 위험을 줄일 수 있는 방법을 사용해햐 한다는 생각입니다.

마치 보험을 들듯이 예상치못한 위험을 최소화하기 위해서는 가장 정상적인 루트로 테마와 플러그인을 구입하는 것이 좋겠습니다.

최근 떠오르는 웹 디자인 트렌드 13

2

어느 분야도 마찬가지지만 웹 디자인부분도 빠르게 변화하면서 새로운 웹 디자인 트렌드들이 등장하고 새로운 시도들이 끊임없이 시도되고 있죠.

근래 나타난 웹 디자인 트렌드에 대해 아주 간략히 정리한 글이 있어 저자의 허락을 받아 번역 공유해봅니다. 의역 및 직역이 섞여 있습니다.

여기서는 대단한 지식을 알려주지는 않습니다. 그것은 다른 영역이겠죠.

여기서는 웹 디자인 부분에서 고려되고 있는 트렌드에는 이런 것이 있다는 것을 아주 간단히 알려줍니다. 트렌드를 간단히 파악하기에는 좋다는 생각을 했습니다.

Hot 13 Web Designing Trends That Will Make an Impact in the Coming Year

지난 4~5년 동안 웹 디자인 업계에서는 주목할만한 변화들이 있었습니다. 반응형 웹디자인 도입에서 동영상 수용 그리고 사용자 경험의 중요성 대두와 같은 웹 디자인업계를 뒤흔드는 엄청난 혁명적 변화를 수반해 왔습니다.

지난 5년간 웹 디자인 변화가 진정 혁명적이었다면 앞으로 다가올 몇년앞에는 무엇이 놓여져 있을까를 고민해 보았습니다.

향후 5년간 웹 디자인 트렌드는 어떻게 변화할까요? 정말 흥미로운 질문이 아닐 수 없죠. 여기서는 지금으로부터 2025년까지 누구난 열광하게될 웹 디자인 트렌드에 대해서 살펴보죠.

1. AI와 사이버 보안

요즘에는 맬웨어(amlware)와 사이버 보안 위협을 탐지하는 전통적인 방법은 실패를 거듭하고 있습니다. 사이버 범죄자들은 끊임없이 방화벽을 우회하는 새로운 방법을 찾아내고 있습니다.

다가오는 미래에는 로봇이 사이버 보안 분야에서 큰 변화를 일을킬 것입니다. 개발자들은 고객 지원서비스부터 분석 트렌드, 이미지 인식까지 모든 것을 도와줄 수 있는 AI(인공지능) 구축 방법을 배우고 있습니다.

AI(인공지능)는 저렴하고 매우 효율적이기 때문에 향후에는 분명히 사이버 보안의 미래가 될 것입니다.

사이버 보안 해커 hacker-1872291

2. 사용자 편의성과 전환율을 경이적으로 높여 줄 모션 UI(Motion UI)

웹 개발과 웹 디자인은 끊임없이 혁명적으로 변화하고 있습니다. 이 분야의 트렌드는 상상할 수 없을만큼 빠르게 변화하고 있습니다.

모션 UI(Motion UI) 가 제대로 구현되면 더 나은 방법으로 사용자의 주의를 끌 수 있습니다.

아시다시피 오늘날 (사용자들이) 관심을 가지는 영역이 빠르게 줄어들고 있습니다. 따라서 향후 몇년간은 방ㅁ자의 참여를 유지하기 위해서 모션 UI를 더욱 더 사용할 것입니다.

3. 워크로드 간소화를 위한 API 중심 디자인 설계 방식 채택

요즘은 IoT 등장으로 우리 세계는 점점 더 긴밀하게 연결되고 있습니다. 이는 각 응용 프로그앰들이 더 많은 API가 필요하다는 것을 의미합니다.

API 중심 디자인 설계 방식은 병렬적 작업이 가능해지면거 생산성과 효율성을 높일 수 있습니다.

이는 응용 프로그램의 개발 비용을 낮추는 코드 재사용이 가능하며 개발자는 향상된 사용 경험과 실패 위험을 낮출 수 있습니다.

4. 고객 서비스 비용을 줄여주는 채팅

2025년에는 인공지능으로 작동하는 챗봇들이 실질적인 고객 서비스 채널이 될 것입니다. 오늘날의 고객들도 즉각적인 챗봇들의 반응에 감사하고 있습니다.

2020년말까지 이러한 챗봇의 영향력은 크게 증가할 것입니다. 조사에 따르면 고객 상호작용의 85%는 챗봇에 의해 발생할 것으로 전망되고 있습니다.

이러면 고개 서비스 비용이 크게 절감될 것으로 전망됩니다.

모바일 채팅 화면 Photo by Christian Wiediger

5. 새로운 경험을 제공할 자바스크립트

자바스크립트는 유연성과 파워로 새로운 상요 경험을 제공할 것입니다.

지난 10년동안 자바스크립트는 웹 사이트개발에 가장 널리 사용되는 프로그래밍 언어였습니다.

Angular, React.js 및 Vue.js와 같은 새로운 언어와 프레임 워크를 통한 프레임 워크, 라이브러리 및 디자인의 발전으로 인해 앞으로도 계속 발전 할 것입니다.

6. 모바일 앱에서 차세대 프로그레시브 웹 애플리케이션으로 진화

프로그래시브 웹앱이 가장 인기있는 웹 트렌드가 될 것입니다.

이러한 PWA(Progressive Web App) 앱은 일반 웹 페이지와 유사하지만 더 다양한 기능을 탑재하고 있습니다.

여기에서 사용자는 즉각적이고 독립적이고 신뢰할 수 있는 매력적인 사용자 경험을 얻을 수 있도록 만듭니다.

7. 성능 향상을 위한 단일 페이지 응용프로그램

단일 페이지 응용 프로그램(Single Page Application, SPAs)은 모든 재부분의 사용자 기기에서 잘 작동하는 자바스크립트를 기반으로 만들어집니다.

페이지를 새로고침하지 않고도 동작인 작동으로 단일 웹페이지를 구현하기 때문에 사용자 환경을 개선하고 중단을 최소화합니다.

이 단일 페이지 응용 프로그램(Single Page Application, SPAs)은 태블릿, 데스크탑 및 모바일을 지원함에 따라 다음반응형 웹 개발 시 단일 페이지 응용 프로그램(Single Page Application, SPAs)를적용하는 것이 좋습니다.

8. 정적 웹사이트는 여전히 존재

완벽한 웹 사이트 개발 시 비용 효율을 중시한다면 정적 웹 사이트는 이러한 목적에 부합할 수 있습니다.

정적 웹 사이트는 간단하고 복잡하지 않으며 빠른 로딩이 가능합니다, 이것이 정적 웨 사이트가 사라지지 않을 이유입니다.

9. RAIL 컨셉은 즐거운 사용자 경험 제공

2015년년부터 RAIL(Response Animation Idle Load designing) 컨셉이 적용되기 시작했습니다.

이 디자인 트렌드는 주로 더 빠른 로드 시간 및 더 뛰어난 웹 사이트 성능이 가능케 합니다.

RAIL(Response Animation Idle Load designing) 컨셉은 사용자 중심 접근법을 따르는 웹 디자이너에게 매우 유용할 것입니다.

10. 사용자 행동 추적이 필수 접근 방식이 되다.

사용자의 온라인 행동은 사용자 행동 추적을 통해수 분석할 수 있습니다.

즐거운 사용 경험을 재공하기 위해서 클릭 수, 사용자 상호 작용 및 마우스 이동을 분석합니다.

다음에 웹 사이트를 구축한다면 사용자 행동 추적 솔류션을 사이트에 통하는 것이 필요합니다.

11. 음성 검색 최적화

음성 검색 최적화는 전 세계의 주요 검색 엔진에 영향을 미치는 주요 트렌드가 되었습니다.

현재, 시리, 알렉사, 구글 어시스트들이 검색 기능에 사용되고 있으며 2020년에는 거의 50%의 검색 쿼리가 음성으로 이루어질 것으로 예상됩니다.

아마존 에코 amazon-echo 02

12. 타이포그래피(Typography)의 긍정적인 역활

웹사이트를 디자인하고 개발할 때, 타이포그래피와 글꼴 선택은 절대로 무시할 수 없고 또 그렇게 해서는 안 됩니다.

타이포그래피는 사용자 경험, 사용자 인식, 가독성, 심지어 기분까지 포함한 수많은 필수 요소에 영향을 미칩니다. 이러한 경향은 현대 웹 디자인에서 선도적인 트렌드로 오랫동안 지속될 것으로 예상됩니다.

13. 삽화(Illustration) – 보다 효과적인 메세지 전달 방식

삽화, 타이포그래피, 제반 양식은 웹 사이트를 보다 사용자 친화적이고 대화형으로 만드는 데 유용합니다.

삽화를 통해 메시지를 효과적으로 전달하고 텍스트의 필요성을 줄일 수 있으며 웹 사이트를 보다 매력적이고 주의를 끌 수 있습니다.

삽화를 이용하는 이유는 바로 그 때문입니다. 이러한 경향은 향후에도 가장 중요한 웹 개발 및 디자인 트렌드로 남을 것입니다

결론

웹사이트를 개발하는 데는 많은 노력이 필요하지 않습니다. 하지만, 그것은 훌륭한 웹사이트를 만드는 데 도움이 됩니다.

사용자 요구와 기대가 커가는 것을 따라잡기 위해서는 자신의 기술을 업데이트하고 새로운 기술과 프레임워크를 학습해야 합니다.

5년이 지나면 웹 사이트가 현재와 전혀 다른 방식으로 보이고, 느끼고, 작동할 것이라는 것에는 의심의 여지가 없습니다.

위에서 논의되는 트렌드는 기존의 인터페이스를 대체하지 않고 보완할 것입니다. 이러한 최신 업데이트는 과거를 지우지 않고도 미래를 보여줄 수 있을 것입니다.

이 글은 puripia.com의 블로그에도 같이 실렸습니다.

최근 대두되는 웹 디자인 핫 트렌드 13

[쇼핑몰 구축기] 최고의 워드프레스 검색 엔진을 찾자

쇼핑몰이 커지면서 쇼핑몰이가지고 있는 아주 다양한 정보를 쉽고 빠르게 검색할 수 있으려면 아무래도 워드프레스 자체가 가진 검색 능력을 뛰어 넘어야 합니다.

하여 워드프레스 기본 검색 엔진을 대체할 수 있는 다양한 검색 엔진들을 살펴보고 어는 것이 적절한지 함 살펴 보도록 하겠습니다.

[검색 고도화] 최고의 검색 엔진을 찾자

쇼핑몰 구축기를 연재하는 이유

최근 지인이 워드프레스를 이용해 쇼핑몰 구축을 시도하면서 배웠던 배웠던 다양한 경험들을 해당 쇼핑몰 블로그에 연재해 왔는데요.

쇼핑몰이 상품만 파는 것이 아니라 쇼핑몰을 방문하는 고객들에게 열가지 유용한 정보를 제공하는 블로그의 효용성이 높다는 점을 십분 활용하고, 처음 시작하는 쇼핑몰의 신뢰성을 주기 위해 비록 삽질이지만 삽질기를 낱낱히 공개하기로 했다고 하네요.

그 쇼핑몰의 주소는  https://puripia.com로 아직도 공사중이기는 합니다.) 

쇼핑몰 구축 시 도와주었던 인연으로 그 쇼핑몰을 알리고 쇼핑몰 구축 경험담을 보다 널리 알리기 위해서 여기 happist.com에도 같이  공유합니다. 조금 사심이 있기는 합니다.

[검색 고도화] 최고의 검색 엔진을 찾자

앞선 포스팅에서 쇼핑몰에서 검색 폼을 만들고 라이브 서치(Live Search) 기능을 추가하는 등 검색 편리성을 중점으로 살펴보았다면 여기서는 검색 질을 높일 수 있는 검색엔진에 대한 이야기를 살펴보기로 합니다.

들어가며, 검색관련 세가지 프로세스

검색 관련해서는 사이트 내용을 잘 정리해 빠르고 정확하게 검색을 할 수 있게 만드는 검색 엔진과 검색할 수 있도록 검색 양식을 만드는 검색폼 그리고 검색 결과를 어떻게 보여줄 것인가라는 세가지 프로세스가 있습니다.

첫번째, 검색엔진 – 사이트 내용을 잘 정리(Index)해 데이타베이스화 : 워드프레스 기본 검색 엔진, WPSolr, SearchWP, Relevanssi – A Better Sear

[검색 고도화] 최고의 검색 엔진을 찾자

두번째, 검색폼 – 검색을 어디에서나 쉽게 할 수 있는 검색창 구현

[검색 고도화] 메뉴에 검색 기능 추가하기

세번째, 검색 결과를 어떻게 보여줄 것인가

[검색 고도화] 라이브 서치 기능 추가하기

[검색 고도화] 라이브 서치 플러그인 SearchWP Live Ajax Search 제대로 사용하기

여기에서는 이러한 세가지 프로세스 중에서 워드프레스 자체 콘텐츠를 제대로 정리하고 데이타베이스화해서 제대로 빠르게 정확하게 검색하는 기본이 되는 검색엔진에 대해서 살펴보겠습니다.

구글에서 검색엔진을 검색하면 주로 검색엔진 최적화(SEO) 관련 내용이 대부분인데요. 여기서는 그런 검색엔진 최적화(SEO)가 아닌 워드프레스 쇼핑몰 자체 콘텐츠 검색을 제대로 해줄 수 있는 검색엔진 또는 검색엔진 플러그인은 무엇이 있는지 살펴보겠습니다.

물론 사이트가 초기 단계라면 솔직히 검색량이 많지 않기 때문에 워드프레스 기본 검색엔진을 사용하면 됩니다.

그러나 콘텐츠가 증가하고 취급 상품 그리고 상품 및 서비스에 대한 리뷰 등등 콘텐츠가 많아지면 이용자가 원하는 정보를 바로 찾을 수 있게 만드는 것 또한 중요한 경쟁 포인트가 될 수 있기 때문에 워드프레스 기본 검색엔진을 뛰어넘는 새로운 검색엔진을 찾게 되는 것이죠.

다른 좋은 플러그인도 많지만 여기에서는 워드프레스에 설치형 중심으로, 대형 사이트에 맞춘 WPSolr, 중소형 사이트에 맞는 SearchWP 그리고 무료로도 훌륭한 Relevanssi – A Better Searc라는 세개를 살펴봤습니다.

1. WPSolr

WPSolr은 강력한 검색 플랫폼인 ElasticsearchApache Solr를 이용해 검색 결과를 정교화할 수 있으며, 그 형태는 아마존이나 이베이와 같은 초대형 쇼핑몰과 비슷한 방식으로 검색을 할 수 있게 만들며, 더 나아가 대규모 데이타베이스하에서도 엄청나게 빠른 속도로 검색이 가능하다고 주장하고 있습니다.

1.1. 주요 특징

  1. WPSolr는 대규모 사이트에서의 검색 솔류션을 지향합니다. 위에서 잠깐 언급했듯이 규모가 있는 워드프레스 사이트 또는 우커머스 사이트에서 몇백만개의 검색 결과를 순식간에 검색한다고 쥬장하죠.
  2. 사용자가 검색 때문에 스트레스를 받지 않토록 아마존이나 이베이와 같은 쉬우면서도 강력한 검색이 가능합니다.
  3. 굉장히 다양한 플러그인들고 호환, 작동합니다. 우커머스, Advanced custom fields, WPML 및 Polylang, TablePress, bbPress, PDF Embedder, Google doc Embedder 등
[쇼핑몰 구축기] 최고의 워드프레스 검색 엔진을 찾자 9

1.2. 가격

유감스럽게도 이 WPSolr 플러그인은 무료로 상요할 수는 없습니다. 물론 일정기간 테스트 사용 기간은 있지만 말입니다.

  • 연간 계약 시 199유로
  • 월간 계약 시 월 29유로

2. SearchWP

SearchWP는 무료 라이브 서치 플러그인으로 널리 알려진 SearchWP Live Ajax Search을 배포하는 곳에서 제공하고 있는 워드프레스 검색 플러그인입니다.

플러그인측에서는 이 검색 플러그인은 중소형 사이트에 적합하다고 밝히고 있습니다. SearchWP was designed and built to work best on small-to-midsize WordPress sites

수만개, 수십만개의 콘텐츠가 있는 사이트라면 다른 방안을 찾으라고 권고 하고 있습니다.

2.1. 주요 특징

이 플러그인의 장점은 아래와 같이 정리해 볼 수 있습니다.

  • 매우 다양한 기능
  • 사이트를 정교하게 검색할 수 있도록 다양한 필터를 제공하고 콘텐츠 특성별, 분류 체계 그리고 사용자 지정 필드 등등에 다양한 방식으로 가중치를 둘 수 있음
  • 우커머스, 다른 이커머스 플러그인 지원, PDF 검색 등 다양한 프리미엄 기능
  •  WooCommerce IntegrationRelated ContentRedirectsMetrics. 와 같은 프리미엄 확장 기능을 통해 검색 관련 경험 및 관리를 최적으로 할 수 있는 가능성을 높임
SearchWp 소개_워드프레스 검색 기능과의 비교

2.2. 가격

마찬가지로 이 SearchWP은 전부 유료 플러그인입니다.

  • 1개 사이트에 적용 가능한 Standard Version – 99$
  • 5개 사이트 적용 및 프리미엄 확장 기능이 있는 Pro Version – 149$
  • 무제한 사이트 적용 및 프리미엄 확장 기능이 있는 Pro Plus version – 299$

3. Relevanssi – A Better Search

Relevanssi는 워그프레스 사용자 검색 시 가장 연관성이 높은 검색 결과를 보여주겠다는 것에서 이름을 따왔습니다.

Relevanssi 플러그인은 무료/유료 기능으로 나누어지는데요. 무료 기능중에서는 가장 파워플한 기능을 제공합니다.

Relevanssi hero

3.1. Relevanssi 특징

Relevanssi의 무료 버젼의 특징을 아래와 같이 정리해 볼 수 있습니다.

  • 검색 결과를 연관성이 높은 순서로 보여줍니다.
  • Fuzzy matching – 비록 완벽하게 일치하지는 않터라도 부분적으로 일치하는지를 판단해 보여줍니다.
  • OR 또는 AND 검색
  • 문구 및 인용문 검색 가능
  • 검색 결과를 강조 기능
  • 댓글, 태그, 카테고리 및 커스텀 필드 검색 가능
  • 멀티 사이트
  • bbPress, WPML 및 Members 지원
  • 구글 스타일의  “Did you mean?” suggestions

프리미엄 버변은 이외에도 다음과 같은 기능들을 제공합니다.

  • 첨부 파일 및 PDF 파일 색인
  • 서브 사이트간 검색
  • 카스텀 필드 검색
  • 사용자 프로파일과 분류 용들에 대한 색인 및 검색 지원
  • 유형별 가중치 부여해 검색 결과를 향상시킬 수 있는 기능 지원

3.2. 가격

Relevanssi 일반 버젼은 무료로 사용할 수 있습니다.

그러나 보다 더 전문적인 기능을 원하면 프리미엄 버젼을 사용할 수 있는데요.

  • 사이트 제한없는 연간 이용권은 108.9$
  • 사이트 제한없는 영구 이용권은 383.9$

3.3. Relevanssi의 치명(?)적인 단점

생각하기에 따라서 치명적인 단점으로 이야기될 수 있는 문제가 있습니다. 즉 한국어나 일본어와 같은 동양권 언어를 제대로 지원하지 않습니다.

Relevanssi에서는 그렇기 때문에 한단어 검색같은 기능이 작동하지 않습니다. 즉 검색 옵션에서 한 글자만 입력해도 검색 결과가 나오도록 설정해도 두글자를 입력해야 그 때부터 검색결과가 보입니다.

첫 글자부터 검색 결과가 나오길를 원한다면 Relevanssi를 사용하기 어렵겠다는 생각입니다. 저도 이것때문에 어청 헤매다 포기했습니다.

그리고 이 Relevanssi 플러그인은 별도의 라이브 서치 기능을 제공하지는 않습니다. 여기에서는 이전에 소개했던 “SearchWP Live Ajax Search” 를 가장 좋은 라이브 서치 플러그인으로 추천하고 있습니다.

4. 마치며

위에서 쇼핑몰에 적용할 여러 검색 엔진을 살펴보았는데요.

다들 뛰어난 검색 엔진이기는 하지만 대규모 사이트에 적합하는 WPSol는 아무래도 부담스럽고, Relevanssi는 위에서 언급한대로 동양 언어와 궁합이 좋지 않다고하므로 라이브 서치 SearchWP Live Ajax Search과 궁합을 고려해서 우선 SearchWP를 사용하면서 그 사용성을 검증해보려고 합니다..

[쇼핑몰 구축기] 라이브 서치 플러그인 SearchWP Live Ajax Search 제대로 사용하기

앞서 포스팅했던 라이브 서치 기능 추가 방법에서 소개한 여러 플러그인 중에서 SearchWP라는 괜찮은 검색 업체에서 제공하는 SearchWP Live Ajax Search 플러그인을 제대로 사용하는 방법에 대해 살펴봅니다.

[검색 고도화] 라이브 서치 플러그인 SearchWP Live Ajax Search 제대로 사용하기

쇼핑몰 구축기를 연재하는 이유

최근 지인이 워드프레스를 이용해 쇼핑몰 구축을 시도하면서 배웠던 배웠던 다양한 경험들을 해당 쇼핑몰 블로그에 연재해 왔는데요.

쇼핑몰이 상품만 파는 것이 아니라 쇼핑몰을 방문하는 고객들에게 열가지 유용한 정보를 제공하는 블로그의 효용성이 높다는 점을 십분 활용하고, 처음 시작하는 쇼핑몰의 신뢰성을 주기 위해 비록 삽질이지만 삽질기를 낱낱히 공개하기로 했다고 하네요.

그 쇼핑몰의 주소는  https://puripia.com로 아직도 공사중이기는 합니다.) 

쇼핑몰 구축 시 도와주었던 인연으로 그 쇼핑몰을 알리고 쇼핑몰 구축 경험담을 보다 널리 알리기 위해서 여기 happist.com에도 같이  공유합니다. 조금 사심이 있기는 합니다.

[검색 고도화] 라이브 서치 플러그인 SearchWP Live Ajax Search 제대로 사용하기

여기에서는 라이브 서치 플러그인인 중에서 가장 무난하게 사용할 수 있는 “SearchWP Live Ajax Search” 플러그인을 제대로 사용하는 방법에대해서 알아보겠습니다.

들어가며, 검색관련 세가지 프로세스

검색 관련해서는 사이트 내용을 잘 정리해 빠르고 정확하게 검색을 할 수 있게 만드는 검색 엔진과 검색할 수 있도록 검색 양식을 만드는 검색폼 그리고 검색 결과를 어떻게 보여줄 것인가라는 세가지 프로세스가 있습니다.

첫번째, 검색엔진 – 사이트 내용을 잘 정리(Index)해 데이타베이스화 : 워드프레스 기본 검색 엔진, WPSolr, SearchWP, Relevanssi – A Better Sear

[검색 고도화] 최고의 검색 엔진을 찾자

두번째, 검색폼 – 검색을 어디에서나 쉽게 할 수 있는 검색창 구현

[검색 고도화] 메뉴에 검색 기능 추가하기

세번째, 검색 결과를 어떻게 보여줄 것인가

[검색 고도화] 라이브 서치 기능 추가하기

[검색 고도화] 라이브 서치 플러그인 SearchWP Live Ajax Search 제대로 사용하기

아러한 세가지 프로세스중에서 여기에서는 검색 결과를 어떻게 보여줄 것인가에 대한 이야기 중의 하나인 라이브 서치 기능에 대해서 알아보겠습니다.

이전 포스팅 “[쇼핑 경험 최적화] 라이브 서치 기능 추가하기”에서 무료로 사용가능한 라이브 서치 기능을 소개했죠.

여기서 각기 플러그인들은 다들 나름대로의 장점과 단점을 가졌지만 지속 지원 가능성이나 다른 서치엔진과의 호환성을 고려하면 “SearchWP Live Ajax Search” 플러그인이 현재 시점에서는 가장 나은 대안 중의 하나라는 생각입니다.

다만 이 플러그인은 치명적으로 아무런 화면을 제공하지 않습니다. 아주 불친절하죠. 그리고 초기 화면도 아주 심플합니다. 디자인이 거의 없는 오직 검색만을 위한 실용성이 가득 담긴 플러그인입니다.

그렇기에 플러그인 추가에 따른 부담이 상대적으로 덜하다고 할 수 있단ㄴ 잠점만큼 수작업으로 원하는 디자인이나 기능을 추가해야 합니다.

1. get_search_form() 미 적용 테마에서 사용가능하게 만들기

SearchWP Live Ajax Search은 기본적으로 get_search_form()만 지원하므로 이를 사용하지 않은 테마나 검색 폼을 적용한 경우 SearchWP Live Ajax Search 를 설치해도 검색이 이루어지지 않습니다.

이 경우는 data 속성을 부여해 사용해야 합니다. 이 방법은 생각보다는 어렵지는 않습니다.

즉 테마의 searchform.php 파일의 검색 폼에 data-swplive=”true” 를 추가하는 것으로 가능합니다. data-swplive=”true” enables SearchWP Live Search

twentyseventeen 테마의 경우

예를들어 워드프레스 설치 시 기본으로 제공되는 twentyseventeen 테마의 searchform.php 파일의 검색 폼은 아래와 같은 코드로 되어 있습니다.

<form role="search" method="get" class="search-form" action="<?php echo esc_url( home_url( '/' ) ); ?>">
	<label for="<?php echo $unique_id; ?>">
		<span class="screen-reader-text"><?php echo _x( 'Search for:', 'label', 'twentyseventeen' ); ?></span>
	</label>
	<input type="search" id="<?php echo $unique_id; ?>" class="search-field" placeholder="<?php echo esc_attr_x( 'Search …', 'placeholder', 'twentyseventeen' ); ?>" value="<?php echo get_search_query(); ?>" name="s" />
	<button type="submit" class="search-submit"><?php echo twentyseventeen_get_svg( array( 'icon' => 'search' ) ); ?><span class="screen-reader-text"><?php echo _x( 'Search', 'submit button', 'twentyseventeen' ); ?></span></button>
</form>Code language: PHP (php)

여기서 5번째 줄 끝부분 즈음 name=”s” 다음에 data-swplive=”true” 를 추가합니다. 그러면 아래와 같은 코드가 되겠죠.

<form role="search" method="get" class="search-form" action="<?php echo esc_url( home_url( '/' ) ); ?>">
	<label for="<?php echo $unique_id; ?>">
		<span class="screen-reader-text"><?php echo _x( 'Search for:', 'label', 'twentyseventeen' ); ?></span>
	</label>
	<input type="search" id="<?php echo $unique_id; ?>" class="search-field" placeholder="<?php echo esc_attr_x( 'Search …', 'placeholder', 'twentyseventeen' ); ?>" value="<?php echo get_search_query(); ?>" name="s" data-swplive="true"  />
	<button type="submit" class="search-submit"><?php echo twentyseventeen_get_svg( array( 'icon' => 'search' ) ); ?><span class="screen-reader-text"><?php echo _x( 'Search', 'submit button', 'twentyseventeen' ); ?></span></button>
</form>Code language: PHP (php)

아래는 플러그인 공식 문서에서 제안하는 방법인데요. 참고로 보시면 좋을 것 같습니다.

<?php
  // if your form is generated using get_search_form() you do not need to do this
  // as SearchWP Live Search does it automatically out of the box
?>

<form action="" method="get">
  <p>
    <label for="s"><?php _e( 'Search' , 'mytextdomain' ); ?></label>
    <input type="text" name="s" id="s" value="" data-swplive="true" /> <!-- data-swplive="true" enables SearchWP Live Search -->
  </p>
  <p>
    <button type="submit"><?php _e( 'Search' , 'mytextdomain' ); ?></button>
  </p>
</form>Code language: PHP (php)

같은 방법이지만 다양한 사례를 소개하는 것도 의미가 있으니 “SearchWP Live Ajax Searchを使ってみる”에서 설명하는 방법도 참고해 보시기 바랍니다. 이도 같은 방법입니다.


변경 전

<form method="get" action="/">
    <input type="search" name="s" />
    <input type="submit" value="검색" />
</form>Code language: PHP (php)

변경 후

<form method="get" action="/">
    <input type="search" name="s" data-swplive="true" />
    <input type="submit" value="검색" />
</form>Code language: PHP (php)

2. 기능 및 디자인 변경 방법

SearchWP Live Ajax Search의 검색 결과를 보여주는 포맷 세팅을 변경은 대부분과 마찬가지로 세가지 정도의 방법이 동원됩니다.

2.1. 테플릿 search-results.php 파일 수정

는 템플릿 시스템에 의해서 보여지기 때문에 이 템플릿 수정을 통해서 검색 결과 포맷을 변경할 수 있습니다.

SearchWP Live Ajax Search 의 검색 결과를 보야주는 템플릿은 ~/wp-content/plugins/searchwp-live-ajax-search/templates/search-results.php이라는 파일에서 정의하고 있습니다.

이를 수정하고 안정적으로 유지 관리하기 위해서는 차일드 테마에서 관리할 수 있도록 만듭니다.

  1. 차일드 테마에서 searchwp-live-ajax-search라는 폴더를 만듭니다.
  2. search-results.php라는 파일을 ~/wp-content/plugins/searchwp-live-ajax-search/templates/에서 복사해 옵니다.
  3. 복사해온 search-results.php 파일을 원하는 대로 수정합니다.

2.2. 테마의 functions.php에서 제어

대부분이 다 그러하듯이 이 플러그인도 테마의 functions.php 파일에서 필터 명령을 통해서 제어 가능합니다.

2.3. style.css에서 제어

마찬가지로 이 플러그인의 디자인을 제어하는 style.css 파일을 통해서 제어 가능합니다. 업데이트되는 것을 대ㅑ비해서 custom css에서 관련 코드를 지정합니다.

라이브 서치_SearchWP Live Ajax Search 구현 모습

3. 썸네일 추가 방법

이 플러그인은 아주 단순해서 썸네일 추가도 별도 커스터마이징을 해야 합니다. 이에 대해서는 아래 포스팅에서 잘 설명하고 있습니다.

search-results.php 파일에서 기존 코드를 아래에서 설명하는 코드로 변경하면 되는데요. 잘 보면 아래 코드가 추가된 것을 알 수 있습니다.

<span style="display: inline-block; margin-left: 5px;margin-top: 5px;"><?php echo( get_the_post_thumbnail( $post->ID, array( 50, 50) ) ) ?></span>Code language: PHP (php)

여기서 썸네일 이미지 크기를 바꾸고 싶다면 array( 50, 50)을 원하는 수치로 변경합니다. 저의 경우는 array( 75, 75)로 지정했습니다.

SearchWP Live Ajax Search Results With Thumbnails

<?php
/**
* This template adds thumbnails to your SearchWP Live Ajax Search results.
* 
* Create a folder called searchwp-live-ajax-search in your child theme folder and copy this file in there. 
* In order for this to work you require the SearchWP and SearchWP Live Ajax Search plugins installed and active.
*
*/
?>

<?php if ( have_posts() ) : ?>
	<?php while ( have_posts() ) : the_post(); ?>
		<?php $post_type = get_post_type_object( get_post_type() ); ?>
		<div class="searchwp-live-search-result" style="white-space: nowrap;">
		<span style="display: inline-block; margin-left: 5px;"><?php echo( get_the_post_thumbnail( $post->ID, array( 50, 50) ) ) ?></span>
		<span style="display: inline-block;">
			<p><a href="<?php echo esc_url( get_permalink() ); ?>">
				<?php the_title(); ?> »
			</a></p>
		</span>
		</div>
	<?php endwhile; ?>
<?php else : ?>
	<p class="searchwp-live-search-no-results">
		<em><?php _ex( 'No results found.', 'swplas' ); ?></em>
	</p>
<?php endif;Code language: PHP (php)

4. 검색 시작 글자수 지정하기

대부분의 라이브 서치 기능은 첫 글자만 치면 바로 검색 결과를 보여줍니다. 그래야 어느 정도 라이브 서치가 되고 있다는 느낌을 받을 수 있겠죠.

그렇지만 척 글자부터 보여주는 것은 보기에는 좋지만 실 검색 결과에는 별 도우이 안됩니다. 아무래도 원하는 단어를 입력해야 정확한 검색이 가능할 수 있겠죠.

그렇기 때문에 SearchWP Live Ajax Search 에서는 기본적으로 세글자이상을 입력해야 검색 결과가 나오도록 기본 설정 되어 있습니다.

이를 간단하게 수정하는 방법은 functions.php 파일에 아래 명령을 추가하는 것입니다.

아래 코드에서 return 2가 몇번째 글자부터 검색 결과를 반영할 것이냐를 지정합니다. 2이니 두번째 글자가 입력되면 검색결과를 보여다오라고 지정하는 것입니다..

function my_searchwp_minimum_word_length() {
  // index and search for words with at least two characters
  return 2;
}
 
add_filter( 'searchwp_minimum_word_length', 'my_searchwp_minimum_word_length' );Code language: PHP (php)

이 방법 외 아래서 소개하는 초기 세팅 명령에서 지정할 수도 있습니다.

5. 몇개의 검색 결과를 보여줄 것인지?

마찬가지로 몇개의 검색 결과를 보여줄 것인지를 지정할 수 있습니다. 기본적으로는 7개만 보여줍니다.

아래 코드 양식으로 functions.php 파일에 추가합니다. return 다음의 수치가 보옂고 싶은 줄 수 입니다. 아래는 20개를 보여주겠다고 지정했습니다.

function my_searchwp_live_search_posts_per_page() {
  return 20; // return 20 results
}
add_filter( 'searchwp_live_search_posts_per_page', 'my_searchwp_live_search_posts_per_page' );Code language: PHP (php)

6. 기본 설정 변경

마찬가지로 functions.php파일에서 기본 설정 몇가지를 변경할 수 있습니다.

  • 검색 엔진 지정 ‘engine’ => ‘default’,
  • 검색 결과를 보여주는 시간 ‘delay’ => 200,
  • 검색 결과를 보여주는 입력 글자 수 ‘min_chars’ => 1,
  • 검색 결과를 보여주는 위치 ‘position’ => ‘bottom’, 또는 ‘top’,
  • 검색 결과를 보여주는 창 크기 제어 방법 ‘width’ => ‘css’, 또는 ‘width’ => ‘auto’,

아래는 제가 적용한 코드입니다.

function my_searchwp_live_search_configs( $configs ) {
  // override some defaults
  $configs['default'] = array(
    'engine' => 'default',                      // search engine to use (if SearchWP is available)
    'input' => array(
      'delay'     => 200,                 // wait 500ms before triggering a search
      'min_chars' => 1,                   // wait for at least 3 characters before triggering a search
    ),
    'results' => array(
      'position'  => 'bottom',            // 검색창 아래(bottom) where to position the results (bottom|top)
      'width'     => 'auto',              // whether the width should automatically match the input (auto|css)
      'offset'    => array(
        'x' => 0,                   // x offset (in pixels)
        'y' => 5                    // y offset (in pixels)
      ),
    ),
    'spinner' => array(                         // powered by http://fgnass.github.io/spin.js/
      'lines'         => 10,              // number of lines in the spinner
      'length'        => 8,               // length of each line
      'width'         => 4,               // line thickness
      'radius'        => 8,               // radius of inner circle
      'corners'       => 1,               // corner roundness (0..1)
      'rotate'        => 0,               // rotation offset
      'direction'     => 1,               // 1: clockwise, -1: counterclockwise
      'color'         => '#000',          // #rgb or #rrggbb or array of colors
      'speed'         => 1,               // rounds per second
      'trail'         => 60,              // afterglow percentage
      'shadow'        => false,           // whether to render a shadow
      'hwaccel'       => false,           // whether to use hardware acceleration
      'className'     => 'spinner',       // CSS class assigned to spinner
      'zIndex'        => 2000000000,      // z-index of spinner
      'top'           => '50%',           // top position (relative to parent)
      'left'          => '50%',           // left position (relative to parent)
    ),
  );
  // add an additional config called 'my_config'
  $configs['my_config'] = array(
    'engine' => 'supplemental',                 // search engine to use (if SearchWP is available)
    'input' => array(
      'delay'     => 200,                 // wait 500ms before triggering a search
      'min_chars' => 1,                   // wait for at least 3 characters before triggering a search
    ),
    'results' => array(
      'position'  => 'top',               // where to position the results (bottom|top)
      'width'     => 'css',               // whether the width should automatically match the input (auto|css)
      'offset'    => array(
        'x' => 0,                   // x offset (in pixels)
        'y' => 0                    // y offset (in pixels)
      ),
    ),
    'spinner' => array(                         // powered by http://fgnass.github.io/spin.js/
      'lines'         => 8,               // number of lines in the spinner
      'length'        => 6,               // length of each line
      'width'         => 5,               // line thickness
      'radius'        => 6,               // radius of inner circle
      'corners'       => 1,               // corner roundness (0..1)
      'rotate'        => 0,               // rotation offset
      'direction'     => 1,               // 1: clockwise, -1: counterclockwise
      'color'         => '#000',          // #rgb or #rrggbb or array of colors
      'speed'         => 1,               // rounds per second
      'trail'         => 60,              // afterglow percentage
      'shadow'        => false,           // whether to render a shadow
      'hwaccel'       => false,           // whether to use hardware acceleration
      'className'     => 'spinner',       // CSS class assigned to spinner
      'zIndex'        => 2000000000,      // z-index of spinner
      'top'           => '50%',           // top position (relative to parent)
      'left'          => '50%',           // left position (relative to parent)
    ),
  );
  
  return $configs;
}
add_filter( 'searchwp_live_search_configs', 'my_searchwp_live_search_configs' );Code language: PHP (php)

[쇼핑몰 구축기] 쉽고 빠른 검색을 위한 라이브 서치 기능 추가하기

쇼핑 경험을 개선하기 위해 쉽게 검색할 수 있도록 모바일 메뉴에 검색창 추가 방법에 대해서 살펴봤지만 여기서 더 나아가 검색어 입력 시 페이지 이동없이 그 자리에서 검색 결과를 보여주는 라이브 서치 기능에 대해서 살펴 봅니다.

[검색 고도화] 라이브 서치 기능 추가하기

쇼핑몰 구축기를 연재하는 이유

최근 지인이 워드프레스를 이용해 쇼핑몰 구축을 시도하면서 배웠던 배웠던 다양한 경험들을 해당 쇼핑몰 블로그에 연재해 왔는데요.

쇼핑몰이 상품만 파는 것이 아니라 쇼핑몰을 방문하는 고객들에게 열가지 유용한 정보를 제공하는 블로그의 효용성이 높다는 점을 십분 활용하고, 처음 시작하는 쇼핑몰의 신뢰성을 주기 위해 비록 삽질이지만 삽질기를 낱낱히 공개하기로 했다고 하네요.

그 쇼핑몰의 주소는  https://puripia.com로 아직도 공사중이기는 합니다.) 

쇼핑몰 구축 시 도와주었던 인연으로 그 쇼핑몰을 알리고 쇼핑몰 구축 경험담을 보다 널리 알리기 위해서 여기 happist.com에도 같이  공유합니다. 조금 사심이 있기는 합니다.

[검색 고도화] 라이브 서치 기능 추가하기

우커머스 테마를 고를 때 각 테마마다 그들이 주장하는 주요 기능들을 소구할 때, 라이브 서치 기능을 중요한 기능으로 이야기하는 경우를 종종 만납니다.

일반적인 검색 프로세스를 살펴보면 아래와 같은 다소 복잡한 과정을 거칩니다.

  • 먼저 검색창을 찾고
  • 검색어를 입력
  • 검색을 실행하라는 명령(주로 엔터)
  • 별도 검색 결과 페이지로 이동

그런데 모바일의 경우 별도 페이로 이동했다 다시 되돌아오는 과정이 쉽지는 않습니다. 되돌아가기 버튼이 점점 없어지는 추세죠. 아주 오래전부터 아이폰은 되돌아가ㅣ 하드키를 없앴고, 덩달아 삼성과 같은 다른 스마트폰 회사들도 이러한 하드키를 없앴습니다.

앱의 UI에서 되돌아가기 버튼이 없는 것은 아니지만 아무래도 불편합니다. 그리고 UX를 더 단순화한다고 되돌아가기 기능은 있지만 다시 실행하는 기능을 또 없기도 하죠.

요는 스마트폰일수록 UX가 단순화되면서 이러 저리 이동하는 것이 쉽지 않다는 것이고, 이러한 추세에 사이특 맞추어서 사용 경험을 높일 수 있도록 해야한다는 것입니다.

들어가며, 검색관련 세가지 프로세스

검색 관련해서는 사이트 내용을 잘 정리해 빠르고 정확하게 검색을 할 수 있게 만드는 검색 엔진과 검색할 수 있도록 검색 양식을 만드는 검색폼 그리고 검색 결과를 어떻게 보여줄 것인가라는 세가지 프로세스가 있습니다.

첫번째, 검색엔진 – 사이트 내용을 잘 정리(Index)해 데이타베이스화 : 워드프레스 기본 검색 엔진, WPSolr, SearchWP, Relevanssi – A Better Sear

[검색 고도화] 최고의 검색 엔진을 찾자

두번째, 검색폼 – 검색을 어디에서나 쉽게 할 수 있는 검색창 구현

[검색 고도화] 메뉴에 검색 기능 추가하기

세번째, 검색 결과를 어떻게 보여줄 것인가

[검색 고도화] 라이브 서치 기능 추가하기

[검색 고도화] 라이브 서치 플러그인 SearchWP Live Ajax Search 제대로 사용하기

아러한 세가지 프로세스중에서 여기에서는 검색 결과를 어떻게 보여줄 것인가에 대한 이야기 중의 하나인 라이브 서치 기능에 대해서 알아보겠습니다.

1. 사용자 경험을 높일 수 있는 라이브 서치 기능

사이트 검색에서 이러한 사용 경험을 높일 수 있는 방법이 바로 라이브 서치 기능입니다.

이 라이브 서치 기능은 검색창에 검색어를 입력하면 바로바로 검색 결과를 창 아래 또는 위에 띄워주죠.

이러한 라이브 서치기능의 장점은 아래와 같이 정리해 볼 수 있습니다.

  • 검색 시 검색 실행 명령인 엔터 단계와 검색 결과 페이지로 이동이라는 단계가 줄어듭니다.
  • 검색 간련 단어를 입력하자마자 첫 글자부터 해당되는 검색 결과를 뿌려주기 때문에 바로 바로 결과를 보면서 검색어를 바꾸어가며 검색할 수 있기 때문에 검색 효율이 높아지비낟.
  • 거기다 바로바로 반응하기 때문에 만족도가 높아질 수 있습니다.

2. 라이브 서치 플러그인 3가지

사이트에 라이브 서치 기능은 테마에서 지원한다면 바로 사용할 수 있겠죠.

그렇지만 대부분의 테마에서 라이브 서치 기능은 기본으로 내장되어 있지는 않습니다.

OceanWP와 같이 커스터마이징을 주요 특징으로하는 테마의 경우 기본 기능하에 여러가지 기능을 추가하는 방식을 취하기 때문에 이러한 기능이 추가되어 있지는 않습니다.

이런 경우 라이브 서치 기능 추가를 위해서는 플러그인의 힘을 빌리는 것도 좋은 방법입니다. 능력이 된다면 직접 프로그램해도 좋지만요.

2.1. Dave’s WordPress Live Search

라이브 서치 기능중에서 가장 많이 추천되는 플러그인이 Dave’s WordPress Live Search인데요.

제가 보기에 다음과 같은 장점이 있는 것 같습니다.

  • 사이트에서 사용하는 검색 명령에 상관없이 기존 검색폼에서 자동으로 라이브 서치 기능을 구현해 줍니다.
  • 사용자에 따라서 라이브 서치 결과 폼을 커스터마이징할 수 있습니다. 그것도 별다른 코딩없이.
  • 리이브 서치 플러그인들이 그렇듯이 성능 좋은 서치 엔진과 같이 사용해 성과를 높일 수 있습니다. 무료로 강력한 검색 기능을 제공하는 Relevanssi – A Better Search와 활용 시 무료로 좋은 성과를 낼 수 있습니다.
  • 프로그래밍 능력이 된다면 다양한 필터 기능을 적용할수 있습니다.
[쇼핑몰 구축기] 쉽고 빠른 검색을 위한 라이브 서치 기능 추가하기 10

이 플러그인도 여러가지 단점이 있습니다.

  • 가장 큰 단점은 최근 업데이트가 멈추고, 지원도 안되고 있다는 점입니다. 이 그를 ㅆ는 2019년 6월 기준 근 1년동안 업데이트가 안되고 있습니다. 2025년 4월 현재 이 플러근인 개발자의 요청으로 영구히 사용 정지되어 있습니다. 안타깝네요

2.2. SearchWP Live Ajax Search

두번째로 SearchWP Live Ajax Search를 들 수 있습니다.

이 플러그인은 SearchWP라는 굉장히 파워플한 워드프레서 검색 플러근에서 제공하는 라이브 서치 기능인데요.

SearchWP Live Ajax Search 작동 모습

장점은

  • SearchWP라는 유수의 프리미엄 검색 플러그인에서 제공하기 때문에 업데이트가 계속된다는 점
  • 워드프레스 검색 폼인 get_search_form() 를 사용하는 모든 테마에서 제공하는 검색 폼에 자동으로 라이브 서치 기능을 제공
  • 개발자 입장에서 다양하게 커스터마이징할 수 있음

그렇지만 이 플러그인도 단점이 많이 있기는 합니다.

  • 우선 개발자들이 쉽게 커스터마이징을 할 수 있지만 일반들이 커스터마이징 하기는 쉽지는 않습니다. 어느 정도 기술적인 지식을 가지고 있어야 합니다.
  • 위에서 소개한 Dave’s WordPress Live Search보다는 호환성이 높지는 않습니다. get_search_form()을 명시적으로 사용하는 검색폼은 자동으로 지원하지만 그렇지 않은 경우 별도 커스터마이징을 해야 합니다.

2.3. Ajax Search Lite

Ajax Search Lite는 Ajax Search Pro라는 검색 엔진과 라이브 서치 기능을 동시에 제공하는 프리미엄 플러그인의 무료 공개판입니다.

기본적인 검색 기능을 라이브 서치로 구현해 보여주는데요.

개인적으로 장점이라면 아래와 같은 점을 들 수 있습니다.

  • 상당히 보기 좋은 디자인
  • 상대적으로 빠른 속도
  • 검색폼에서 다양한 필터를 바로 선택할 수 있습니다. 포스팅 제목, 콘텐츠, 글쓴이 등읃

제 개인적으로는 단점이 더 많이 보이기는 합니다.

  • 기존 테마에서 구현해 놓은 검색폼을 그대로 지원하지는 않습니다. Ajax Search Lite에서 제공한ㄴ 검색폼을 별도로 설치해야 하죠.
  • Ajax Search Lite는 무료 공개판이다보니, 기본적인 검색 기능만 제공합니다.
[쇼핑몰 구축기] 쉽고 빠른 검색을 위한 라이브 서치 기능 추가하기 11

[쇼핑몰 구축기] 모바일 메뉴에 검색창 추가해 모바일 검색을 쉽게 하기

1

모바일 쇼핑 경험을 강화하기 위한 기본중의 하나는 검색을 쉽게 할 수 있게 만드는 것입니다.

모바일 메뉴를 만드는 가장 흔한 방법은 햄버거 메뉴를 만들어 이를 클릭해 세부 메뉴로 들어가도록 하는 방법이죠.

이 방법은 검색을 하기위해서 모바일 햄버거 메뉴를 클릭하고 이어 검색어를 입력해야하므로 상대적으로 불편합니다. 그렇기 때문에 헤더 메뉴에서 바로 검색을 시작할 수 있는 방안을 찾아보겠습니다.

[검색 고도화] 모바일 메뉴에 검색 기능 추가하기

쇼핑몰 구축기를 연재하는 이유

최근 지인이 워드프레스를 이용해 쇼핑몰 구축을 시도하면서 배웠던 배웠던 다양한 경험들을 해당 쇼핑몰 블로그에 연재해 왔는데요.

쇼핑몰이 상품만 파는 것이 아니라 쇼핑몰을 방문하는 고객들에게 열가지 유용한 정보를 제공하는 블로그의 효용성이 높다는 점을 십분 활용하고, 처음 시작하는 쇼핑몰의 신뢰성을 주기 위해 비록 삽질이지만 삽질기를 낱낱히 공개하기로 했다고 하네요.

그 쇼핑몰의 주소는  https://puripia.com로 아직도 공사중이기는 합니다.) 

쇼핑몰 구축 시 도와주었던 인연으로 그 쇼핑몰을 알리고 쇼핑몰 구축 경험담을 보다 널리 알리기 위해서 여기 happist.com에도 같이  공유합니다. 조금 사심이 있기는 합니다.

[검색 고도화] 모바일 메뉴에 검색 기능 추가하기

요즘 어지간한 테마라면 쉽게 메뉴에 검색 기능을 추가할 수 있죠.

그렇지만 간혹 메뉴나 헤더 부분에 검색 기능을 추가할 필요가 있어서 검색 기능 추가 방법에 대해서 간단히 살펴 보았습니다.

원래 목적은 모바일에서 햄버거 메뉴 옆에 검색 기능 추가 방법을 찾다가 헤매고 만 케이스이기는 합니다.

이런 저런 방법을 발견했는데 혹시 다른 분들은 도움이 될지도 몰라서 공유해 봅니다.

들어가며, 검색관련 세가지 프로세스

검색 관련해서는 사이트 내용을 잘 정리해 빠르고 정확하게 검색을 할 수 있게 만드는 검색 엔진과 검색할 수 있도록 검색 양식을 만드는 검색폼 그리고 검색 결과를 어떻게 보여줄 것인가라는 세가지 프로세스가 있습니다.

첫번째, 검색엔진 – 사이트 내용을 잘 정리(Index)해 데이타베이스화 : 워드프레스 기본 검색 엔진, WPSolr, SearchWP, Relevanssi – A Better Sear

[검색 고도화] 최고의 검색 엔진을 찾자

두번째, 검색폼 – 검색을 어디에서나 쉽게 할 수 있는 검색창 구현

[검색 고도화] 메뉴에 검색 기능 추가하기

세번째, 검색 결과를 어떻게 보여줄 것인가

[검색 고도화] 라이브 서치 기능 추가하기

[검색 고도화] 라이브 서치 플러그인 SearchWP Live Ajax Search 제대로 사용하기

아러한 세가지 프로세스중에서 여기에서는 검색을 할 수 있게 판을 깔아주는 검색창 구현에 대한 이야기를 푸러보겠습니다.

1. 헤더(메뉴)에 검색 박스 기능 추가하기

헤더에 일반적으로 메인 메뉴가 위치하는데요. 여기에 검색 기능 추가는 add_filter 명령으로 처리 가능합니다.

function head_nav_search($items, $args) {
    if( !($args->theme_location == 'site-header-inner') ) 
    return $items;
    return $items . '<li>' . get_search_form(false) . '</li>';
}
add_filter('wp_nav_menu_items', 'head_nav_search', 10, 2);Code language: PHP (php)

또는 아래와 같은 코드도 제안되네요..

add_filter( 'wp_nav_menu_items','add_search_box', 10, 2 );
function add_search_box( $items, $args ) {
    $items .= '<li>' . get_search_form( false ) . '</li>';
    return $items;
}
Code language: PHP (php)

2. 원하는 곳에 코드 직접 삽입 방식

테마가 업데이트될 때만다 작업을해야하지만 (다른 플러그인을 사용하지 않는다면) 원하는 곳의 php 파일에 검색 폼을 추가하는 방법입니다.

검색폼을 추가하는 명령은 아래와 같습니다.

<?php get_search_form(); ?>Code language: PHP (php)

3. 검색 아이콘 추가하기

아미 테마에서 폰트 어썸을 사용하고 있다면 아래와 같은 코드를 이용해서 검색 아이콘을 추가할 수 있습니다.

여기 ‘primary’를 원하는 메뉴 위치 슬러그로 변경하면 됩니다. 이에 대해서는 “쇼핑몰 메뉴에 우커머스 로그인/로그아웃 링크 추가하기”라는 포스팅을 참조해 보시기 바랍니다.

저의 경우는 ‘main_menu’에 추가해 봤습니다.

add_filter('wp_nav_menu_items', 'add_search_form', 10, 2);

// Display fontawesome search icon in menus and toggle search form 

function add_search_form($items, $args) {
if( $args->theme_location == 'primary' )
       $items .= '<li class="search"><a class="search_icon"><i class="fa fa-search"></i></a><div style="display:none;" class="spicewpsearchform">'. get_search_form(false) .'</div></li>';
       return $items;
}Code language: PHP (php)

4. OceanWP 테마에서 메뉴 추가 방법

앞서 소개한 많은 방법은 워드프레스가 제공하는 메뉴 끝에 검색 아이콘이든 검색창이든 삽입하는 방식이므로 데스크탑에서는 바로 검색창이 보이지만 모바일에서는 햄버거메뉴 속으로 숨어버립니다.

그렇기 때문에 테마 특성을 타기는 하지만 OceabWP의 Hook 기능을 이용해 로고 다음에 검색창이 오도록 만들었습니다.

차이드 테마의 functions.php에 적용한 코드입니다.

// 검색 아이콘 추가 -
add_action('ocean_after_logo_inner', 'puripia_add_search_icon');
function puripia_add_search_icon() {

echo '<div class="clr custom_search" id="custom_search_id"><form method="get" calss="search" id="search" action="'.site_url().'"> <input type="search" placeholder="Search" name="s"  data-swplive="true"></form></div>';

}Code language: PHP (php)

5. 기타 참고 링크

CSS를 이용해서 다양한 효과를 주는 메뉴 구현 방안을 소개하는 사이트

14 CSS Search Boxes

PHP의 검색폼 구현 관련 다양한 예를 제시하는 사이트

PHP get_search_form Examples

Genes 테마 헤드에 검색 아이콘 추가하기

How to Add Search Icon in Genesis Authority Pro Header?

토글효과의 검색 아이콘 적용 방법

How to add Search Icon with Toggle Effect in WordPress Menus



[쇼핑몰 구축기] 쇼핑 경험 강화를 위해 상품 탭에 스티키 기능을 적용해 보자

0

워드프레스 쇼핑몰이든 다른 한국형 쇼핑몰이든 상품관련 다양한 정보를 제공하기 마련인데요. 이렇게 너무도 많은 정보를 효현하다보니 특히 모바일같은 좁은 화면에서는 위치를 잃어버리기 쉽상입니다.

그래서 상품관련 정보를 보여주는 메뉴탭을 쉽게 이동할 수 있도록 만드는 것도 쇼핑 경험을 개선할 수 있는 좋은 방안입니다.

여기에서는 상품 정보를 보여주는 상품 탭 메뉴를 고정시켜 쉽게 이동할 수 있게 만들어주는 스티키 기능 적용 방안에 대해 알아봅니다.

[쇼핑 경험 최적화] 상품 탭에 스티키 기능을 적용해 보자

쇼핑몰 구축기를 연재하는 이유

최근 지인이 워드프레스를 이용해 쇼핑몰 구축을 시도하면서 배웠던 배웠던 다양한 경험들을 해당 쇼핑몰 블로그에 연재해 왔는데요.

쇼핑몰이 상품만 파는 것이 아니라 쇼핑몰을 방문하는 고객들에게 열가지 유용한 정보를 제공하는 블로그의 효용성이 높다는 점을 십분 활용하고, 처음 시작하는 쇼핑몰의 신뢰성을 주기 위해 비록 삽질이지만 삽질기를 낱낱히 공개하기로 했다고 하네요.

그 쇼핑몰의 주소는  https://puripia.com로 아직도 공사중이기는 합니다.) 

쇼핑몰 구축 시 도와주었던 인연으로 그 쇼핑몰을 알리고 쇼핑몰 구축 경험담을 보다 널리 알리기 위해서 여기 happist.com에도 같이  공유합니다. 조금 사심이 있기는 합니다.

[쇼핑 경험 최적화] 상품 탭에 스티키 기능을 적용해 보자

쇼핑몰에서 상품 설명은 그 중요성을 아무리 강조해도 지나치니 않을 정도로 중요한 요소죠.

그렇기 때문에 상품 설명 내용은 굉장히 길고, 또 부가 설명, 리뷰, FAQ 그리고 질문까지 관련 내용도 많은 편입니다.

때문에 상품 설명관련 메뉴로 쉽게 이동할 수 있도록 만드는 것도 쇼핑몰 이용자들에게 좋은 쇼핑 경험을 줄 수 있는 지름길이기도 합니다.

그러면 어떻게 상품탭에 이 스티키 기능을 적용할 수 있을까요? 처음에는 어떻게 접근해야할지 몰라 난감했는데요.몇주간 삽질한 끝네 알아낸 내용을 간략히 공유해 봅니다.

1. 스티키 기능 구현 플러그인

당연히도 가장 간단히, 우선적으로 고려할 수 있는 것은 이러한 스티키 기능 구현토록 도와주는 플러그인을 사용하는 것입니다.

이 기능 구현 플러그인에는 무료로 사용할 수 있는 플러그인들이 많아서 큰 욕심을 부리지 않는다면 적젏 사용할 수 있습니다.

1.1. myStickymenu Plugin

가장 많이 추천되는 것이 바로 myStickymenu인데요.

Sticky Menu on Scroll, Sticky Header for Any Theme – myStickymenu

기본 기능은 큰 차별점은 없지만 프로기능에는 디바이스 선택 기능, CSS 코드 적용, 특정 페이지에 스티키 기능을 해제할 수 있는 기능등 조그 더 다양한 기능을 추가합니다.

그리고 사소하지만 UX 디자인이 조금 세련되어 있습니다.

무료 버젼에서는 단 하나의 요소만 스티키 기능을 사용할 수 있습니다. 프로버젼은 사용하지는않았지만 마찬가지인듯 싶습니다.

1.2. Sticky Menu (or Anything!) on Scroll by Mark Senff

이 플러그인은 무료 버젼만 있는데요. 단순하면서도 필요한 기능들로 구성되어 있습니다.

이 플러그인도 한 하나의 요소만 스티키 할 수 있습니다. 하나만 할 수 있지만 다른 스티키 기능과 조합해서 사용가능하다는 장점이 있습니다.

  • 어떤 요소도 스티키 가능
  • 스티키 위치를 지정 가능, 예를들면 이미 다른 스티키 기능이 적용되어 있다면 그 스티키 아래에서 구현되도록 50px를 지정해주면 Top으로부터 50px 떨어진 곳에서 고정시킴
  • 적용하지 말아야 할 스크린 사이즈 지정 가능, 예를 들어 화면 크기가 1500px이상 또는 300px 이하에서는 작동하지 않게 설정 가능
  • Z-index 지원(옵션)
  • Push-up 지정 가능(옵션), 스티키 요소를 특정 요소 위로 올려주는 기능
  • 디버그 모드

개인적으로는 OceanWP 테마에서 제공하는 sticky head와 이 플러그인을 조합해서 사용중입니다.

2. 코드 사용

플러그인을 사용하지 않고 스티키 기능을 추가하는 방법은 없을까요?

구글링 결과 몇가지 방법이 있습니ㄷ다. 다만 저의 경우는 전부 작동하지 않더군요. 테마와 플러그인들간 충돌이 있는 것으로 보이는데요.

그래도 테마 등등 환경에 따라서 가능할지도 모르니 소개해 보도록 하겠습니다.

2.1. CSS 코드 이용 방법

이는 GeneratePress테마이 문의 내용중 알려진 내용인데요. 아래와 같은 코드 사용을 제안하고 있습니다.

/* 상품 탭 스티키 */
.woocommerce div.product .woocommerce-tabs ul.tabs {
    position: sticky;
    position: -webkit-sticky;  /* Safari */  
    top: 0;
    background: #fff;
}Code language: PHP (php)

2.2. JS 코드 이용하기

이는 Chris Coyier 라는 분이 공개한 코드인데요. 잘 연구하는 좋은 결과가 나올 것도 같은데 저는 아직 이를 이해할만한 실력이 못되나 봅니다.

Chris Coyier의 Scroll-Then-Fix Content 글 보러가기

[쇼핑몰 구축기] 쇼핑 경험 강화를 위해 상품 탭에 스티키 기능을 적용해 보자 12

여기서 적용된 코드는 아래에서 공개되어 있습니다.

Search Box in Content Moves to Fixed Header

3.기타 참고 링크

How do I make the menu sticky in WordPress so it will only show when you scroll up?

How can I make a sticky side header after scrolling to it in jQuery?

JQuery – Easy Sticky Nav Bar

Boost Views With Sticky Scrolling

WooCommerce: Edit “Continue Shopping” Link Redirect