Disallow: /
와 함께 허용 된 robots.txt가 Google과 예상대로 작동하지 않는 문제가 있습니다.Google에서 'robots.txt에 의해 차단 된 URL이 포함 된 Sitemap'경고
구글의 robots.txt 규칙을 제한하는 문제가 있습니다
User-agent: *
Host: sitename
Allow: /$
Allow: /sitemap.xml
Allow: /static/
Allow: /articles/
Disallow:/
Disallow: /static/*.js$
sitemap.xml의 구글에
/
수많은
/articles/...
의 URL :
<url><loc>http://sitename/</loc><changefreq>weekly</changefreq></url>
<url><loc>http://sitename/articles/some-article</loc><changefreq>weekly</changefreq></url>
<url><loc>http://sitename/articles/...</loc><changefreq>weekly</changefreq></url>
...
크롤링/robots.txt에 테스터을 포함
검색 콘솔에서이를 올바르게 해석하면 허용 된 URL로 표시됩니다 ('Fetch as Google'도 마찬가지 임).
사이트 이름/
사이트 이름/기사/일부-기사 그러나
, 크롤링가/사이트 맵가 sitemap.xml의 모든 /articles/...
URL에 대한 문제를 가지고 있음을 보여주고, 경고가 에서 보고서 :
,맵 robots.txt에 의해 차단 된 URL이 포함
따라서 /
의 색인이 생성됩니다 (Google이 사이트 맵 보고서에서 불평하지는 않았지만 어느 시점에서 색인에서 제외 되었음조차도).
이 설정 뒤에 그 이유는 구글이 제대로 SPA 경로를 렌더링 할 수없는, 그래서 일부 SPA 노선 (/
및 /articles/...
)의 조각으로 미리 렌더링하고 (다른 경로는 아직 사전 렌더링되지 않은 크롤링 수 있다고, 그것은 바람직하지 않다 그 (것)들을 순간에 포복하기 가능하게하십시오). 일시적
나는 조각없이 모든 알려진 경로의 블랙리스트에 Disallow: /
을 교체하고 문제가 사라 :
User-agent: *
Host: sitename
Allow: /$
Allow: /sitemap.xml
Allow: /static/
Allow: /articles/
Disallow: /blacklisted-route1
Disallow: /blacklisted-route2
...
Disallow: /static/*.js$
전자의 접근 방식의 문제는 무엇입니까? 왜 Google은 그런 행동을합니까?
robots.txt 규칙은 매우 모호하며 Google의 robots.txt 테스터는이를 확인합니다.
여기에서 Disallow/Allow 주문이 중요하며 Disallow가 먼저 와야합니다. – estus
당신은 그걸 실제로 시도해 볼 수 있습니다 ...하지만 오해의 소지가 있기 때문에 제 대답을 업데이트하고 있습니다 ... – JVerstry
아, 미안합니다. 귀하의 경우에 맞는 답이 아닌 그대로 답변을 업데이트하고 있습니다. – JVerstry