얼마 전에 네이버 카페에 조금 특이한 질문이 올라왔습니다. 카페24에서 호스팅 중인 워드프레스 사이트에서 구글 페이지스피드 인사이트 검사 시 크롤링 및 색인 생성과 관련하여 robots.txt가 유효하지 않음 경고가 표시되는 문제였습니다. Error에는 Unknow directive가 표시되었습니다.
robots.txt가 유효하지 않습니다 오류
robots.txt가 유효하지 않음 오류에 대하여 구글의 공식 문서 "robots.txt가 유효하지 않습니다"를 참고할 수 있습니다.
잘못된 robots.txt 구성에 의하여 다음과 같은 두 가지 유형의 문제가 발생할 수 있다고 합니다.
- 검색엔진이 공개된 페이지를 크롤링하지 못하게 하여 콘텐츠가 검색 결과에 덜 자주 표시되도록 하거나,
- 검색엔진이 검색 결과에 표시하지 않으려는 페이지를 크롤링할 수 있습니다.
보고서에서 robots.txt가 유효하지 않음 오류의 일반적인 오류는 다음과 같습니다.
- No user-agent specified
- Pattern should either be empty, start with "/" or "*"
- Unknown directive
- Invalid sitemap URL
- $ should only be used at the end of the pattern
카페24에서 "robots.txt가 유효하지 않음" 오류가 발생하는 경우
이 오류가 발생하면 robots.txt 파일이 유효한지 먼저 체크해보아야 할 것 같습니다. 워드프레스에서 robots.txt 파일을 직접 생성하거나 수정하지 않으면 이 파일이 잘못될 가능성은 낮을 것입니다.
구글 문서에서 잘못된 robots.txt 구성은 "검색엔진이 공개된 페이지를 크롤링하지 못하게" 한다고 설명하는 것으로 보아서 이 문제가 방화벽과 관련된 문제인 경우가 있을 수 있습니다.
실제 카페24에서 이 오류가 발생하고 관련 메시지에 아래와 같이 [**robots.txt?ckattempt=1**] 문구가 나타나는 경우 이 문제는 카페24의 스팸쉴드나 웹방화벽과 관련된 문제일 수 있습니다.
카페24에서 이와 같은 문제가 발생하면 다음 세 가지가 문제의 원인일 수 있습니다.
- 웹방화벽(ModSecurity)
- 게시판 스팸필터관리
- 스팸 SHIELD
셋 중 하나라도 활성화(ON)되어 있으면 이러한 오류가 발생한다고 하는 경우가 있습니다. 먼저는 스팸쉴드만 비활성화하여 문제가 해결되는지 체크해보시기 바랍니다.
참고로 국내 웹호스팅의 경우 웹방화벽 때문에 워드프레스에서 다양한 문제가 나타날 수 있습니다. 엘리멘터 등의 페이지 빌더로 페이지를 만들 때 업데이트가 되지 않거나 페이지가 공개되지 않는 경우 웹호스팅의 웹방화벽을 해제하면 문제가 해결되는 경우가 종종 있습니다. ModSecurity의 특정 규칙 때문에 이런 현상이 발생할 수 있습니다.
또한, 웹방화벽 때문에 "업데이트 실패. 응답이 유효한 JSON 응답이 아닙니다" 에러가 발생하여 워드프레스 기본 편집기인 블록 에디터(구텐베르크)를 사용하지 못하는 문제가 발생하기도 합니다. 예를 들어, 나우호스팅이라는 국내호스팅에서 서버 보안 강화를 위해 어제 WAF(웹방화벽)를 설치했다고 합니다. 이 때문에 워드프레스에 에러가 발생하는 문제가 있었습니다.
워드프레스의 기능을 방해하지 않으면서 웹방화벽을 구성하기가 쉽지 않은 것 같습니다.
참고
https://avada.tistory.com/3046
https://avada.tistory.com/3117
https://avada.tistory.com/3119