User-agent: * Allow: / Disallow: /dashboard Disallow: /profile Disallow: /saved Disallow: /alerts Disallow: /applications Disallow: /messages Disallow: /notifications Disallow: /account Disallow: /onboarding Disallow: /employer/ Disallow: /admin/ # Auth and password flows — kept crawlable so Google can fetch the page and # see its tag. Blocking here # creates GSC "Indexed, though blocked by robots.txt" warnings because Google # can't fetch the body to see the noindex. # Internal / non-page endpoints. /api/ is JSON, /r/ is a redirector, # share links are private one-off URLs. /og/ is intentionally crawlable — # social unfurlers (Twitter/LinkedIn) respect robots, and the OG routes # set X-Robots-Tag: noindex so they don't enter Google's index. Disallow: /api/ # Public JSON feeds for AI crawlers and LLM ingestion — carved out from /api/ block. Allow: /api/public/jobs.json Allow: /api/public/schools.json Allow: /api/public/insights/ Allow: /api/public/answers/ Allow: /api/public/answers.jsonl Allow: /api/public/datasets/ Allow: /indexnow-key.txt Disallow: /r/ Disallow: /resume/share/ Disallow: /shortlists/share/ # Crawl-budget hygiene: don't waste crawl on filter/sort/pagination param permutations. Disallow: /*?sort= Disallow: /*?page= Disallow: /*?filter= Disallow: /*?q= Disallow: /*?utm_ Disallow: /*?category= Disallow: /*?company= Disallow: /*?location= Disallow: /*?ref= Disallow: /*&sort= Disallow: /*&page= Disallow: /*&filter= Disallow: /*&q= Disallow: /*&utm_ Disallow: /*&category= Disallow: /*&company= Disallow: /*&location= Disallow: /*&ref= # Facet-filter params — canonical is the path-facet route # (/jobs/board/$board, /jobs/role/$role, /jobs/type/$type). Filtered # /jobs?* variants already emit `noindex` + canonical=/jobs; blocking # here preserves crawl budget too. `r`/`c` are the compact aliases. Disallow: /*?board= Disallow: /*?role= Disallow: /*?type= Disallow: /*?r= Disallow: /*?c= Disallow: /*&board= Disallow: /*&role= Disallow: /*&type= Disallow: /*&r= Disallow: /*&c= Disallow: /*?postedWithin= Disallow: /*&postedWithin= # Googlebot-specific: keep the per-job JSON twins out of the web index. # They're for LLM crawlers (see AI-crawler blocks below); Google keeps # surfacing them as 404s in Search Console when jobs unpublish. The .json # route already sends X-Robots-Tag: noindex, this makes it explicit at # the crawl layer too. User-agent: Googlebot Disallow: /jobs/*.json$ Disallow: /jobs.json # NOTE: once a User-agent block targets Googlebot by name, Google IGNORES # the User-agent: * group entirely. So we MUST duplicate the crawl-budget # and auth disallows here or Googlebot will crawl /dashboard, /profile, # ?utm_, ?category=, etc. — defeating the whole hygiene pass. Disallow: /dashboard Disallow: /profile Disallow: /saved Disallow: /alerts Disallow: /applications Disallow: /messages Disallow: /notifications Disallow: /account Disallow: /onboarding Disallow: /employer/ Disallow: /admin/ # /auth, /forgot-password, /reset-password intentionally NOT disallowed here — # they self-noindex via and need to stay crawlable. Disallow: /api/ Allow: /api/public/jobs.json Allow: /api/public/schools.json Allow: /api/public/insights/ Allow: /api/public/answers/ Allow: /api/public/answers.jsonl Disallow: /r/ Disallow: /resume/share/ Disallow: /shortlists/share/ Disallow: /*?sort= Disallow: /*?page= Disallow: /*?filter= Disallow: /*?q= Disallow: /*?utm_ Disallow: /*?category= Disallow: /*?company= Disallow: /*?location= Disallow: /*?ref= Disallow: /*&sort= Disallow: /*&page= Disallow: /*&filter= Disallow: /*&q= Disallow: /*&utm_ Disallow: /*&category= Disallow: /*&company= Disallow: /*&location= Disallow: /*&ref= # Facet-filter params — see note in the User-agent: * block above. Disallow: /*?board= Disallow: /*?role= Disallow: /*?type= Disallow: /*?r= Disallow: /*?c= Disallow: /*&board= Disallow: /*&role= Disallow: /*&type= Disallow: /*&r= Disallow: /*&c= Disallow: /*?postedWithin= Disallow: /*&postedWithin= # AI / LLM crawlers — explicitly allowed for citation, including the # .json job twins. Training policy is declared in /ai.txt. User-agent: GPTBot Allow: / User-agent: OAI-SearchBot Allow: / User-agent: ChatGPT-User Allow: / User-agent: ClaudeBot Allow: / User-agent: Claude-Web Allow: / User-agent: PerplexityBot Allow: / User-agent: Perplexity-User Allow: / User-agent: Google-Extended Allow: / User-agent: Applebot-Extended Allow: / User-agent: CCBot Allow: / User-agent: Bytespider Allow: / Sitemap: https://schooljobsinindia.com/sitemap.xml Sitemap: https://schooljobsinindia.com/sitemap-jobs-fresh.xml