robots.txt 파일이 없어도 검색 엔진에서 사이트를 크롤링(Crawl)하여 색인화(Indexing)하지만 이 파일을 만드는 것이 좋습니다. 구글 웹마스터 도구에서 사이트맵 파일을 제출하지 않은 경우 구글은 이 파일에 입력되어 있는 XML 사이트맵 파일을 찾게 됩니다.
robots.txt 파일은 사이트의 루트 폴더에 위치하게 됩니다. robots.txt 파일이 없으면 컴퓨터에서 robots.txt 파일을 하나 만들어 FTP를 통해 업로드할 수 있습니다.
SEO 플러그인을 사용하는 경우 SEO 플러그인에 의해 robots.txt 파일이 제어될 수 있습니다. 만약 이 파일을 만들어 루트 디렉터리에 업로드하면 SEO 플러그인에서 robots.txt 파일을 수정할 수 없게 될 수 있습니다.
워드프레스에서 동적으로 생성되는 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 파일은 다음과 같은 형식으로 작성할 수 있습니다. robots.txt 파일은 사이트의 루트 폴더에 위치하며, 파일을 직접 만드는 경우 FTP에 접속할 수 있어야 합니다.
모든 항목 색인 허용
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를 누르면 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 //실제 사이트맵 주소로 교체...
안녕하세요 .
저는 네이버 서치어드바이저에
Sitemap: https://블로그 주소 /sitemap.xml
Sitemap: https://블로그 주소/news-sitemap.xml
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://블로그 주소/sitemap_index.xml
이렇게 뜨는데 Sitemap: https://블로그 주소/news-sitemap.xml
이게 맞나요?
왜 news-sitemap.xml 이라고 뜨는지 모르겠네요? 혹시 이런것 때문에 네이버 노출에 방해가 될까요? 다른 블로그는 네이버에 노출이 잘되는데. 유독 이 블로그만 모든 글이 노출이 안됩니다.
혹시 새로 다시 robots.txt 를 설정하는 방법이 있나요?
감사합니다.
안녕하세요, 워드맨님.
Sitemap 주소는 실제 사이트맵 주소를 입력하시기 바랍니다.
Rank math, Yoast SEO의 경우 /sitemap_index.xml이 사이트맵 URL입니다.
AIO SEO는 /sitemap.xml이 사이트맵 URL입니다.
실제 사이트주소/sitemap.xml을 입력해보면 올바른 사이트맵 주소를 확인할 수 있을 것입니다.
가령 Rank Math 사이트맵을 사용한다면 사이트주소/sitemap.xml을 입력하면 /sitemap_index.xml로 이동하게 됩니다.
예시: https://www.thewordcracker.com/sitemap.xml 링크를 클릭하면 https://www.thewordcracker.com/sitemap_index.xml 링크로 바뀌게 됩니다.
확인해보니
1 https:// 블로그 /sitemap-1.xml 2024-06-08T14:17:01Z
2 https:// 블로그 /image-sitemap-index-1.xml 2024-06-08T03:51:56Z
이렇게 화면에 나오는데 문제가 없나요?
jetpack 플러그인에 사이트맵을 끄니
랭크매스 사이트맵이 뜨네요.
https:// 블로그주소 /post-sitemap1.xml
2024-06-09 11:09 +00:00
https:// 블로그주소 /post-sitemap2.xml
2024-06-09 10:54 +00:00
https://블로그주소 /page-sitemap.xml
2018-09-08 23:41 +00:00
저는 post 사이트맵이 2개인데 이건 맞나요?
감사합니다
SEO 플러그인으로는 무슨 플러그인이 설치되어 있나요?
저는 Rank Math SEO 를 사용합니다.
구글에는 노출이 활발하게 잘 되는 상태고
네이버에는 글 절반의 정도만 노출이 되는 상태입니다.
혹시 사이트맵 2개가 원인일까요?
랭크 매쓰의 사이트맵 기능을 사용한다면 사이트맵 주소는 /sitemap_index.xml입니다.
랭크 매쓰 유료 버전을 사용한다면 아마 뉴스 사이트맵도 지원할 것 같습니다. 그런 경우 추가로 지정하면 될 것 같습니다.
제 블로그의 경우 robots.txt에 여러 개의 사이트맵을 지정하고 있습니다.
Sitemap: https://www.thewordcracker.com/sitemap_index.xml
Sitemap: https://www.thewordcracker.com/simple/sitemap_index.xml
Sitemap: https://www.thewordcracker.com/simple/jp/sitemap.xml
Sitemap: https://ja.thewordcracker.com/sitemap_index.xml
Sitemap: https://www.thewordcracker.com/forum/sitemap_index.xml
Sitemap: https://www.thewordcracker.com/en-us/sitemap_index.xml
루트 폴더에 업로드 할때는 텍스트 편집기로 해당 내용을 입력하고 txt파일을 만든 다음에 업로드 하면 되는 건가요?
PC에서 만든 다음에 업로드해도 되고, 루트 폴더에 robots.txt 파일을 만든 다음 내용을 추가해도 됩니다.
안녕하세요. 글을 정말 정성스럽게 잘쓰셨네요. 너무 멋져요~
저는 워드프레스를 한지 얼마 안 되었어요. 그래서 읽다 보니 저는 잘 이해가 안되어서 직접 여쭈어 봅니다.
글을 쓰고 구글서치콘솔에 색인 요청을 했더니
"페이지 공개 상태: 페이지 색인을 생성할 수 없음: robots.txt에 의해 차단됨" 이라고 나오는데요.
이런 경우, 워드프레스에서 robots.txt 파일 만들기에서 어떤것이 필수적으로 들어가야 해결이 될까요? 바쁘시겠지만 답변 부탁드립니다.
https://www.thewordcracker.com/?p=56307 글을 참고해보시기 바랍니다. 워드프레스에서 기본적으로 robots.txt 파일을 생성하므로 그대로 사용하셔도 되고, 직접 robots.txt 파일을 만들어 세밀하게 조정하셔도 됩니다. Rank Math 등 SEO 플러그인에서 robots.txt 파일을 수정하는 것도 가능합니다. "robots.txt에 의해 차단됨"이라고 나온다면 보통은 무시하셔도 됩니다. 대부분 색인되어서는 안 되는 URL일 수 있습니다.
안녕하십니까?
늘 퀄리티 있고 훌륭한 정보 잘 보고 있습니다! ^^ 한가지 여쭤보고 싶은 것이 생겨서요.
모든 검색봇은 허용하되 네이버봇만 차단하려고 하는데요.
User-agent: *
Disallow: /wp-admin/
Disallow: /readme.html
User-agent: Yeti
Disallow:/
이런식으로 작성하면 될런지요?
바쁘신데 시간 내주셔서 감사합니다. (__)
안녕하세요, 심정선님.
네. 그대로 사용하시면 될 것 같습니다.
비슷한 예로 https://stackoverflow.com/questions/56049660/how-to-exclude-all-robots-except-googlebot-and-bingbot-with-both-robots-txt-and 글에서 다음과 같은 코드를 제시하네요.
코드를 작성할 때 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/
안녕하세요.
robots.txt 파일은 사이트의 루트 폴더에 위치하게 됩니다.
여기에서 루트폴더가 정확히 무엇인지 궁금합니다..
보통 웹호스팅에서 ftp에 접속했을 때, public_html 폴더(블루호스트 등 대다수)나 www 폴더 (예: 카페24) 혹은 html 폴더(예: 닷홈)가 루트 폴더가 됩니다. 경우에 따라 곧바로 루트 폴더로 접속되는 호스팅도 있습니다(예: 가비아).
서브도메인의 경우 서브도메인의 Document Root 폴더가 루트 폴더가 될 것입니다. 서브도메인을 지정할 때 Document Root 폴더를 지정하게 됩니다. 그리고 블루호스트 등에서 애드온 도메인을 추가하는 경우에도 애드온 도메인을 추가할 때 지정한 Document Root 폴더가 루트 폴더가 될 것입니다("블루호스트(Bluehost)에서 서브 도메인 만들기/애드온 도메인 설정하기" 참고).
잘 봤습니다. 감사합니다.
궁금한게 있는데요
robots.txt 에서 Allow 부분을 아래와 같이하는 이유가 있나요 ?
Allow: /wp-content/uploads/
Allow: / <- 요러게 하면 안되나요 ?
저는 여러 가지를 테스트해보고 현재 위의 글에서 제시한 대로 설정하여 사용하고 있습니다.
하나의 예시일 뿐이니 참고만 하세요.
안녕하세요, 현재 Yoast를 사용하고 있고
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
이런 상태인데요
네이버 웹마스터 도구에서 페이지 소유 확인 과정에서
"메타태그를 찾을 수 없거나, 네이버 검색로봇이 사이트 서버에 접근을 할 수 없습니다.
호스팅 또는 사이트 서버 관리자에게 확인 요청해 주세요."
라는 메세지와 함께 인증이 되지 않더라구요..
meta태그를 head 사이에 입력했는데도 말이죠.
티스토리는 잘 등록해 놓은 상태인데 워드프레스는 잘 되지가 않더라구요.
혹시 이 과정을 거치셨나요?
워드프레스를 알아가고자 네이버 검색을 하면 여기가 자주 노출이 되더라구요.
안녕하세요?
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의 경우 웹 방화벽을 비활성화한 후에 테스태해볼 수도 있을 것 같습니다.)
저도 지금 같은 이유로 밤낮을 고생하고 있습니다..ㅠㅠ
혹시 해결하셨다면 방법 좀 공유 가능할까요...
서버에서 네이버봇(Yeti)를 차단하고 있을 수 있습니다. 카페24 같은 경우 방화벽을 비활성화해보시기 바랍니다. 호스팅에 연락하여 네이버봇을 차단하고 있지 않은지 체크해보시겠어요?
안녕하세요 좋은 글 감사드립니다. 둘러보니 좋은 글이 많아 깜짝 놀랐습니다. 정말 감사합니다.
여쭤보고 싶은 것이 하나 있는데, 저는 현재 Yoast를 사용하고 있습니다. 기본 robots.txt로
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
이렇게 적혀있는데, 이 경우에는 admin을 제외한 모든 페이지에 크롤링을 허용한다는 뜻일까요?
감사합니다ㅠㅠ!
안녕하세요?
/wp-admin/은 허용하지 않지만 /wp-admin/admin-ajax.php는 허용한다는 의미 같네요.
참고로 저는 robots.txt 파일을 하나 만들고 다음 내용을 추가했습니다.
User-agent: *
Allow: /wp-content/uploads/
Disallow: /wp-admin/
Disallow: /readme.html
Sitemap: http://www.example.com/sitemap.xml //사이트맵 주소...
안녕하세요? 좋은 정보 잘 보았습니다.
궁금한 점이 있는데, 작성글 맨 위에
1. robots.txt 파일 작성하기
robots.txt 파일은 다음과 같은 형식으로 작성할 수 있습니다.
'모든 항목 색인 허용'
User-agent: * Disallow:
또는
User-agent: * Allow: /
'모든 항목 색인 금지'
에서 Disallow와 Allow의 한글 설명이 서로 뒤바뀐 것이 아닌가요? Allow가 허용, Disallow가 불가인데, 오타가 난 것 같습니다. 선생님 글을 보고 robots.txt을 수정하고 있는데 발견하여 글 남김니다. 좋은 글 감사합니다:)
안녕하세요?
새벽인데도 제 블로그를 방문해주셔서 댓글을 남겨주셨네요.
위의 내용은 맞는데요, 다만 광고 배너 때문에 혼동스럽게 되어 있네요.
User-agent: *
Disallow: /
--> 이 경우 서버에서 모든 robots 제외
User-agent: *
Disallow:
--> 이 경우 모든 robots 전면 액세스 허용
자세한 내용은 http://www.robotstxt.org/robotstxt.html 글을 참고해보세요.