개발 공부중

[사이드 프로젝트 회고 #1] 닷홈빌더를 쓰다가 PHP로 다시 제작한 이유 본문

카테고리 없음

[사이드 프로젝트 회고 #1] 닷홈빌더를 쓰다가 PHP로 다시 제작한 이유

개발자 leelee 2026. 7. 5. 00:04

 

이 글은 익명 글쓰기 사이트를 차음에는 닷홈빌더로 제작했다가 PHP로 새로 만들면서 겪은 과정을 정리한 글이다.

 

원래는 빌더로 만든 사이트가 있었다

최근 친구들과 사용하려고 만든 사이트가 있었다. 익명으로 매달 주제에 맞춰서 글을 올리는 사이트였다. 우리끼리만 편하게 쓸 수 있는 공간을 만들고 싶어서, 간편하고 빠르게 사이트를 띄울 수 있는 닷홈빌더로 먼저 시작했다.

워드프레스를 사용해본 나에게는 닷홈빌더가 익숙했다. 디자인 템플릿 고르고, 어느정도 사이트 구색을 맞춰서 친구들에게 공개하기까지 하루 밖에 안 걸렸다. "일단 사람들이 쓸 수 있는 형태로 빨리 내놓자"는 목표에는 정확히 맞는 선택이었다.

 

그런데 운영을 해보니 보이는 게 있었다

문제는 사이트를 열어두고 나서부터였다. 가끔 올라오는 글들을 바로 못보고 놓칠 때가 많았다. 나는 scripttable로 최신글을 가져오는 RSS 위젯을 만들어서 확인했다. 근데 친구들에게 하나하나 방법을 설명하고 해주려고 해도 알겠다고 하면서도 귀찮아서 안하니... 처음에는 수동으로 글이 올라오면 단톡방에 알려줬었는데 점점 피곤했다. 특히 이런 익명 게시판형 서비스는 "글이 올라온 걸 바로바로 아는 맛"이 재미의 절반인데 시간이 지나니 글 조회수도 많이 떨어졌다. 결국 이런 사이트는 "알림이 없으면 재방문이 줄어드는" 구조라는 걸 운영하면서 체감했다.

닷홈빌더 안에서 해결할 수 있을까 고민했다

바로 새로 만들자고 결심한 건 아니었다. 먼저 지금 쓰는 빌더 안에서 해결할 방법이 있는지부터 열심히 찾아봤다. 그러다 발견한 게 OneSignal이었다. 웹 푸시를 붙일 수 있게 해주는 서비스다. 무료고.. 워드프레스에서도 사용할 수 있다.

 

설정을 마치니 구독 알림 팝업까지는 정상적으로 떴다. 여기까지는 순조로웠다. 그런데 정작 구독을 눌러도 푸시가 오지 않았다.

원인을 찾아보니, OneSignal이 웹 푸시를 보내려면 서비스워커 파일을 사이트 루트 폴더에 직접 올려둬야 하는 구조였다. 브라우저가 이 파일을 통해서 백그라운드에서 푸시 이벤트를 받는 방식이라, 이 파일이 없으면 권한 팝업만 뜨고 실제 푸시는 절대 오지 않는다.

근데 진짜 문제는, 닷홈빌더로 만든 사이트는 파일질라(FTP)로 폴더에 직접 접속할 수가 없다. 빌더가 사이트 파일 구조 자체를 감싸서 관리하는 방식이다 보니, 내가 임의로 파일을 하나 추가해 넣을 방법이 없었던 거다. 설정도 다 끝냈고 팝업까지 띄웠는데, 마지막 파일 하나를 못 넣어서 완성이 안 되는 상황이 답답했다.

  • 빌더 자체에서 제공하는 알림/푸시 관련 기능이 있는지 확인 → 없었다
  • OneSignal 같은 외부 웹 푸시 서비스로 우회할 수 있는지 확인 → 설정은 가능했지만, 필수 파일을 서버에 올릴 방법이 없어 결국 막혔다
  • 이메일 알림 같은 대안이라도 있는지 확인 → 있어도 사용자가 이메일을 잘 확인하지 않는다는 점에서 실효성이 떨어진다고 판단했다

결국 "파일 하나를 내 마음대로 올릴 수 있는 서버 환경"이 없으면 웹 푸시 자체가 불가능하다는 걸 이때 알게 됐다. 빌더는 "빠르게 만들 수 있다"는 장점과 정확히 맞바꾼 만큼, 서버 파일 구조를 직접 건드리는 영역에서는 한계가 뚜렷했다.

그래서 PHP로 새로 만들기로 했다

결국 결론은 하나였다. 알림 기능을 제대로 넣으려면 서버 로직을 내가 직접 짤 수 있어야 한다.

이왕 다시 만드는 김에 목표를 조금 더 구체적으로 잡았다.

  1. 게시글/댓글이 등록되는 시점을 서버 코드로 직접 감지할 수 있을 것
  2. 그 시점에 원하는 대상에게 알림을 보낼 수 있을 것 (누구에게, 어떤 내용으로 보낼지 세밀하게 제어)
  3. 앱을 새로 만들지 않고도, 웹사이트 상태에서 모바일 알림까지 받을 수 있을 것

3번 조건이 사실 가장 까다로운 부분이었다. "앱스토어에 올리지 않고, 웹사이트만으로 폰에 알림을 보낼 방법이 있을까?"라는 질문에서 이후 FCM(Firebase Cloud Messaging) 웹 푸시를 알아보게 됐는데, 이 부분은 다음 글에서 자세히 풀어보려 한다.

돌아보며

빌더로 사이트를 운영해본 경험이 없었다면 아마 "그냥 처음부터 코드로 만들 걸"이라고 후회했을 수도 있다. 그런데 반대로, 빌더로 먼저 운영해보면서 어떤 기능이 실제로 필요한지를 사용자 반응으로 먼저 검증할 수 있었던 건 나쁘지 않은 순서였다고 생각한다. 처음부터 완벽하게 설계하려 했다면 오히려 우선순위를 놓쳤을 수도 있었을 것 같다.

 

Comments