Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 11 additions & 11 deletions src/app/llms-full.txt/route.ts
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
import { redirect } from "next/navigation";
import { GET as buildLlmContext } from "@/app/api/llm-context/route";

export const runtime = "nodejs";
export const revalidate = 60;

/**
* llms-full.txt - the expanded sibling of `/llms.txt` per the emerging
* llmstxt.org convention. We serve the same content as `/api/llm-context`
* (full rankings + methodology for every live benchmark) so an LLM that
* follows the convention finds the rich Markdown view without having to
* know our internal API path.
* llms-full.txt — expanded sibling of /llms.txt per the llmstxt.org
* convention. Serves the same body as /api/llm-context, but directly
* (200 + text/markdown) instead of via redirect. The previous 307 broke
* llms.txt validators and the stricter AI crawlers that do not follow
* redirects on non-standard paths (Perplexity, some Bing AI scrapers),
* which were marking the URL as no-content and skipping the resource.
*
* Internal redirect keeps a single source of truth; the `/llms-full.txt`
* URL is what crawlers will look up.
* The canonical for AI citation is now /llms-full.txt itself, not the
* internal /api/llm-context path.
*/
export function GET() {
redirect("/api/llm-context");
}
export const GET = buildLlmContext;
Loading