프로덕트

아티클

전체 보기
onion

onion

[가십바오] 챗GPT는 우리 회사 김팀장에 대해 이야기해주지 못한다.

신입 개발자 Onion. 오늘도 챗gpt를 열심히 쓰며 업무를 진행하고 있다.

그에게 챗gpt는 신이다. 정말 모든 것에 대한 답변을 해준다.

에세이도 써주고 

image.png

코드도 잘 짜준다. 

image.png

모든 업무에 챗gpt를 활용하는 Onion. 그는 챗gpt와 함께라면 못할게 없다고 믿는다.



하지만 오후 12시가 되자 인생 난제에 부딪치는데..



"어이 Onion, 오늘 점심 뭐먹을지 정해뒀어?"



짜증 섞인 김팀장님의 목소리. 육감이 말해주길 저건 질문을 한 것이 아니다. 답이 있는 문제를 맞춰보라고 던진 것이다.

김팀장님이 좋아할만한 점심 메뉴를 머리를 싸메고 고민하는 Onion. 이때 본인에게 신과 같은 존재 챗gpt 에게 물어보기로 한다.


"점심 메뉴를 정해야 하는데 김팀장님이 좋아하는 음식 뭐가 있을까? "

 

image.png

신처럼 섬겨왔던 챗gpt가 김팀장님이 좋아하는 점심 메뉴 조차 알려주지 못해 낙담한 Onion. 그리고 생각하는데..

 


"우리 회사와 관련된 모든 정보를 알고 이야기를 해주는 챗봇이 있으면 재밌지 않을까? 점심 메뉴도 추천해주고 사내 가십거리도 막 이야기 해주고 말야."

 


그렇게 탄생한 가십바오.

image.png[그림] 가십바오의 메인 화면

🤔 그래서 무슨 서비스인가?



가십바오는 회사에서 돌아가는 일들에 관심이 많은 챗봇이에요. 회사에 누가 어떤 음식을 좋아하는지부터 요즘 누가 썸을 타고 있는지 같은 핫한 가십거리도 이야기 해 줄거에요.

image.png[그림] 회사 가십거리를 술술 이야기해주는 가십바오

가십바오가 해주는 이런 정보들을 유저들과의 대화를 통해서 학습해요. 먼저 유저에게 재밌는 가십거리가 없냐고 캐물어보기도 할거고 유저들이 직접 가십바오에게 지식을 입력해주기도 할거에요. 유저들이 가십바오에게 더 많은 정보를 알려줄수록 가십바오는 우리 조직에 대해 더 잘 이해하는 챗봇으로 발전해나갈거에요.

image.png[그림] 조직에 관련된 지식을 습득하는 가십바오

물론 이런 챗봇들이 늘 그렇듯 가십바오는 비윤리적인 말을 하거나 유언비어를 퍼뜨릴 위험을 안고 있어요. 그래서 가십바오를 사용할때는 단순 재미로만 쓴다는 것을 명심해야해요. 가십바오도 더욱 정제된 정보를 기반으로 윤리적으로 이야기를 해줄 수 있도록 기술적으로, 서비스적으로도 계속 발전해나갈거에요.


아직 부족한게 많은 서비스지만, 가십바오는 더 유익하고 재미있게 우리 조직에 대한 이야기를 풀어내 줄 수 있는 챗봇이 되기 위해 최선을 다하고 있어요. 앞으로도 가십바오의 여정 지켜봐주세요!

 

가십바오

우리 조직 가십거리 좋아하는 챗봇

3
0
onion

onion

V-MILO: 내가 만드는 익명 게시판

안녕하세요! 오늘은 여러분들께 쉽게 익명 게시판을 만들고 운영할 수 있는 서비스를 소개해드리려해요.

 

바로 브이밀로(v-milo) 라는 서비스인데요, 네이버 카페처럼 누구나 소통 공간을 만들수 있으나 블라인드나 에브리타임처럼 익명으로 활동하는 공간이라고 생각하면 좋을 것 같아요~

익명 게시판은 때로는 사람들이 익명성 뒤에 숨어서 이야기 하는 부정적인 공간으로 비춰지기도 하지만 익명성이 꼭 필요한 경우도 있어요. 예를 들어 직장이나 대학교처럼 폐쇄적인 집단에서는 익명을 기반으로 소통하는 것이 구성원들의 진실된 소통을 가능케해요. 에브리타임이나 블라인드가 닉네임 또는 실명 기반이었다면 지금처럼 활성화 되지 않았을거에요.

 

예를 들어 독서실 같은 경우, 한 공간에 상주하는 많은 사람들이 모여있는 공간이지만 일반적으로 서로 데면데면하거나 직접적인 소통을 하지는 않는 공간이에요. 구성원들끼리 건의 사항이나 자료 공유 등 소통이 필요한 경우 네이버 또는 다음 카페 같은 플랫폼을 이용해 볼 수도 있겠지만 독서실 공간 특성상 신상이 드러나는 상황에서의 구성원들의 자유로운 소통을 기대하기는 어려울 수 있어요. 이런 경우에 익명 게시판을 통해서 구성원들의 소통을 촉진할 수 있을 듯 해요.

image.png

- v-milo 로 만든 익명 게시판(출처: v-milo.com)

게시판을 만드는 절차는 간단한데요, 내 게시판에서 사용할 도메인과 그룹에 대한 설명, 그리고 공개 범위를 입력해주면 바로 게시판을 만들어 볼 수 있어요. 또 멤버 관리나 ui 등의 상세 설정은 관리자 페이지에서 설정할 수 있어요. 

image.png

이렇게 그룹을 만들면 나만의 익명 커뮤니티 공간이 생기는데요, v-milo 에서는 v-milo 기반으로 운영중인 커뮤니티의 예시로 누코스토리를 소개하고 있어요. 

- 누코스토리 이미지 (출처: v-milo.com)

https://nucostory.com

위 주소의 누코스토리를 방문해서 어떤 식의 커뮤니티를 만들 수 있는지 확인할 수 있을 듯 해요.

누구나 쉽게 익명 게시판을 만들 수 있는 서비스라 구성원들의 소통에 익명성이 필요한 경우 사용해보시면 좋을 것 같아요. 이상 익명 게시판을 만드는 서비스 브이밀로(v-milo) 소개를 마치겠습니다. 감사합니다!

브이밀로

내가 만드는 익명 게시판

8
2
onion

onion

디스콰이엇에 나의 비밀 헛소리를 올려보았다.

디스콰이엇을 둘러보다 "헛소리하는 채널"을 발견했다. 프로 헛소리러이자 디스콰이엇의 광팬인 나로서는 참을 수 없이 바로 가입했다.

헛소리를 하라고 만들었지만 어느정도로 해도 되는지 가늠이 안되어서 몸풀기 헛소리를 올려보았다. (고심해서 개발 관련된 내용으로 올렸다.)

Screenshot 2023-09-14 at 10.34.14 AM.png

개발자지만 동시에 사람으로서 살아가면서 느꼈던 나의 고충을 헛소리로 표현해보았다. 나름 반응이 괜찮길래 진정 헛소리(생산성과는 거리가 있는)를 한번 더 올려보았다.

Screenshot 2023-09-14 at 10.05.12 AM.png

하지만 나의 강공에 디스콰이엇 분들이 살짝 어질어질 하신 것 같았다.

Screenshot 2023-09-14 at 10.05.27 AM.png

(디스콰이엇에 실례가 되었다면 죄송합니다.)

헛소리: 이치에 닿지 않거나 들을 가치가 없는 허튼 말.

사람들은 누구나 헛소리를 하고 싶은 욕망을 가지고 있다. 나의 비밀 이야기일 수도 있고 그냥 혼자 낄낄대던 유머 소재일수도 있다. 무엇이 되었든, 그것은 사회적으로 들을 가치가 없다고 여겨지는 말이기에 "나"라는 가면을 쓰고 이야기 하기 쉽지 않다. "나"의 평판을 망칠 수 있기 때문이다.

그런 면에서 디스콰이엇을 비롯한 페이스북, 트위터, 링크드인 등의 SNS 에서 진정 헛소리를 하는 것은 쉽지 않다. 서비스 내의 프로필이 사회에서의 나와 강하게 연결되어 있기 때문이다.

만약 언제라도 나라는 사람을 숨기고 헛소리를 공유하고 싶을 때가 있다면 누코에 한번 들러 보는 것은 어떨까? 누코는 다음과 같은 특징을 가지고 있다.

  1. 내 신상은 익명이되 내 정보(MBTI, 이상형 등)은 공개할 수 있음

  2. 다양한 취향과 주제의 게시판. 누구나 쉽게 생성하고 운영할 수 있음

  3. 게시판 별 자유로운 오픈 채팅 (like 네이비즘)

디스콰이엇이 나의 진솔한 이야기와 경험을 나눌 수 있는 최적의 플랫폼이라면 누코는 헛소리를 나눌수 있는 최적의 플랫폼이다. 더 많은 헛소리가 누코에 가득하기를 바란다.

누코

누군가의 커뮤니티, 누코

4
0
onion

onion

[익명 커뮤니티] 디씨는 올드하고 에타나 블라인드는 폐쇄적입니다.

저는 익명 커뮤니티를 좋아합니다. 아니, 제 생각에는 대한민국 사람들은 익명 커뮤니티를 좋아합니다. 굳이 "대한민국 사람들은" 이라고 언급하는 이유는 서구권에서는 나를 표현하고 드러낼 수 있는 커뮤니티 또는 SNS(페이스북, 링크드인, 레딧 등)가 흥행하는데 반해 유독 한국에서는 에브리타임, 블라인드 등의 나를 적극적으로 숨기는 커뮤니티가 흥행한다는 생각을 한 적이 있기 때문이에요. 왜 유독 대한민국 사람들이 익명 커뮤니티를 좋아하냐구요? 그것은 문화 심리학을 연구하시는 분들의 일이에요. 제게 중요한 것은 "제가 익명 커뮤니티를 좋아하고 대한민국 사람들도 익명 커뮤니티를 좋아한다는 사실"이에요.

 

당장 제가 익명 커뮤니티를 좋아하는 이유는 "진실됨"이에요. 모든걸 숨기는 "익명 커뮤니티"에서 "진실됨" 이 무슨 말이냐구요? 우리 모두 사회에서는 어느 정도 가면을 쓰고 있잖아요. "진짜 나"가 아니라 "나로 보여져야 하는 나"의 모습의 가면이요. 페이스북이나 네이버 카페 같은 나를 특정할 수 있는 SNS/커뮤니티 공간에서도 사람들이 비슷한 가면을 쓰고 있다고 생각해요. 하지만 익명 커뮤니티에서는 나를 특정할 수 없기 때문에 사회에서의 가면을 내려 놓고 "가면 안에 있는 나"가 모여서 솔직하고 진실된 모습으로 이야기를 나눌 수 있는것이 좋았어요.

 

하지만 여러 익명 커뮤니티를 써보면서 딱 이거다, 싶은 커뮤니티는 없었어요. 각 커뮤니티마다 좋은 점들도 있는 반면에 아쉬운 부분도 있었고 이렇게 개선되면 좋지 않을까? 하는 부분도 있었어요. 그래서 제가 개인적으로 느꼈던 익명 게시판에 대한 인사이트들을 공유해보려고 합니다.

 

인사이트 1. 디씨는 올드하고 에타나 블라인드는 폐쇄적이다.

- 디씨

먼저 우리나라 커뮤니티 이용자 순위를 살펴볼까요?

출처: https://waffleboard.io/ranking

 

디시인사이드는 대한민국 최대 규모의 익명 커뮤니티에요. 다른 커뮤니티들과 비교했을 때 최소 2배 이상의 방문자 수를 갖고 있는 대단한 사이트라고 할 수 있을 것 같아요. 하지만 디씨를 사용하면서 재밌는 점을 발견했어요. 분명 월 2억이 넘는 방문수를 자랑하는 디씨인데, 주면에 디씨를 이용하냐는 질문을 하면 누구도 그렇다고 말하지 않았어요.

 

너 디씨 해? 라고 물으면 누구도 그렇다고 말하지 않았어요.

 

그 누구도 사용하지 않는데 방문자 수가 저렇게 많을 수 있을까요? 그럴 수는 없어요. 분명 많은 사람들이 이용하는 사이트임에는 분명하지만, 디씨가 갖고 있는 사람들의 인식이 좋지 않기 때문에 섣불리 이용한다고 하지 못하는 것 같아요. 이는 익명 커뮤니티들이 갖는 공통적인 특징이 아니냐구요? 그렇다고 하기에는 블라인드나 에브리타임을 이용하냐는 질문에는 사람들이 그렇다고 잘 이야기 하잖아요. 대한민국 최대의 종합 커뮤니티에 대한 대중들의 인식이 좋지 못한 것은 여러 이유가 있겠지만 디씨가 갖고 있는 컨텐츠가 음지 성향의 글이 많기 때문이 아닐까 싶어요.

 

저는 제가 사용하면서 남들에게 당당한 커뮤니티를 사용하고 싶었고 다른 사람도 그런 needs 가 있지 않을까 생각했어요.

 

-  에브리타임 및 블라인드

저는 에타나 블라인드를 즐겁게 이용했지만 에타나 블라인드는 모든 사람이 모일 수 있는 공간은 분명 아니에요. 에타는 학교 인증을 거쳐야 하고 블라인드는 회사 인증을 해야해요. 즉, 두 서비스 모두 특정 기준을 충족하는 사람들이 복잡한 절차를 통과해서 모이는 폐쇄형 커뮤니티에요. 물론 폐쇄형 커뮤니티가 가지는 장점이 분명히 있지만 더 많은 사람들이 쉽게 접근해서 활동할 수 있는 오픈형 커뮤니티가 있으면 좋겠다고 생각했어요.

 

 

인사이트 2. 사람들은 본인의 신상을 숨기면서도 본인의 정보를 드러내고 싶은 욕구를 가지고 있다.

 

사람들은 나를 숨기는 익명을 좋아하지만 또 동시에 나를 드러내고 싶어하기도 해요. 예를 들어서, 블라인드에서는 나에 대한 신상 정보는 기본적으로 모두 비공개이지만 내가 재직하는 회사는 모두에게 공개돼요. 블라인드에서는 "직장"이라는 정보가 중요한 정보이기 때문에 유저들이 궁금해하고 공개하기를 원한다고 생각해요. 저는 이러한 형태의 커뮤니티를 "반(Half)익명 구조"의 커뮤니티라고 정의해요. 기본적으로 닉네임을 비롯한 신상 정보는 모두 익명이되, 중요하다고 여겨지는 정보는 공개하는 커뮤니티. 예를 들어, "MBTI" 를 주제로 한 게시판에서는 유저들끼리 MBTI만 공개되는 커뮤니티인 거에요. 저는 이러한 "반익명 구조"의 커뮤니티가 있으면 재미있겠다고 생각했어요. 

 

 "MBTI" 를 주제로 한 게시판에서는 유저들끼리 MBTI만 공개되는 커뮤니티인 거에요. 저는 이러한 "반익명 구조"의 커뮤니티가 있으면 재미있겠다고 생각했어요. 

인사이트 3. 오픈채팅과 커뮤니티를 결합하면 어떨까?

커뮤니티에 글을 쓰는것은 사실 쉽지 않은 일이에요. 저만 해도 사실 글을 쓰는 경우는 거의 없고 대부분 남들의 글을 "눈팅" 하기만 하는 것 같아요. 글을 쓰지 않는 이유는 사실 글을 쓴다는 것 자체가 은근 부담스러운 일이기 때문이에요. 그런데 문득 카카오톡 오픈 채팅이 눈에 들어오더라구요. 관심사가 비슷한 사람들이 모여서 채팅의 형태로 글을 올리는데 부담없이 소통에 참여하고 글을 쓰는 것이 신선하더라구요. 그러다 자연스럽게 다음 생각으로 이어졌어요. 비슷한 관심사로 모인 게시판 사람들끼리 오픈 채팅을 할 수 있으면 어떨까?

 

비슷한 관심사로 모인 게시판 사람들끼리 오픈 채팅을 할 수 있으면 어떨까?

 

 

22년 12월, 위와 같은 인사이트들을 기반으로 다음과 같은 프로덕트를 만들어 봐야겠다고 생각했어요. 

 

  1.  원하는 주제별로 사람들이 모일 수 있고

  2.  사용자들이 컨텐츠에 대한 인식이 나쁘지 않으면서

  3. 가입 절차가 간단하고 대상을 한정하지 않으며

  4. 게시판 별로 오픈 채팅이 가능하고

  5. 반익명 구조의 오픈 커뮤니티

 

22년 12월부터 23년 6월까지, 무려 6개월이 넘는 시간이 걸려서 MVP를 만들었어요. 프로덕트를 개발하면서 있었던 여러가지 우여곡절에 대해서는 나중에 따로 꼭 정리해보도록 하겠습니다! 우선은 어떤 방식으로 인사이트를 적용하고 문제를 해결했는지 이야기해보려 해요.

 

 

문제 해결

문제 해결 1. 다양한 주제로 사람들이 모일 수 있어야 한다.

세상에는 정말 다양한 관심사를 가진 사람들이 있고 사람들은 비슷한 관심사를 가진 사람들과 소통하고 싶어 해요. 많은 커뮤니티들이 다양하게 게시판을 운영하지만 많은 경우 게시판 및 카테고리를 운영자가 정해놓은 경우가 많아요. 하지만 이런 경우에는 세상에 존재하는 다양한 취향 관심사를 모두 반영할 수는 없다고 생각해요.

이 커뮤니티에서는 누구나 본인이 원하는 주제로 쉽게 게시판을 만들 수 있게 했어요. 버튼을 하나만 누르면 복잡한 절차 없이 게시판을 바로 만들 수 있고 관리자 페이지에서 직접 운영을 할 수도 있어요. 그러다 보니 "축구", "음식" 등의 단순한 카테고리 형태의 게시판이 아니라 "좋아하는 유튜버 추천" 등의 다양한 주제의 게시판이 생긴 것을 확인할 수 있었어요.

 

 

문제 해결 2. 컨텐츠에 대한 사용자의 인식이 나쁘지 않아야 한다.

 

누구나 쉽게 게시판을 만들 수 있기 때문에 분명 부적절한 컨텐츠의 게시판과 게시글이 생길 것이고 이는 사용자의 서비스에 대한 인식을 저하시켜요. 게시판 및 게시글 검열을 통해서 이를 방지할 수도 있지만 이에 대한 명확한 기준을 세우는 것이 어려운 일이기도 하고 운영자의 검열이라는 것 자체가 사용자들의 표현의 자유를 억압하는 것이라고 판단했어요. 그래서 이를 해결하기 위해 두가지 장치를 적용했어요.

 

  1. 사용자들이 구독한 게시판의 글만 피드에 노출시킨다.

  2. 게시판의 관리자가 직접 게시판 운영 방침을 설정하고 직접 게시글을 검열한다.

 

우선 사용자의 피드에 모든 게시판의 글을 노출시키지 않아요. 사용자가 구독하고 관심있어하는 글만 피드에 노출시켜서 부적절한 게시판의 글이 노출되는것을 방지해요. 물론 사용자가 원한다면 모든 게시판의 글을 확인할 수도 있어요.

 

게시판의 관리자는 본인이 직접 게시판에 이용 수칙을 설정하고 이를 어긴 글을 직접 검열할 수 있어요. 게시판 관리자는 유저들이 신고한 신고사항도 확인하거나 특정 유저의 게시판 이용을 제한할 수도 있어요.

 

즉, 유저는 본인이 원하는 게시판의 글만 피드에서 확인하고 게시판 관리자는 운영 방침에 맞게 컨텐츠를 관리하는 방식으로 부적절한 컨텐츠들이 사용자에게 노출되는것을 방지하고 있어요. 

 

 

문제 해결 3. 가입 절차가 간단하고 대상을 한정하지 않아야 한다.

 

많은 커뮤니티들을 사용해보면서 느낀 점은 사람들은 생각보다 로그인을 잘 하지 않는다는 점이에요. 아무래도 귀찮은 절차를 거치고 싶지 않기도 하고 아이디 및 비밀번호 등 내 개인 정보를 제공하는 것에 대한 부담감도 있어서 인 듯 해요.

 

이 커뮤니티에서는 로그인을 위해 아이디도, 비밀번호도, 이메일도, 심지어는 로그인 버튼을 누를 필요도 없어요. 그저 사이트에 접속해서 게시글 몇개를 보다보면 그 어떤 절차도 없이 자동으로 로그인이 된답니다. 사용자들은 본인의 개인 정보를 제공해야 한다는 부담감 없이 로그인 된 계정으로 게시판 구독도 할 수 있고, 댓글도 달고 게시글도 작성할 수 있어요. 

 

이 커뮤니티에서는 로그인을 위해 아이디도, 비밀번호도, 이메일도, 심지어는 로그인 버튼을 누를 필요도 없어요.

기술적으로 어떻게 그게 가능하냐구요? 정확히 말하자면 가짜 계정을 만들어서 사용자가 사용하는 브라우저에 저장하는 거에요. 쿠팡에서 로그인 하지 않아도 내 조회 기록에 맞게 상품을 추천해주는 경험을 해보셨나요? 같은 원리라고 생각하시면 됩니다. 만약 사용자가 가짜 계정을 이메일로 연동시키고 싶으면 이메일을 연동해서 브라우저 및 디바이스에 구애받지 않고 계정을 사용할 수도 있어요.

 

 

 

문제 해결 4. 게시판 별로 오픈채팅이 가능해야 한다.

 

이 커뮤니티에서는 게시판을 구독하고 있는 사람들끼리 오픈채팅을 나눌 수 있어요. 게시글을 올리는 것이 부담스러운 사람들도 채팅으로 가볍게 소통할 수 있는 장치라고 보면 될 것 같아요.

 

문제 해결 5. 본인의 정보를 드러낼 수 있는 반익명 구조

 

MBTI 게시판에서는 유저들의 MBTI가 공개되고 연애 상담 게시판에서는 유저들의 성별 및 나이대가 공개돼요. 조기 축구 게시판에서는 유저들의 축구 포지션이 공개되구요. 아직 서비스에 적용 되지는 않았지만 성별, 나이, 이메일, 위치 등의 정보는 추후 인증 절차를 도입하려고 하고 있어요. 익명 커뮤니티라고 모든게 비밀인 것이 아니라 게시판 성격에 맞는 유저들의 정보가 함께 공개되면 더 풍부한 커뮤니티가 되는 것 같아요.

 

(연애 상담 게시판의 게시글)

 

 

 

경험 요약

 

이상으로 제가 익명 커뮤니티에 대해서 갖고 있던 인사이트들과 문제를 해결했던 경험을 공유해보았습니다. 구상한 MVP를 만들면서 디씨, 블라인드, 에타를 비롯해서 루리웹, 매니아, 4chan, Reddit 등의 많은 커뮤니티를 사용해보며 인사이트를 얻었어요. (특히 Reddit 의 경우에는 정말 잘 만들어진 커뮤니티라고 느꼈고 많은 도움을 받았어요.) 여러 커뮤니티를 사용해보며 느낀 하나의 결론이 있다면, 세상에는 장점만 있는 완벽한 커뮤니티는 없다는 것이에요. 커뮤니티에 장점이 있으면 단점이 있고, 또 그 장점을 좋아하고 단점을 감수할 수 있는 유저들이 모이기 마련이에요. 그래서 커뮤니티를 빌딩할 때 내 커뮤니티의 장점과 단점을 명확히 설정하고 유저에게 어필하는게 중요하다고 생각했어요.

 

그래서 저는 다음과 같이 익명 커뮤니티들의 장단점을 정리해봤습니다.

 

  • 디시인사이드

    • 장점: 쉬운 접근성 / 많은 사용자 / 여러 주제의 카테고리 

    • 단점: 부적절한 컨텐츠 / 유저들의 안좋은 인식 / 획일화된 주제의 카테고리 

  • 에브리타임 및 블라인드

    • 장점: 폐쇄성이 주는 유저들끼리의 유대감 / 학교, 직장 인증을 통한 신뢰 / 유저들의 공통된 관심사

    • 단점: 폐쇄성으로 인한 접근의 어려움 / 복잡한 가입 절차

  • 나의 커뮤니티

    • 장점: 쉬운 접근성 / 다양하고 창의적인 주제의 게시판 / 반익명 구조가 주는 재미 / 오픈 채팅을 통한 쉬운 소통 

    • 단점: 오픈된 커뮤니티에 대한 유저들의 불신 및 거부감 / 많지 않은 사용자와 컨텐츠(현재 시점)

 

그리고 저는 현재 MVP 개발을 완료한 시점에서 다음과 같은 문제들을 풀고 있어요.

 

1. 어떻게 하면 커뮤니티에 양질의 컨텐츠를 생성하고 유저를 유입시킬 것인가?

2. 어떻게 하면 SEO(검색 엔진 최적화)를 개선시키고 커뮤니티의 게시글을 상위 결과에 노출시킬 것인가? 

3. 구글, 인스타 등의 광고를 통해 커뮤니티를 홍보하고 인지도를 올릴 수 있는가? 그렇다면 어떤 과정과 절차가 되어야 하는가?

 

정답이 없고 어려운 문제인 만큼 여러가지 시행착오를 겪으며 실험을 해보고 있답니다. 기회가 된다면 해당 경험도 꼭 문서로 정리해 볼게요.

 

혹시 저와 비슷한 문제를 풀고 있거나 인사이트를 공유하고 싶은 분이 있다면 편하게 커피챗 주시면 좋을 것 같아요 :)

 

누코

누군가의 커뮤니티, 누코

33
22
onion

onion

개발자 관점에서 본 SEO(검색 엔진 최적화) 적용 팁

요약

  • 페이지별 헤더 정보 설정 (title, description, keywords, open graph)

  • onClick handler 대신 <a> 태그 사용

  • Server Side rendering (o), Client Side rendering (x)

  • 페이지 별 h1 태그 포함

  • 동적인 sitemap.xml 구현

  • robots.txt 작성

  • 페이지 로딩 퍼포먼스 개선

  • 페이지 별 h1 태그 포함

  • 그 외

    • https 적용

    • 사용자 친화적 웹사이트

      • 이미지 alt 태그, 버튼 aria-label 속성

    • 모바일 친화적 웹사이트

      • 반응형 웹사이트가 구현되어 있을수록 좋음

    • google search console, 네이버 서치 어드바이저 등록

  • 테스트 해보기

  • 가장 중요한 것은 웹사이트의 영향력 (backlink)


누코(NUCO)가 검색엔진에 노출이 되지 않아 고생을 좀 했다. 개발 과정 중 SEO 가이드라인에 맞지 않는 부분이 있을까 확인 또 확인 했다. 그러는 과정에서 적용했던 SEO 적용 필수/권장 사항을 공유하고자 한다.

페이지 별 헤더 정보 설정

 

페이지 별 헤더에 포함되어 있는 정보들은 SEO 에서 가장 중요한 역할을 한다. 각  페이지를 가장 잘 나타내는 키워드를 포함한 텍스트로 <title> 과 <meta name='description'>을 설정해주자.

(헤더에 포함된 title 과 description을 꼭 설정해주자!)

<meta name='keywords'> 태그는 SEO 유입 키워드로 활용된다고 하는데 많은 사이트들에서 무차별적으로 키워드를 설정하는 바람에 구글 크롤봇이 이 더 이상 중요한 지표로 활용하지 않는다고 한다. 하지만 설정해서 나쁠것은 없으니 설정해두자.

onClick 이벤트 핸들러 대신에는 <a> 태그 사용

 

아이템을 클릭했을 때 특정 페이지로 이동하는 방법은 두가지가 있다. onClick 이벤트를 사용해서 처리하는 방법과 <a> 태그를 사용하는 방법이다. 

onClick 이벤트의 경우는 크롤 봇이 연결된 페이지 정보를 유추하기 어렵지만 <a> 태그를 사용하면 구글 크롤 봇이 연결된 페이지 정보를 쉽게 유추해서 수집할 수 있다. 가능하면 <a> 태그를 사용하도록 하자.

 

(<a> 태그를 사용해서 연관된 페이지를 이동하자.)

SEO가 중요한 페이지는 Client Side Rendering(CSR) 보다는 Server Side Rendering(SSR)을 사용

 

Client Side Rendering(CSR) 방식은 처음에는 빈 껍데기 html을 로드한 후 브라우저에서 javascript 를 실행해서 동적으로 컨텐츠를 렌더링 하는 방식이고  Server Side Rendering(SSR)은 서버에서 데이터를 불러온 후 렌더링 된 HTML 페이지를 브라우저에 전달하는 방식이다. 구글 크롤봇이 보는 페이지는 처음 로드된 html 페이지이고 CSR 의 경우에 빈 껍데기 html 에는 텍스트나 키워드 정보가 포함되지 않으므로 SEO가 중요한 페이지의 경우에는 SSR을 사용해야 한다.

 

가 정설이었으나...

 

최근 구글 크롤봇이 javascript 를 실행할 수 있도록 업데이트 되었고 Client Side Rendering 된 컨텐츠 정보도 SEO에 반영하는 듯 하다. 하지만 CSR을 한 정보가 어느 정도 임팩트로 어떻게 반영되는지는 우리 입장에서는 알 방법이 없으니 속편하게 SSR로 구현하는것도 좋을 듯 하다.

동적인 sitemap.xml

 

sitemap.xml 파일은 해당 웹사이트에 어떤 하위페이지들이 있는지 설명해주는 가이드이다. 메인 페이지 외에 크롤봇이 수집해주었으면 하는 페이지를 다음과 같이 작성해주면 된다.

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://www.example.com/foo.html</loc>
<lastmod>2022-06-04</lastmod>
</url>
</urlset>

단, 위와 같은 sitemap.xml 파일은 정적인 파일이기 때문에 동적인 링크로 생성되는 하위페이지은 추가되지 않는다. 예를들어 https://example.com/posts/[postId] 와 같은 동적인 하위페이지는 어제 새로운 postId 의 글이 올라왔다면 sitemap.xml 파일에 반영되지 않는다. 이 경우에는 다음과 같은 방법으로 sitemap.xml 에 동적인 페이지를 넣어줄 수 있다.

 

  1. 특정한 시간 주기로 sitemap.xml 파일을 자동을 생성하는 스크립트를 생성

  2. sitemap.xml 파일을 Server Side Rendering (또는 Static Site Generation) 으로 구현

두 방법 모두 포함되었으면 하는 동적인 링크를 sitemap.xml 파일에 포함해주면 되고 나는 2번째 방법을 적용했다. 구현 과정에 대해서는 추후 자세히 적어보도록 하겠다.

 

다만 구글 공식 문서에 따르면 sitemap.xml 파일은 크롤봇이 참조용으로 활용하는 것 뿐이지 sitemap.xml 파일에 하위 링크를 항상 크롤링 하는 것은 아니다. 따라서 sitemap.xml 파일에 하위 페이지들이 있더라도 꼭 페이지가 수집되는 것은 아니라는것을 명심하자.

robots.txt 작성

 

robots.txt 파일에는 크롤봇에 허용할 페이지, 허용하지 않을 페이지 등을 작성해준다. 또 Google, Naver 등 특정 크롤봇에만 허용할 페이지 등도 설정할 수 있다. 위에서 작성한 Sitemap 의 경로도 명시해주자.

특히, 크롤봇이 수집하면 안되는 페이지를 특별하게 관리해주자. 예를들어 

User-agent: Googlebot
Disallow: /nogooglebot/

User-agent: *
Allow: /

User-agent: *
Disallow: /accounts

Sitemap: https://www.example.com/sitemap.xml

특히, 크롤봇이 수집하면 안되는 페이지를 특별하게 관리해주자. 예를들어 사용자의 계정정보를 나타내는 /accounts 페이지는 크롤봇이 수집하면 안되므로 disallow 해주자.

페이지 로딩 퍼포먼스 개선

 

구글 크롤봇이 페이지별 중요 순위를 메길 때 페이지의 로딩 퍼포먼스도 중요한 지표로 활용한다고 한다. html dom 구조가 너무 복잡하거나 js 번들 사이즈가 너무 큰 경우는 단순화 시켜보자. 최적화를 하는 방법은 각자 사용하는 프레임워크와 스타일 라이브러리마다 다르니 공식 문서를 참조하길!

 

페이지 별 h1 태그 포함

구글 크롤봇은 각 페이지 별 <h1> 태그에 포함된 텍스트를 중요한 정보로 활용한다고 한다. 페이지 제목 등의 중요한 정보는 <h1> 태그를 활용하여 삽입해보자. 

 

이지만.. 

 

나의 경우에는 굳이 <h1> 태그를  넣기 애매한 경우가 대부분이었다. 그래서 과감하게 사용하지 않았다. 하하

그 외

  • https 적용

  • 사용자 친화적 웹사이트

    • 이미지 alt 태그, 버튼 aria-label 속성

  • 모바일 친화적 웹사이트

    • 반응형 웹사이트가 구현되어 있을수록 좋음

테스트 해보기

 

정말 감사하게도 내 웹사이트가 SEO 가 잘 적용되었는지 확인해보는 툴들이 존재한다. 두가지 방식을 소개해보면

스피드 인사이트는 웹사이트에 접속해서 내 도메인을 입력하면 페이지의 퍼포먼스와 SEO 가이드라인 적용 여부를 점수화 해서 쉽게 확인할 수 있다.

(스피드 인사이트 SEO 적용 결과)

특정 웹사이트에 접속하지 않아도 크롬 브라우저를 이용한다면 개발자도구를 열어 lighthouse 탭을 클릭해 쉽게 웹사이트 퍼포먼스 및 SEO 적용 여부를 확인할 수 있다.

특정 웹사이트에 접속하지 않아도 크롬 브라우저를 이용한다면 개발자도구를 열어 lighthouse 탭을 클릭해 쉽게 웹사이트 퍼포먼스 및 SEO 적용 여부를 확인할 수 있다.

개인적으로 lighthouse 보다는 스피드 인사이트를 더 애용하는 편이다.

Google Search Console 등록

굳이 콘솔에 등록하지 않아도 시간이 지나면 검색 결과에 노출된다고는 하지만.. 조금 더 빨리 노출시키기 위해 Google Search Console 에 등록할 수 있다. 서치 콘솔에서는 도메인의 소유 정보를 인증 후 며칠을 기다리면 웹사이트가 수집되고 여러가지 정보를 확인할 수 있다.

 

  

다만 구글 크롤봇에 수집되었다고 내 페이지가 검색 결과에 노출되는 것은 아니다. 서치 콘솔에 등록되었는데 검색 결과에 내 웹사이트가 노출되지 않는다면 구글 검색창에 site://mywebsite.com 처럼 검색해보자. 검색 결과에 노출이 된다면 내 웹사이트가 성공적으로 수집된 것이다.

혹시 키워드로 검색을 했을 때 웹사이트가 노출이 안된다면 그럴 수 있다.  왜냐하면 가장 중요한 것은..

가장 중요한 것은 웹사이트의 영향력 (backlink)

누코(NUCO)의 경우에는 위 사항을 모두 적용했음에도 불구해도 어떤 키워드로 검색해도 구글 검색 결과에 노출이 되지 않았다. 구글이 내 페이지를 상위 결과에 노출시키는데 있어 해당 페이지의 영향력을 중요한 기준으로 사용하는데 아직 구글이 누코를 영향력 있는 웹사이트로 판단하지 않아서인 듯 하다.

그럼 어떠한 페이지가 영향력 있는 페이지인가? 구글은 페이지의 영향력을 판단하는데 backlink를 중요한 지표로 확인한다고 하는데 backlink란 다른 웹사이트 등에서 내 웹사이트의 링크거는 것을 의미한다. 즉, 내 웹사이트를 링크를 걸어 언급하는 사이트/페이지가 많아질 수록 구글 상위 결과에 노출될 확률이 높아진다는 의미이다.

 

따라서 누코에 더 양질의 컨텐츠가 올라오고 다른 웹사이트에서 더 많이 누코가 언급되면 언젠가는 구글 검색 결과에 누코가 노출되지 않을까 생각한다.

누코

누군가의 커뮤니티, 누코

6
2

포스트

아직 포스트가 없습니다.