1. SEO는 왜 중요할까#
내 사이트가 검색엔진에 잘 노출되기 위해서
라고 간단히 얘기할 수도 있습니다.
다만 현업에서 SEO 업무를 진행하면서 느낀 2가지 관점에서의 장점을 얘기해보자면
1) 기술적 관점#
구글이나 네이버같은 SEO 프로바이더들은 막강한 영향력을 가지고 있습니다. 이 프로바이더들은 본인들의 검색엔진에서 내 사이트의 페이지가 SERP에 더 잘 노출될 수 있는 기술적인 가이드를 제공해주고 우리는 페이지를 구성할 때 이 내용을 표준으로서 참고하여 만드는 것이 권장됩니다.
기술적 영향력이 강한 프로바이더들이 제공하는 가이드이므로 신뢰도가 높기 때문에 시키는 것만 잘해도 내 웹사이트가 성능 좋게 잘 만들어질 수 있는 틀을 갖출 수 있게 됩니다.
예로 SEO를 위한 작업 중 흔히들 아는 서버측 렌더링(SSR)/정적 렌더링(SSG, ISR)을 이용한다던가, TTFB 개선을 위해 CDN을 이용한다던가 모두 가이드에 나와있는 내용인데요. 크롤러 봇은 유저입장에서 사이트를 평가하기에 SEO를 위한 것 = 유저를 위한 것이 된다고 볼 수 있습니다.
2) 마케팅적 관점#
다른 마케팅 방법과 비교했을 때 돈들이지 않으면서 불특정 다수에게 서비스를 알릴 수 있는 가장 확실한 마케팅입니다.
구글, 네이버같은 사람들이 가장 자주 방문하는 서비스에서 제 사이트를 비용없이 노출할 수 있게 되는데
회사에서 보았지만.. 마케팅에 쓰이는 비용은 정말 장난이 아니었습니다... 지하철 광고 집행비, 강남 한복판 옥외 전광판 집행비, 광고 모델 섭외비 등 마케팅팀에 슬쩍 들은 비용만 해도 억소리나는 금액이었거든요.
돈을 그렇게 투자하더라도 성공이 보장되지 않는 시대이다보니 비용은 낮추고 접근성은 올릴 수 있는 SEO는 적어도 지금 제 현업 도메인에서는 최고의 마케팅이라고 느끼고 있습니다.
2. SEO 순위를 높이는 방법#
- 크롤링
- 색인
- 순위
로 나누어 볼 때 검색엔진에 노출 가능 조건인 색인까지는 어느 사이트든 대부분 문제없이 이루어집니다.
즉 '노출' 하는 것 자체만으로는 경쟁력이 크지 않으므로, 내 페이지가 그들보다 상단에 위치하도록 '순위'를 높이고 또 높은 순위를 바탕으로 내 사이트에 유입될 수 있게 CTR 지표를 개선하는 것이 SEO의 최종적인 목표라고 볼 수 있는데요.
구글링을 해봤을 때 흔히 나오는 대표적인 SEO 작업들 몇가지를 아래에 나열해보면 순위에 직접적으로 관여되는 것은 그리 많지 않습니다.
- 사이트맵
- JSONLD
- 메타데이터
- 유저 친화적 URL 구성
몇 레퍼런스들은 이러한 작업들을 검색엔진 최적화 작업이라며 한번에 묶어서 얘기하고, 필수 작업인 것처럼 얘기하곤 합니다.
순위적인 관점에서 이걸 한다고 해서 구글에서 더 좋은 점수를 주거나 하지 않고, 노출적인 관점에서도 이 것들이 필수 요소는 아닙니다.
다만 대부분의 항목이 유저입장에서 SERP에 나온 결과물 중 내 페이지를 클릭할 확률을 높여주는 요소들이므로 (필수라기보다는) 반강제되는 옵션이라고 봐야합니다.
sitemap을 예로 들어봅시다.
새로 만들어진 페이지를 크롤러에게 알려주는 행위가 sitemap인 것인데 만약 크롤러가 내 사이트의 새로운 페이지를 잘 찾아갈 환경이 링크 등으로 잘 구성되어 있다면? sitemap이 없더라도 크롤러는 찾아올 수 있습니다.
물론 내 사이트가 유명하지 않아서 크롤러가 접근할 진입점이 많지 않다던가 하는 이유로 페이지가 존재한다는 것을 선제적으로 알려주는 것이 좋은 옵션이라서 sitemap 작업을 할 뿐이죠.
즉 순위와는 연관이 없는 것을 언급하지 않고 SEO 작업이라고 묶어서 얘기한 것 + 노출과 관련해서도 필수인 작업은 아니므로 반은 잘못되었다고 생각하고, 그럼에도 해야하는 건 맞는 작업이라는 데에서 반은 맞다고 생각합니다.
그럼 이제 잘 알려진 작업들 중 실제로 순위와 연관이 있는 작업을 구분해보려고 합니다.
2. 구글이 말하는 SERP 순위와 연관있는 최적화 기법 ✅#
1) 페이지 렌더링 방식#


메이저 검색엔진들은 크롤러 봇이 페이지를 잘 인식하게 하기 위해서 웬만하면 서버측 렌더링, 정적 렌더링을 이용하라는 스탠스이지만 이러한 렌더링 방식 자체가 SEO 순위와 직접적으로 연결되어 있다는 언급은 없습니다.
다만 아래 3)에서 언급할 코어 웹바이탈 지표는 확실한 순위 반영 요소인데, 이 중 LCP나 INP가 이러한 렌더링 방식과 직결되는 지표이므로 '사실상' 직접적으로 기여된다고 판단하여 추가했습니다.
3)에서 묶어서 언급하지 않은 이유는 이 페이지 렌더링 방식 하나만으로도 하나의 주제가 나온다고 생각했기 때문인데요.
저는 보통 아래의 기준으로 페이지의 렌더링 방식을 결정합니다.

콘텐츠가 텍스트 위주라고 하더라도
- 질문/답변식으로 답변이 수시로 달리는 등 페이지 콘텐츠가 자주 변경되는지
- 일방적인 정보 제공인 블로그나 기사처럼 페이지 콘텐츠가 변경될 확률이 현저히 낮은지
등 콘텐츠의 성질에 따라 페이지 렌더링 방식을 선택합니다.
2) EEAT와 링크#


링크가 과거보다는 엄청난 순위 결정 요소는 아니라는 언급이 보이긴 하지만 여전히 공식문서에서 언급되어 있는바
관련 논문에서 다른 많은 사이트에서 내 페이지가 링크되거나, 다른 유명한 사이트에서 내 페이지의 링크가 걸리게 되는 것은 SEO에서의 이점이라고 언급합니다.

콘텐츠의 질을 높이는 것도 순위 지정 요소이며, 내 페이지가 외부 사이트에 링크로 걸리는 것도 순위 지정 요소이기에 EEAT의 일환으로 내 페이지 콘텐츠 질을 높여 다른 거물급 사이트에서 내 페이지가 레퍼런스로서 언급되게 하는 것은 SEO상 큰 이점이 됩니다.
그리고 문서에서 내부링크냐 외부링크냐를 구분하지 않은 것으로 보아 제가 컨트롤할 수 없는 외부링크는 별론으로 하고 제 사이트의 페이지간 연결하는 내부링크도 적절히 활용하는 것이 좋아보이네요.
- 외부링크: 백링크와 동일어로 다른 사이트에서 내 페이지를 링크
- 내부링크: 내 사이트의 페이지에서 또 다른 내 페이지를 링크
💡 EEAT: 경험, 전문성, 권위, 신뢰성
3) 코어 웹바이탈#
코어 웹바이탈로는 LCP, INP, CLS라는 3개의 주요 항목과 또 이 것들과 엮인 FCP, TTFB, TTI 같은 지표도 존재합니다.
위에서 SEO를 위한 것 = 유저를 위한 것라고 했는데요. 이 코어 웹바이탈을 위한 작업이 유저 경험을 개선할 수 있는 작업과 일치하기 때문입니다.
1)에서 언급했던 적절한 페이지 렌더링 방식 사용, CDN 캐싱, 레이지 로딩 등 웹 개발에 있어서의 많은 개념이 여기에 포함됩니다.
세부적인 작업에 대한 글은 아니니 개선 관련 공식문서만 남기고 넘어가겠습니다.
4) 시멘틱 태그와 title#


모든 태그에 대해 시멘틱하게 작성해야 한다는 내용은 없지만 적어도 heading 태그에 대한 언급은 존재합니다.
문서의 아이덴티티를 나타낼 수 있는 정보인 title 태그와 heading 태그는 SERP 순위와 연관된 직접적인 요소로 작용하는 것으로 볼 수 있습니다.
3. 구글이 말하는 SERP 순위와 연관없는 최적화 기법 🤔#
1) sitemap#

사이트맵은 위에서도 말했듯 검색엔진 크롤러에게 내 새로운 페이지의 링크를 알려주어 크롤링을 하라는 용도로 제공합니다.
이 작업을 했다고 해서 검색엔진에 색인까지 일사천리로 되어 SERP에 떡하니 노출되고 그런 것은 절대 아니고 '이런 페이지가 있으니 와서 얼른 크롤링해주세요' 느낌으로 내 페이지에 대해 진입점만 제공할 뿐입니다.
즉, 선제적으로 검색엔진에 내 페이지를 알려서 더 빨리 색인이 될 수 있게 돕는다는데에서 간접적인 이점이 있는 작업입니다.
페이지가 실제로 색인이 된다던가, 높은 순위를 받는다던가 하는 것은 별개의 이야기란 뜻입니다.
- 아직 규모가 작은 사이트에서는 검색엔진 콘솔에서 일일이 URL을 제공하여 요청을 하는 등으로 커버가 가능하지만
- 기업급의 규모이거나 UGC 사이트인 경우에는 어드민이 일일이 할 수 없으므로 사이트맵을 제공함으로서 보충하게 됩니다.
예시로 제 현업 도메인은 UGC 성격이라 하루에 몇천, 몇만개의 페이지가 생성이 됩니다. 사이트맵에 동적으로 이 새로운 콘텐츠의 링크를 추가하기 위해서 DB에 해당 데이터가 저장된 테이블의 로우를 전부 액세스하는 상당한 부하가 걸리는 작업이 진행됩니다.
실제 서비스되는 웹서버에서 이 작업을 하는 것은 서버가 터질 수 있으니 적절치 않고 그렇다고 별도의 서버를 띄우자니 비용적인 단점이 생기므로 AWS 람다를 통해 수행하고, 람다로 실행시킬 코드는 step function으로 event bridge에서 지정한 스케줄러로 새벽 3시반에 실행시키도록 하고 있습니다.
아직 여러 사정으로 테이블의 모든 로우를 조회하고 있지만 만약 비슷한 상황에 처한 분이 계시다면 콘텐츠가 오늘 날짜 이후로 update된 콘텐츠만 가져오는 식으로 DB 액세스를 하는 것을 권장드립니다..
2) 리치스니펫(JSON-LD)#
리치스니펫은 검색엔진에서 내 콘텐츠가 풍성(?)하게 보일 수 있게 합니다.
콘텐츠의 성격마다 적합한 리치스니펫이 있는데 질문/답변 위주의 글을 예시로 들자면

이렇게 답변을 부각한다던가 일반 검색결과와 다른 느낌을 제공합니다.
똑같은 주제의 글이 위 캡쳐처럼 SERP에 노출된다고 했을 때 유저입장에서 어느 글을 더 클릭하고 싶을까요?
당연히 윗 글일 겁니다. 대부분의 리치스니펫 UI가 구글에서 인증한 느낌이 들고 콘텐츠의 대한 정보를 미리 일부 제공하는 등 호기심을 유발할 수 있거든요.

리치스니펫 문법인 JSONLD를 적용한다고 해서 곧바로 내 페이지가 리치스니펫이 적용된 채로 보이게 되는 것도 아니고, 순위에 직접적으로 좋은 영향이 생기는 것도 아닙니다만 리치스니펫이 적용되었을 때 유저가 내 페이지를 선택할 확률을 높일 수 있으므로(= CTR 증가) 간접적인 이점이 됩니다.
💡 CTR(Click-Through Rate): 콘텐츠가 노출된 횟수 대비 사용자가 실제로 클릭하여 유입된 비율
3) title을 제외한 메타 데이터#
메타 데이터는 해당 페이지에 대한 정보를 정의하는 데이터입니다.


대표적으로 검색엔진이나 SNS 공유 시 노출될 페이지의 정보를 담을 수 있습니다.
역시 이를 설정한다고 하여 직접적으로 순위에 영향이 생기는 것은 아니고 유저에게 내 페이지의 정보를 요약하여 제공함으로써 CTR을 올릴 수 있는 작업이므로 간접적으로 기여합니다.
4) 유저가 인지하기 쉬운 URI 사용#

URI를 구성할 때 단순 id보다는 유저가 알아보기 좋은 slug형태로 구성하는 것을 권장합니다.
- ❌
/post/1 - ✅
/post/how-to-make-pizza

구글의 순위 알고리즘 측면에서 도움이 되는건 아니지만 유저입장에서는 path가 slug형태로 보이는게 더 선택할 확률이 높으므로 간접적인 이점이 있다는 뜻으로 볼 수 있습니다.

개인적으로도 검색결과에 나타나는 브레드크럼이 페이지의 정보를 담고 있는 느낌이 들 때 더욱 클릭하고 싶은 마음이 들곤 했습니다.
4. 정리#
지금까지 SEO하면 떠오르는 작업들을 '순위'의 관점에서 공식문서를 통해 팩트체크해보면서 돌아보았는데요.
결론은 '순위'와 관련이 되었든 안되었든 공식문서에서 언급된 것들이면 다 하는 것이 좋습니다.
순위와 직접적인 연관은 없더라도 유저의 선택을 유발할 수 있는 요소들이라면 내 사이트에 유입되는데에 도움이 되니까요.
저는 SEO가 중요한 현업에서 해왔던 작업들이 실제로 얼마나 도움이 되는 걸까 싶어 호기심차 알아봤을 뿐이고 우리가 알던 작업들이 사실은 조금 도움이 되는 것이든, 많은 도움이 되는 것이든 해야하는 것은 변함없는 사실입니다.
다만 제가 공유하고 싶었던 것은 흔히 알려진 JSONLD, 메타데이터같은 작업들보단 비교적 덜 언급되는 코어 웹바이탈 개선을 위한 CDN같은 작업이 우리가 목표로 하는 최종적인 SEO에 더 도움이 된다는 것이죠.
시작에서도 말했듯 색인을 거쳐 '노출'시키는 것까지는 어느 사이트든 쉽게 할 수 있습니다. 다만 우리의 목표는 내 페이지가 유저의 시야에 들어 유입되게 하는 것이니까요. 그러기 위해선 SERP 상단에 노출되게 하는 '순위'라는 개념에 대해서 강조를 하며 글을 마무리하겠습니다 :)