월간 ProductHunt - 2023년 6월
안녕하세요, 오늘은 새로운 플랫폼에서 인사드리게 되었네요. 오늘은 새 플랫폼으로 이사를 오게 된 이야기를 다루어 보려고 합니다. 2월부터 시작한 이 프로젝트가 어느새 500개가 넘는 제품을 사람들에게 전달하게 되었습니다. 처음엔 메일리로 시작을 했다가 개인 웹사이트로 이전을 했는데, 처음으로 슬랙과 노션 API를 통해 외부로 데이터를 전달하는 프로젝트를 하다 보니 엉성한 부분이 있었고 이를 다 바꾸고 새로 시작해야 하나 말아야 하나를 되게 고민을 많이 했습니다. 어떤 문제가 있었고 어떻게 바꾸었는지 얘기해보겠습니다. 신규 유입 및 SEO 문제 첫 번째로 가장 큰 문제는 유입이 없었다는 것이었습니다. 초창기 홍보 당시 사람들이 가입했던 것 이후로는 새로운 유저가 아예 들어오질 않았습니다. 그 이유로 저는 SEO를 들었는데요, 저는 이 프로젝트를 시작할 당시에 긱뉴스의 영향을 많이 받았습니다. 긱뉴스는 오래 운영되었기 때문에 유저가 많은 부분도 있지만 웹사이트 내에 링크가 있기 때문에 검색 엔진에 노출되면서 새로운 유저들이 계속해서 유입이 될 수 있는 구조인데, 저는 슬랙으로만 콘텐츠를 보내기 때문에 새로운 유저들이 들어올 수가 없었던 겁니다. 그래서 저도 콘텐츠 SEO를 하려고 했는데, 저는 보낸 데이터를 따로 데이터베이스에 저장하기 싫어서 노션 데이터베이스에 저장했기 때문에, 노션 API를 이용해서 콘텐츠를 가져오는 방식을 택해야 했습니다. 노션 데이터베이스로 SEO를 하는 것은 이론상 가능은 합니다. 한 번 저장한 콘텐츠는 변하지 않기 때문에 Next.js의 정적 페이지 증분 생성을 적용하면 계속해서 API를 호출할 필요는 없거든요. 그런데 여기서 문제가 생깁니다. 기존 데이터베이스는 칼럼이 이름과 태그, 생성일 뿐인데, 노션 API로 데이터를 호출하면 아래처럼 가져오게 됩니다. 위 JSON 응답 값을 보시면, 이름과 태그, 생성 일시의 데이터만 가져올 뿐 페이지 안에 적은 내용을 가져오지 못합니다. 처음 저장 방식을 잘 못 선택한 바람에 SEO를 할 수가 없는 참사가 나버린 것이죠. 따라서 저장한 데이터를 전부 가져올 수 있는 방식으로 완전히 변경해야 했습니다. URL, 한 줄 소개 등의 데이터를 전부 속성값으로 전환하는 방식으로요. 앱 통합 방식 문제 두 번째로 답답했던 문제는 슬랙과 노션 연동 방식이었습니다. 슬랙은 Incoming Webhook 방식, 노션은 템플릿없이 연동하고 있었는데, 둘 다 비효율적입니다. 처음엔 몰랐지만 지금은 이렇게 할 필요가 업었습니다. 슬랙의 Incoming Webhook 방식은 특정 채널이나 개인 DM에 초점을 맞추고 메시지를 보내는 방식인데, 일반 채널과 DM 채널이 가져오는 로직도 다르고, 처음이다 보니 그것도 몰라서 알아내느라고 시간을 무지하게 잡아먹었습니다.