워드프레스 Robots.txt 파일 만들기 및 최적화하기

robots.txt 파일이 없어도 검색 엔진에서 사이트를 크롤링(Crawl)하여 색인화(Indexing)하지만 이 파일을 만드는 것이 좋습니다.  구글 웹마스터 도구에서 사이트맵 파일을 제출하지 않은 경우 구글은 이 파일에 입력되어 있는 XML 사이트맵 파일을 찾게 됩니다.

robots.txt 파일은 사이트의 루트 폴더에 위치하게 됩니다. robots.txt 파일이 없으면 컴퓨터에서 robots.txt 파일을 하나 만들어 FTP를 통해 업로드할 수 있습니다. (FTP를 사용하는 방법은 여기를 참고해보세요.)

워드프레스에서 동적으로 생성되는 robots.txt

워드프레스에서는 robots 파일이 동적으로 생성됩니다. example.com/robots.txt를 브라우저 주소란에 입력하면 다음과 같은 코드가 출력될 것입니다.

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php

Sitemap: https://example.com/wp-sitemap.xml

wp-sitemap.xml은 워드프레스에서 자동으로 생성되는 사이트맵입니다. 사이트에 따라 위의 코드에서 사이트맵 라인이 표시되지 않을 수 있습니다. 또한, Yoast SEO나 Rank Math와 같은 플러그인을 설치할 경우 사이트맵은 SEO 플러그인에서 생성하는 사이트맵으로 대체됩니다.

동적으로 생성되는 로봇 파일은 robots_txt 후크를 사용하여 수정이 가능합니다. 자세한 내용은 워드프레스 개발자 문서를 참고해보세요.

또한, Yoast SEO나 Rank Math의 프리미엄 버전에서는 이 파일을 편집할 수 있는 기능을 제공합니다. "워드프레스 멀티사이트 robots.txt 파일 수정하기"의 "SEO 플러그인에서 robots.txt 파일 편집하기" 부분을 참고해보세요.

하지만 아래의 설명에 따라 이 파일을 직접 만들어 루트 폴더로 업로드하는 경우에는 루트 폴더에 업로드된 파일이 우선적으로 적용됩니다.

robots.txt 파일 만들기

robots.txt 파일은 다음과 같은 형식으로 작성할 수 있습니다.

모든 항목 색인 허용

User-agent: *
Disallow:

- 또는 -

User-agent: *
Allow: /

모든 항목 색인 금지

User-agent: *
Disallow: /

특정 폴더 색인 금지

User-agent: *
Disallow: /folder/

Googlebot이 특정 파일을 제외한 폴더의 색인을 금지하도록 설정

User-agent: Googlebot
Disallow: /folder1/
Allow: /folder1/myfile.html

보다 자세한 내용은 이 글을 참고해보시기 바랍니다.

워드프레스에서 robots.txt 파일 만들기

워드프레스에서는 다음과 같이 일부 폴더가 검색엔진에서 색인화하지 않도록 설정할 수 있습니다.

User-Agent: *
Allow: /wp-content/uploads/
Disallow: /wp-content/plugins/

원하는 경우 /wp-admin/ 폴더를 차단할 수 있습니다. 저는 어드민 폴더를 차단하도록 추가했는데, 허용하기를 원하는 사람도 있는 것 같습니다. 그리고 /wp-content/plugins/ 폴더의 경우 위에서는 차단하도록 설정했지만 구글에서 페이지 렌더링(처리)에 필요한 Javascript나 CSS를 플러그인에서 출력할 수 있으므로 Yoast에서는 차단하지 않는다고 하네요. 많은 글에서 /wp-content/plugins/ 폴더도 차단할 것을 권장하고 있지만 허용해도 좋을 듯합니다.

사이트맵은 다음과 같은 형식으로 추가하면 됩니다.

Sitemap: https://www.example.com/sitemap.xml
Sitemap: https://www.example.com/post-sitemap.xml

SEO 플러그인을 설치한 경우 robots.txt 파일을 최적화하는 옵션을 제공하기도 합니다. 예를 들어, All in One SEO를 설치한 경우 대시보드의 왼쪽 사이드바에서 All in One SEO > Robots.txt 옵션을 선택하면 Robots.txt 파일을 생성할 수 있고 최적화할 수 있는 옵션도 제공됩니다.

Optimize your Robots file - Robots.txt 파일 최적화하기

Optimize를 누르면 All in One SEO 플러그인에서 현재 robots.txt 파일을 분석하여 변경 권장 사항을 제시합니다.

예시:

저는 다음과 비슷하게 만들었습니다.

User-agent: *
Allow: /wp-content/uploads/
Disallow: /wp-admin/
Disallow: /readme.html

Sitemap: https://www.example.com/sitemap.xml //실제 사이트맵 주소로 교체...

참고:


20개 댓글

  1. 루트 폴더에 업로드 할때는 텍스트 편집기로 해당 내용을 입력하고 txt파일을 만든 다음에 업로드 하면 되는 건가요?

  2. 안녕하세요. 글을 정말 정성스럽게 잘쓰셨네요. 너무 멋져요~
    저는 워드프레스를 한지 얼마 안 되었어요. 그래서 읽다 보니 저는 잘 이해가 안되어서 직접 여쭈어 봅니다.
    글을 쓰고 구글서치콘솔에 색인 요청을 했더니
    "페이지 공개 상태: 페이지 색인을 생성할 수 없음: robots.txt에 의해 차단됨" 이라고 나오는데요.
    이런 경우, 워드프레스에서 robots.txt 파일 만들기에서 어떤것이 필수적으로 들어가야 해결이 될까요? 바쁘시겠지만 답변 부탁드립니다.

    1. https://www.thewordcracker.com/?p=56307 글을 참고해보시기 바랍니다. 워드프레스에서 기본적으로 robots.txt 파일을 생성하므로 그대로 사용하셔도 되고, 직접 robots.txt 파일을 만들어 세밀하게 조정하셔도 됩니다. Rank Math 등 SEO 플러그인에서 robots.txt 파일을 수정하는 것도 가능합니다. "robots.txt에 의해 차단됨"이라고 나온다면 보통은 무시하셔도 됩니다. 대부분 색인되어서는 안 되는 URL일 수 있습니다.

  3. 안녕하십니까?
    늘 퀄리티 있고 훌륭한 정보 잘 보고 있습니다! ^^ 한가지 여쭤보고 싶은 것이 생겨서요.
    모든 검색봇은 허용하되 네이버봇만 차단하려고 하는데요.

    User-agent: *
    Disallow: /wp-admin/
    Disallow: /readme.html

    User-agent: Yeti
    Disallow:/

    이런식으로 작성하면 될런지요?
    바쁘신데 시간 내주셔서 감사합니다. (__)

    1. 안녕하세요, 심정선님.

      네. 그대로 사용하시면 될 것 같습니다.

      비슷한 예로 https://stackoverflow.com/questions/56049660/how-to-exclude-all-robots-except-googlebot-and-bingbot-with-both-robots-txt-and 글에서 다음과 같은 코드를 제시하네요.

      User-agent: *
      Disallow: /

      User-agent: Bingbot
      Disallow:

      User-agent: Googlebot
      Disallow:

      코드를 작성할 때 User-agent로 시작하는 레코드(record)의 순서는 중요하지 않다고 하네요.

      검색엔진에서 확실하게 차단하려면 robots 메타 태그를 사용하는 것이 바람직할 수 있을 것 같습니다. 다음 글을 참고해보세요.

      https://www.thewordcracker.com/blog/%EC%82%AC%EC%9D%B4%ED%8A%B8%EA%B0%80-%EA%B2%80%EC%83%89%EC%97%94%EC%A7%84%EC%97%90-%EA%B2%80%EC%83%89%EB%90%98%EC%A7%80-%EC%95%8A%EB%8F%84%EB%A1%9D-%EC%B0%A8%EB%8B%A8%ED%95%98%EA%B8%B0/

  4. 안녕하세요.
    robots.txt 파일은 사이트의 루트 폴더에 위치하게 됩니다.
    여기에서 루트폴더가 정확히 무엇인지 궁금합니다..

    1. 보통 웹호스팅에서 ftp에 접속했을 때, public_html 폴더(블루호스트 등 대다수)나 www 폴더 (예: 카페24) 혹은 html 폴더(예: 닷홈)가 루트 폴더가 됩니다. 경우에 따라 곧바로 루트 폴더로 접속되는 호스팅도 있습니다(예: 가비아).

      서브도메인의 경우 서브도메인의 Document Root 폴더가 루트 폴더가 될 것입니다. 서브도메인을 지정할 때 Document Root 폴더를 지정하게 됩니다. 그리고 블루호스트 등에서 애드온 도메인을 추가하는 경우에도 애드온 도메인을 추가할 때 지정한 Document Root 폴더가 루트 폴더가 될 것입니다("블루호스트(Bluehost)에서 서브 도메인 만들기/애드온 도메인 설정하기" 참고).

    1. 저는 여러 가지를 테스트해보고 현재 위의 글에서 제시한 대로 설정하여 사용하고 있습니다.

      하나의 예시일 뿐이니 참고만 하세요.

  5. 안녕하세요, 현재 Yoast를 사용하고 있고
    User-agent: *
    Disallow: /wp-admin/
    Allow: /wp-admin/admin-ajax.php
    이런 상태인데요
    네이버 웹마스터 도구에서 페이지 소유 확인 과정에서
    "메타태그를 찾을 수 없거나, 네이버 검색로봇이 사이트 서버에 접근을 할 수 없습니다.
    호스팅 또는 사이트 서버 관리자에게 확인 요청해 주세요."
    라는 메세지와 함께 인증이 되지 않더라구요..

    meta태그를 head 사이에 입력했는데도 말이죠.
    티스토리는 잘 등록해 놓은 상태인데 워드프레스는 잘 되지가 않더라구요.

    혹시 이 과정을 거치셨나요?
    워드프레스를 알아가고자 네이버 검색을 하면 여기가 자주 노출이 되더라구요.

    1. 안녕하세요?

      head 사이에 추가한 메타태그는 삭제하시고 Yoast SEO를 사용하여 메타태그를 설정해보시기 바랍니다.

      다음 글을 참고해보시기 바랍니다.

      https://www.thewordcracker.com/basic/%EA%B5%AC%EA%B8%80%EC%9D%B4%EB%82%98-%EB%84%A4%EC%9D%B4%EB%B2%84%EC%97%90-%EA%B2%80%EC%83%89%EB%90%98%EB%8A%94-%EC%82%AC%EC%9D%B4%ED%8A%B8%EC%9D%98-%EC%A0%9C%EB%AA%A9-%EB%B3%80%EA%B2%BD/

      그래도 잘 안 되면 플러그인을 모두 비활성화한 후에 테스트해보시기 바랍니다.

      사용하고 계신 웹호스팅은 어디인가요?
      경우에 따라 웹호스팅 문제일 수도 있습니다.
      (카페24의 경우 웹 방화벽을 비활성화한 후에 테스태해볼 수도 있을 것 같습니다.)

    2. 저도 지금 같은 이유로 밤낮을 고생하고 있습니다..ㅠㅠ
      혹시 해결하셨다면 방법 좀 공유 가능할까요...

      1. 서버에서 네이버봇(Yeti)를 차단하고 있을 수 있습니다. 카페24 같은 경우 방화벽을 비활성화해보시기 바랍니다. 호스팅에 연락하여 네이버봇을 차단하고 있지 않은지 체크해보시겠어요?

  6. 안녕하세요 좋은 글 감사드립니다. 둘러보니 좋은 글이 많아 깜짝 놀랐습니다. 정말 감사합니다.

    여쭤보고 싶은 것이 하나 있는데, 저는 현재 Yoast를 사용하고 있습니다. 기본 robots.txt로

    User-agent: *
    Disallow: /wp-admin/
    Allow: /wp-admin/admin-ajax.php

    이렇게 적혀있는데, 이 경우에는 admin을 제외한 모든 페이지에 크롤링을 허용한다는 뜻일까요?

    감사합니다ㅠㅠ!

  7. 참고로 저는 robots.txt 파일을 하나 만들고 다음 내용을 추가했습니다.
    User-agent: *
    Allow: /wp-content/uploads/
    Disallow: /wp-admin/
    Disallow: /readme.html

    Sitemap: http://www.example.com/sitemap.xml //사이트맵 주소...

  8. 안녕하세요? 좋은 정보 잘 보았습니다.
    궁금한 점이 있는데, 작성글 맨 위에

    1. robots.txt 파일 작성하기
    robots.txt 파일은 다음과 같은 형식으로 작성할 수 있습니다.
    '모든 항목 색인 허용'
    User-agent: * Disallow:
    또는
    User-agent: * Allow: /
    '모든 항목 색인 금지'

    에서 Disallow와 Allow의 한글 설명이 서로 뒤바뀐 것이 아닌가요? Allow가 허용, Disallow가 불가인데, 오타가 난 것 같습니다. 선생님 글을 보고 robots.txt을 수정하고 있는데 발견하여 글 남김니다. 좋은 글 감사합니다:)

    1. 안녕하세요?
      새벽인데도 제 블로그를 방문해주셔서 댓글을 남겨주셨네요.
      위의 내용은 맞는데요, 다만 광고 배너 때문에 혼동스럽게 되어 있네요.

      User-agent: *
      Disallow: /

      --> 이 경우 서버에서 모든 robots 제외

      User-agent: *
      Disallow:

      --> 이 경우 모든 robots 전면 액세스 허용

      자세한 내용은 http://www.robotstxt.org/robotstxt.html 글을 참고해보세요.

댓글 남기기

* 이메일 주소는 공개되지 않습니다.