Skip to main content

Command Palette

Search for a command to run...

[React] 구글 서치 콘솔 & 네이버 서치 어드바이저에 웹사이트를 등록해보자(+SEO 💯점 만들기)

Updated
4 min readView as Markdown
[React] 구글 서치 콘솔 & 네이버 서치 어드바이저에 웹사이트를 등록해보자(+SEO 💯점 만들기)

맡은 기능이랑 반응형 오류를 이미 다 잡아서,,! SEO 100점을 목표로 리팩토링을 진행했다.

6월 25일 기준으로 우리 웹사이트를 검색 했을 때 전혀 안 나오는 걸 확인할 수 있었다🧐

라이트 하우스 측정 결과

저번 프로젝트와 마찬가지로 robots.txt가 문제였다…👿

🥸 robot.txt가 뭔데?

검색 엔진 크롤러에게 특정 파일이나 디렉토리에 대한 접근 권한을 부여하거나 제한하는 역할이다.

🥸 엥?? 이게 무슨 말이야

robots.txt는

쉽게 말해서 "검색 로봇한테 알려주는 안내문"이고
예를 들어 우리 집에 손님이 왔을 때 "여긴 들어오지 마세요!" 라고 문 앞에 붙여두는 쪽지 같은 역할은 하는것..!!

사용방법

User-agent: *
Disallow: /admin/
Allow: /photos/
  • User-agent: * → 모든 검색 로봇에게 말하기

  • Disallow: /admin//admin/ 이라는 주소에는 들어오지 마!

  • Allow: /photos//photos/들어와도 돼!

위치

웹사이트의 가장 처음(루트) 에 있어야 함!
예) https://example.com/robots.txt

근데 이거면 완벽히 숨겨지는건가?

결론부터 말하면 NO!!!!

robots.txt는 "부탁"하는 것 !
쉽게 말하면 친절한 로봇은 말을 잘 듣지 나쁜 로봇은 무시할 수도 있는 것처럼 무조건은 아니라는 점을 알아둬야 한다.!

🤧 그럼 이제 리팩토링을 해보자

→ 일단 우리 프로젝트에서는 robots.txt + sitemap.xml이 없다.

public/robots.txt

User-agent: *
Disallow:
Sitemap: https://www.bookjob.co.kr/sitemap.xml

public/sitemap.xml

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://웹사이트 주소/</loc>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://웹사이트 주소/원하는 페이지</loc>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://웹사이트 주소/원하는 페이지</loc>
    <priority>0.7</priority>
  </url>
</urlset>

🤓 sitemap.xml?

검색 엔진에게 “우리 사이트에는 이런 페이지들이 있어요!”라고 알려주는 XML 형식의 파일이다.

검색 엔진은 사이트를 돌아다니며 페이지를 수집하지만 모든 페이지를 자동으로 발견하지 못할 수 있기 때문에 sitemap을 주면 이렇게 말하는 것..!

🗣️ “야 구글! 이 목록에 있는 페이지들 꼭 수집해줘!!!!!”

sitemap.xml 장점

장점설명
검색 누락 방지구글이 못 찾는 페이지도 직접 알려줄 수 있음
색인 속도 향상신규 페이지나 업데이트를 더 빨리 반영할 수 있음
구조 파악 도움검색 엔진이 사이트의 전체 구조를 이해하는 데 도움됨

sitemap.xml까지 추가해주고 해야 하는 일은

  1. 구글 서치 콘솔 등록 : 구글 검색에 내 사이트 잘 보이게 등록하는 관리자 도구

  2. 네이버 서치 어드바이저 등록 : 네이버 검색에 잘 뜨게 설정하는 시스템

이다!!

🌎 구글 서치 콘솔 등록 하기

링크

  1. 시작하기 클릭

  1. 이렇게 두개의 종류가 나온다

  • 도메인

    1. 전체 사이트를 한번에 등록한다(고유 도메인을 가진 사이트 ㅊㅊ)
  • url 접두어

    1. 특정 url만 등록한다(블로그 ㅊㅊ)

나는 도메인을 선택해줬고 백엔드 팀원에게 도메인에 다음 TXT 레코드를 DNS에 추가해달라고 부탁했다 🧐

확인 완료 !

근데 이제 문제가 발생했다..

Sitemaps에서 새 사이트맵 추가 > sitemap.xml 했는데 유효하지 않다는 오류가 발생했다.

브라우저에

https://웹사이트 주소/sitemap.xml

를 검색했는데

  • 정상적으로 XML 파일이 열리면: 구글 서치 콘솔에서도 제출이 가능해야 함

  • 404 에러가 나거나 열리지 않으면: 서버에 파일이 아직 배포되지 않았거나 경로가 잘못됨

우리 웹사이트는 정상적으로 열리는 데 이상하게 <scripts>가 중간에 껴있었다. 🧐

배포에서 문제가 생겼나 하고 vercel.json을 확인했고

{
  "rewrites": [{ "source": "/(.*)", "destination": "/index.html" }]
}

모든 경로를 /index.html로 리다이렉트하는 설정이 되어 있어서 오류가 생겼구나!! 하고 예외처리를 해줬다.

{
  "rewrites": [
    { "source": "/sitemap.xml", "destination": "/sitemap.xml" },
    { "source": "/robots.txt", "destination": "/robots.txt" },
    { "source": "/(.*)", "destination": "/index.html" }
  ]
}

배포 후에 시크릿 모드로 확인하니

없어진 걸 확인할 수 있었다 !!!!!

근데도…같은 오류가 계속 뜸 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ🤭 아놔…그래서 블로그들을 찾아보니 뭔가 이상한 걸 확인했다..

다들 /sitemap.xml만 입력한게 아니라 https시작으로 https://웹사이트/sitemap.xml이렇게 제출한 것…😅

따라했더니 바로 성공 🤧

성공했다고 바로 검색이 되는 것은 아니고 일반적으로 4일 ~ 4주 내에 검색된다고 한다

  • site:웹사이트이름.co.kr를 주기적으로 인터넷에 검색해보면 된다.

그리고 좋은 소식은 ,,!!! 배포 후에 라이트하우스 측정 해보니 SEO가 100점인 것을 확인했다 👍🏻

robot.txt 뿐만 아니라 img에 alt를 다 넣어줘서 100점 달성 .. ❤️ !

이제 네이버 서치 어드바이저 등록을 해보자

💄 네이버 서치 어드바이저

등록 링크

  1. 네이버 로그인을 해줬다

  2. 웹마스터도구에 들어가주기

  1. 사이트 등록

    등록을 해주니

    이런게 뜬다! 나는 HTML 파일 업로드를 선택해주었고 public/다운받은파일.html 을 넣어주고 배포해줬다.

    url에 검색해주니 정상적으로 뜨는걸 확인했다 🤭

맨 위에 우리 웹사이트가 나올 날을 기다리며…✨ㅋㅋㅋㅋ

🌱 배운 점

처음으로 구글 서치 콘솔과 네이버 서치 어드바이저에 웹사이트를 등록해봤는데 생각보다 할 것도 많고 시간이 꽤 걸렸다.. 특히 소유권 확인이나 사이트맵 제출 같은 과정은 처음엔 생소했지만 직접 하나씩 해보면서 흐름을 익힐 수 있었고 무엇보다 재밌었다 ..!!!

그래도 관련된 레퍼런스나 블로그 글이 많아서 비교적 쉽게 따라갈 수 있었던 점이 다행인 부분이다 ~

얼른 시간 지나서 + 사람들이 많이 이용해서 검색창에 검색했을 때 위에 뜨면 좋겠다 ㅎㅋㅎㅋ

+업데이트(6/30일)

넘 신나,,,! 🤭

More from this blog

[React] 클라이언트에서 이미지를 압축해보자

우리는 서버 비용을 직접 부담하고 있기 때문에 항상 최적화와 비용 절감 방법을 고민하게 된다. 현재 자유게시판이 활성화가 많이 되지는 않았지만 사용자들이 업로드하는 이미지가 평균 5MB 이상일 경우를 대비해서 클라이언트에서 이미지 압축을 진행했다. 웹에서는 크게 두 가지 방법이 있었는데 Canvas API를 직접 사용하는 방법 browser-image-compression 라이브러리를 활용하는 방법 이 있다. 여러 장점을 고려해 brow...

Oct 8, 20252 min read
[React] 클라이언트에서 이미지를 압축해보자

[책 추천] 프론트엔드 개발자라면 반드시 알아야 할 '웹 접근성' 이야기

내가 생각하는 프론트엔드 개발자는 단순히 보이는 화면만 구현하는 것을 넘어서 누구나 접근할 수 있는 웹을 만드는 데 중요한 역할을 해야 한다고 생각한다. 실무에 바로 적용하는 웹 접근성 가이드북 이번에 이 책을 받고 프엔들이 읽기에 너무 좋다고 생각해서 블로그에 추천 글까지 적게 되었다 ! 목차 Chatper1. 쉽게 이해하는 접근성 Chapter2. 웹 접근성의 기초 Chapter3. HTML 태그, 의미 있게 사용하기 Chpater4...

Jul 27, 20255 min read
[책 추천] 프론트엔드 개발자라면 반드시 알아야 할 '웹 접근성' 이야기

[Next.js] 나만의 학습 블로그 만들기#3-다국어 지원 (Feat.next-i18next)

오늘은 다국어 지원 가능한 기능 구현 과정을 적어보려고 한다. 원래는 댓글기능보다 먼저 구현하려고 했는데 ,, 갑자기 댓글기능 알아보다가 재밌어서 먼저 끝내버렸다,,,🙄 시작하기 전에 정말 어려웠다 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 어려움이 많아서 기능 적용하는 데 시간이 꽤 걸렸다 ,,, 다국어 지원 기능 나는 영어랑 일본어를 추가해줬다 ! (해외취업도 관심 있기 때문에 나중에 이력서 낼 때 도움이 되지 않을까? ..🤭) 다국어 구현 방법 구현 방...

Jul 15, 20254 min read
[Next.js] 나만의 학습 블로그 만들기#3-다국어 지원 (Feat.next-i18next)

[Next.js] 나만의 학습 블로그 만들기#4 - 댓글 기능(Feat. Giscus)

댓글기능이 있으면 무조건 재밌을 거 같아서 넣어보려고 한다🤭 아무래도 개발에 관련된 학습 블로그라서 개발자들이 많을 것으로 예상했다 ! 그래서 깃허브 이슈 기반 댓글 시스템을 기반으로 기능을 구현해보려고 한다. 👉🏻 도움이 많이 된 블로그 ! 방법 Giscus | (https://giscus.app) utterances | (https://utteranc.es) 알아봤을 때는 이렇게 두 개가 유명하다고 한다. 그럼 각각의 특징과 장...

Jul 14, 20253 min read
[Next.js] 나만의 학습 블로그 만들기#4 - 댓글 기능(Feat. Giscus)

[React] React + localStorage로 하루에 한 번만 보이는 팝업 만들기

이번 프로젝트에 설문조사 배너를 제작했는데… 흠… 뭔가 별로라는 의견이 많았다! (팀원들 의견) 🙄 디자인이 문제일까? 해서 래퍼런스를 많이 찾아봤는데 … ! 일반 웹사이트는 설문조사 배너 자체를 안 만들어요,,,🤭 충격 그 자체 ( 난 아직 멀었음 ) 그리고 알아보니깐.. 설문조사 배너는 사용자 경험을 해치기 쉬워 잘 쓰이지 않는다고 한다! 그래서 나는 모달 팝업 방식으로 전환하기로 결정했고 실무에서 자주 사용하는 패턴으로 구현했다. 방...

Jul 9, 20253 min read
[React] React + localStorage로 하루에 한 번만 보이는 팝업 만들기
S

subin-dev-blog

27 posts

끊임없이 배우기 위해 노력합니다. 🌱