WordPress robots.txt 파일… 정의 및 기능

게시 됨: 2020-11-25

robots.txt 파일이 무엇이며 어떤 역할을 하는지 궁금하신가요? Robots.txt는 Google 및 기타 검색 엔진에서 사용하는 웹 크롤러(봇이라고 함)와 통신하는 데 사용됩니다. 웹사이트에서 색인을 생성할 부분과 무시할 부분을 알려줍니다. 따라서 robots.txt 파일은 SEO 노력을 하는 데 도움이 될 수 있습니다(또는 잠재적으로 중단될 수 있습니다!). 웹사이트의 순위를 높이려면 robots.txt를 잘 이해하는 것이 중요합니다!

Robots.txt는 어디에 있습니까?

WordPress는 일반적으로 소위 '가상' robots.txt 파일을 실행하므로 SFTP를 통해 액세스할 수 없습니다. 그러나 yourdomain.com/robots.txt로 이동하여 기본 콘텐츠를 볼 수 있습니다. 아마 다음과 같은 것을 보게 될 것입니다:

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

첫 번째 줄은 규칙이 적용되는 봇을 지정합니다. 이 예에서 별표는 규칙이 모든 봇(예: Google, Bing 등)에 적용됨을 의미합니다.

두 번째 줄은 봇이 /wp-admin 폴더에 액세스하는 것을 방지하는 규칙을 정의하고 세 번째 줄은 봇이 /wp-admin/admin-ajax.php 파일을 구문 분석할 수 있도록 허용한다고 명시합니다.

나만의 규칙 추가

간단한 WordPress 웹 사이트의 경우 WordPress에서 robots.txt 파일에 적용하는 기본 규칙이 충분할 수 있습니다. 그러나 웹 사이트를 색인화하는 방법에 대해 검색 엔진 봇에 보다 구체적인 지침을 제공하기 위해 더 많은 제어와 고유한 규칙을 추가하는 기능을 원하면 고유한 물리적 robots.txt 파일을 만들어 루트 아래에 넣어야 합니다. 설치 디렉토리.

robots.txt 파일을 재구성하고 해당 봇이 크롤링할 수 있는 항목을 정확히 정의해야 하는 몇 가지 이유가 있습니다. 주요 이유 중 하나는 봇이 사이트를 크롤링하는 데 소요한 시간과 관련이 있습니다. Google(및 기타)은 봇이 모든 웹사이트에서 무제한 시간을 보내는 것을 허용하지 않습니다... 수조 개의 페이지에서 가장 유용한 정보를 추출하기 위해 봇이 크롤링할 대상과 무시할 대상에 대해 보다 미묘한 접근 방식을 취해야 합니다. 웹사이트에 대해.

Pressidium으로 웹사이트 호스팅

60일 환불 보장

계획 보기

봇이 웹사이트의 모든 페이지를 크롤링하도록 허용하면 크롤링 시간의 일부가 중요하지 않거나 관련이 없는 페이지에 소비됩니다. 이렇게 하면 사이트에서 더 관련성이 높은 영역을 탐색하는 데 더 적은 시간을 할애할 수 있습니다. 웹사이트의 일부에 대한 봇의 액세스를 허용하지 않으면 봇이 사이트의 가장 관련성이 높은 부분(인덱싱되기를 희망함)에서 정보를 추출하는 데 사용할 수 있는 시간이 늘어납니다. 크롤링이 더 빠르기 때문에 Google은 귀하의 웹사이트를 다시 방문하여 사이트 색인을 최신 상태로 유지할 가능성이 높습니다. 이는 새로운 블로그 게시물 및 기타 새로운 콘텐츠가 더 빨리 색인화될 가능성이 있다는 것을 의미하며 이는 좋은 소식입니다.

Robots.txt 편집의 예

robots.txt는 사용자 정의를 위한 충분한 공간을 제공합니다. 따라서 봇이 사이트를 색인화하는 방법을 지시하는 데 사용할 수 있는 규칙의 다양한 예를 제공했습니다.

봇 허용 또는 금지

먼저 특정 봇을 제한하는 방법을 살펴보겠습니다. 이렇게 하려면 별표(*)를 차단하려는 봇 사용자 에이전트의 이름(예: 'MSNBot')으로 바꾸기만 하면 됩니다. 알려진 사용자 에이전트의 전체 목록은 여기에서 확인할 수 있습니다.

 User-agent: MSNBot Disallow: /

두 번째 줄에 대시를 넣으면 모든 디렉터리에 대한 봇의 액세스가 제한됩니다.

단일 봇만 사이트를 크롤링할 수 있도록 2단계 프로세스를 사용합니다. 먼저 이 하나의 봇을 예외로 설정하고 다음과 같이 모든 봇을 허용하지 않습니다.

 User-agent: Google Disallow: User-agent: * Disallow: /

모든 콘텐츠의 모든 봇에 대한 액세스를 허용하려면 다음 두 줄을 추가합니다.

 User-agent: * Disallow:

robots.txt 파일을 생성한 다음 비워 두기만 하면 동일한 효과를 얻을 수 있습니다.

특정 파일에 대한 접근 차단

봇이 웹사이트의 특정 파일을 인덱싱하는 것을 중지하고 싶으십니까? 그건 쉽습니다! 아래 예에서는 검색 엔진이 당사 웹사이트의 모든 .pdf 파일에 액세스하는 것을 방지했습니다.

 User-agent: * Disallow: /*.pdf$

"$" 기호는 URL의 끝을 정의하는 데 사용됩니다. 대소문자를 구분하므로 이름이 my.PDF인 파일은 계속 크롤링됩니다(CAPS 참고).

복잡한 논리 표현식

Google과 같은 일부 검색 엔진은 더 복잡한 정규식의 사용을 이해합니다. 그러나 모든 검색 엔진이 robots.txt의 논리적 표현을 이해할 수 있는 것은 아닙니다.

이에 대한 한 가지 예는 $ 기호를 사용하는 것입니다. robots.txt 파일에서 이 기호는 URL의 끝을 나타냅니다. 따라서 다음 예에서는 검색 봇이 .php로 끝나는 파일을 읽고 인덱싱하지 못하도록 차단했습니다.

 Disallow: /*.php$

이것은 /index.php가 인덱싱될 수 없다는 것을 의미하지만 /index.php?p=1은 인덱싱될 수 있습니다. 이것은 매우 특정한 상황에서만 유용하며 주의해서 사용해야 합니다. 그렇지 않으면 의도하지 않은 파일에 대한 봇 액세스를 차단할 위험이 있습니다!

개별적으로 적용되는 규칙을 지정하여 각 봇에 대해 다른 규칙을 설정할 수도 있습니다. 아래 예제 코드는 모든 봇의 wp-admin 폴더에 대한 액세스를 제한하는 동시에 Bing 검색 엔진의 전체 사이트에 대한 액세스를 차단합니다. 꼭 이렇게 하고 싶지는 않겠지만 robots.txt 파일의 규칙이 얼마나 유연할 수 있는지 보여주는 유용한 데모입니다.

 User-agent: * Disallow: /wp-admin/ User-agent: Bingbot Disallow: /

XML 사이트맵

XML 사이트맵은 검색 봇이 웹사이트의 레이아웃을 이해하는 데 실제로 도움이 됩니다. 그러나 유용하려면 봇이 사이트맵의 위치를 ​​알아야 합니다. '사이트맵 지시문'은 특히 검색 엔진에 a) 사이트의 사이트맵이 존재하고 b) 사이트맵을 찾을 수 있는 위치를 알려주는 데 사용됩니다.

 Sitemap: http://www.example.com/sitemap.xml User-agent: * Disallow:

여러 사이트맵 위치를 지정할 수도 있습니다.

 Sitemap: http://www.example.com/sitemap_1.xml Sitemap: http://www.example.com/sitemap_2.xml User-agent:* Disallow

봇 크롤링 지연

robots.txt 파일을 통해 달성할 수 있는 또 다른 기능은 봇에게 사이트 크롤링을 '느리게' 지시하는 것입니다. 높은 봇 트래픽 수준으로 인해 서버에 과부하가 걸리는 경우 이 작업이 필요할 수 있습니다. 이렇게 하려면 속도를 늦추려는 사용자 에이전트를 지정한 다음 지연을 추가합니다.

 User-agent: BingBot Disallow: /wp-admin/ Crawl-delay: 10

이 예에서 인용 부호(10)는 사이트의 개별 페이지를 크롤링하는 사이에 발생하려는 지연입니다. 따라서 위의 예에서 우리는 Bing Bot이 크롤링하는 각 페이지 사이에 10초 동안 일시 중지하도록 요청했으며 그렇게 함으로써 서버에 약간의 호흡 공간을 제공했습니다.

이 특정 robots.txt 규칙에 대한 유일한 약간 나쁜 소식은 Google 봇이 규칙을 준수하지 않는다는 것입니다. 그러나 Google Search Console 내에서 봇이 속도를 늦추도록 지시할 수 있습니다.

robots.txt 규칙에 대한 참고사항:

  • 모든 robots.txt 규칙은 대소문자를 구분합니다. 신중하게 입력하십시오!
  • 줄 시작에서 명령 앞에 공백이 없는지 확인하십시오.
  • robots.txt의 변경 사항을 봇이 기록하는 데 24~36시간이 소요될 수 있습니다.

WordPress robots.txt 파일을 테스트하고 제출하는 방법

새 robots.txt 파일을 만들 때 파일에 오류가 없는지 확인하는 것이 좋습니다. Google Search Console을 사용하여 이 작업을 수행할 수 있습니다.

먼저 도메인을 제출해야 합니다(웹사이트 설정을 위한 Search Console 계정이 아직 없는 경우). Google은 도메인을 확인하기 위해 DNS에 추가해야 하는 TXT 레코드를 제공합니다.

이 DNS 업데이트가 전파되면(참을성이 없이… Cloudflare를 사용하여 DNS를 관리해 보십시오) robots.txt 테스터를 방문하여 robots.txt 파일의 내용에 대한 경고가 있는지 확인할 수 있습니다.

규칙을 테스트하기 위해 수행할 수 있는 또 다른 작업은 원하는 효과를 얻는 것인데 Ryte와 같은 robots.txt 테스트 도구를 사용하는 것입니다.

도메인을 입력하고 오른쪽 패널에서 사용자 에이전트를 선택하기만 하면 됩니다. 제출하면 결과가 표시됩니다.

결론

robots.txt를 사용하는 방법을 아는 것은 개발자 툴킷의 또 다른 유용한 도구입니다. 이 튜토리얼에서 제거한 유일한 기능이 robots.txt 파일이 Google과 같은 봇을 차단하고 있지 않은지 확인하는 기능이라면(그렇게 하고 싶지 않을 가능성이 매우 높음) 그것은 나쁘지 않습니다! 마찬가지로, 보시다시피 robots.txt는 언젠가 유용하게 될 웹사이트에 대한 훨씬 더 세분화된 제어 기능을 제공합니다.