개발
코드 / 아키텍처 / 디버깅
-
홈 페이지 SEO title이 CMS 설정값을 반영하도록 수정
홈 페이지의 <title> 태그가 CMS에서 관리하는 설정값(cms_site.meta.seo.title)을 제대로 로드하지 않던 버그를 고쳤다. 처음엔 작은 수정처럼 보였지만, 이걸 통해 SEO 전략과 콘텐츠 관리 아키텍처를 다시 생각해보게 됐다.
읽기 → -
CMS 기반 타이틀로 홈 페이지 SEO 메타 신뢰성 확보
홈 페이지의 title 태그가 실제로 CMS에서 관리하는 SEO 메타 데이터(cms_site.meta.seo.title)를 반영하지 못하고 있던 버그를 발견했다. Base.astro 라는 루트 레이아웃 파일에서 타이틀을 직접 DB에서 가져오도록 배선을 수정했는데, 이게 생각보다 깊이 있는 선택 문제더라.
읽기 → -
홈 페이지 SEO 타이틀이 고정값으로 나오던 버그 수정
홈 페이지의 <title> 태그가 하드코딩된 고정값으로만 나가고 있었다. CMS에서 SEO 타이틀을 업데이트해도 반영이 안 되는 문제였는데, 이걸 cms_site.meta.seo.title에서 동적으로 가져오도록 src/layouts/Layout.astro를 수정했다.
읽기 → -
홈 페이지 SEO 타이틀이 CMS 설정을 따르도록 수정
홈 페이지의 <title> 태그를 하드코딩된 값에서 데이터베이스 값(cms_site.meta.seo.title)으로 연동하는 작업을 했다. 작은 변경처럼 보이지만 콘텐츠 팀이 SEO 설정을 독립적으로 관리할 수 있게 만든 중요한 배선이다.
읽기 → -
홈 페이지 title을 CMS 데이터에서 읽도록 배선
홈 페이지의 <title> 태그가 하드코딩되어 있던 것을 CMS 데이터베이스(cms_site.meta.seo.title)에서 동적으로 가져오도록 변경했다. Base.astro 하나의 파일 수정이었지만, 이건 꽤 중요한 SEO 배선의 문제였다.
읽기 → -
홈 페이지 제목을 CMS에서 관리하도록 수정
홈 페이지의 SEO 제목을 하드코딩된 고정값이 아니라 CMS 데이터베이스에서 동적으로 가져오도록 변경했다. src/layouts/Base.astro 에서 cms_site.meta.seo.title 을 참조하는 배선 작업인데, 이게 생각보다 흥미로운 버그였고 팀 커뮤니케이션 관점에서도 배운 게 많아서 정리해본다.
읽기 → -
동적 URL 페이지의 SEO 신호 정상화
레이아웃 파일에 canonical 태그와 og:url 메타 정보를 추가했다. 사소해 보이지만 검색 엔진과 소셜 미디어 플랫폼이 우리 페이지를 올바르게 인식하도록 하는 핵심 신호다.
읽기 → -
페이지 검색 노출성 개선한 메타 태그 추가
검색 엔진과 소셜 미디어 플랫폼이 우리 페이지를 올바르게 인식하도록 canonical 과 og:url 메타 태그를 추가했다. 작은 변경이지만 SEO 전략 전체에서 생각보다 중요한 부분이었다.
읽기 → -
검색 순위와 소셜 공유에 혼동 주던 도메인 메타태그 통일
운영 도메인이 growthebutton.com 으로 정해졌는데, 콘텐츠의 canonical 태그와 og:url이 여전히 구 도메인이나 불명확한 주소를 가리키고 있던 상황이었다. layout.tsx 에서 이 메타태그들을 통일하는 작업을 했다.
읽기 → -
검색·소셜 메타데이터 누락 해결
요즘 웹서비스의 검색 엔진 노출과 소셜 쉐어 도달률은 메타데이터 품질에 직결된다. 이번 작업은 사이트에 거의 없었던 SEO 메타데이터들을 전면 보강한 경험을 기록해본다.
읽기 → -
JSON 경로 부재 시 DB 업데이트 결과 누락되던 버그
자동화 워커 스크립트에서 JSON 필드를 갱신할 때, 부모 요소가 없으면 실제로는 데이터베이스 변경이 일어나지 않았는데도 영향 받은 행 수를 제대로 추적하지 못하는 버그를 발견했다. 이 글에선 왜 이런 일이 생기고, 실무에서 어떤 영향을 미치는지 풀어본다.
읽기 → -
도메인 이전에 따른 분석 추적 경로 수정
서비스 도메인을 마이그레이션하면서 site-pv.py에 남겨진 레거시 도메인 참조를 정리하는 작업이었다. 단순한 텍스트 교체처럼 보이지만, 이런 숨은 의존성들이 얼마나 광범위하게 퍼져 있는지 느낀 작업이다.
읽기 → -
도메인 변경으로 끊어진 통계 수집 복구
도메인 이전 후 통계 대시보드 스크립트가 더 이상 로그를 수집하지 못하는 문제를 발견했다. 스크립트 내에 하드코딩된 구 도메인 경로를 신규 도메인으로 변경해 정상화했다.
읽기 → -
블로그 발행 파이프라인 저장소 분리
블로그 발행 기능을 기존 메인 저장소에서 분리하여 별도의 사이드 저장소로 옮기는 작업을 마무리했다. 동시에 개발 환경의 초기화 스크립트도 함께 수정해서 새 저장소 구조를 반영하도록 했다.
읽기 → -
결제 검증 오류 복구력 개선
Apple IAP(In-App Purchase) 시스템의 영수증 검증 로직을 개선했다. 기존에는 sandbox 환경에서만 폴백을 적용했는데, 이제 프로덕션 환경의 비정상 응답 전반으로 그 범위를 확대한 변경이다.
읽기 → -
clientID 누락으로 Google 로그인 터지던 iOS 크래시 수정
Google Sign-In 로그인 플로우에서 iOS 사용자들이 겪던 크래시를 추적하고 수정했다. 겉으로는 "GIDSignIn signInWithOptions 예외"로 보였지만, 진짜 원인은 Apple 개발자 콘솔에 등록한 clientID를 앱 설정에서 누락한 것이었다.
읽기 → -
Google/Apple 로그인 콜백 크래시 수정
크로스 플랫폼 앱(Flutter iOS)에서 소셜 로그인 콜백을 처리할 때 일어나는 버그를 잡았다. Google 로그인 후 앱이 크래시 나고, Apple 로그인 취소 버튼이 에러를 뱉던 부분인데, iOS 네이티브 레이어에서 단독으로 처리해야 한다는 걸 깨달으면서 처음으로 심각하게 '프레임워크의 이중성'을 느낀 작업이었다.
읽기 → -
로그인 때마다 앱 뻗던 버그, AppDelegate 방식으로 해결
로그인 버튼을 누르는 순간 앱이 크래시하는 이슈를 겪었다. Apple·Google 소셜 로그인 플러그인을 쓸 때마다 일관되게 터졌는데, 원인은 iOS 생명주기 관리 방식의 충돌이었다. 결국 UIScene 기반 설정을 완전히 제거하고 클래식 AppDelegate 방식으로 복귀해서 해결했다.
읽기 → -
로그인 버튼 누르면 앱이 죽던 버그 수정
Firebase나 Google OAuth 같은 써드파티 인증을 모바일 앱에 연동할 때는 늘 신경 쓸 게 많다. 이번엔 일일 성경 앱에서 Google 로그인을 누르는 순간 앱이 죽어버리는 크래시가 발생했고, 동시에 로그인 버튼의 Google 로고도 제대로 표시되지 않던 문제를 함께 수정했다. 작은 문제처럼 보이지만 로그인은 앱의 첫 진입점이고, 이곳이 깨지면
읽기 → -
의존성 버전 명시로 팀 빌드 일관성 확보
url_launcher pod 의존성을 Podfile.lock에 반영했다. 사소해 보이는 작업이지만, 팀 프로젝트에서는 꽤 중요한 동기화 작업이다.
읽기 →