AI खोज का युग आ गया है। ChatGPT वेब सर्च, Perplexity, Google AI Overviews -- उपयोगकर्ता AI के ज़रिए जानकारी प्राप्त करने के अवसर तेज़ी से बढ़ रहे हैं, और ऐसे में "AI को आपकी साइट सही ढंग से समझाना" बेहद महत्वपूर्ण हो गया है।

यहीं llms.txt काम आती है। अगर robots.txt क्रॉलर को बताती है कि "यह पेज क्रॉल कर सकते हो/नहीं कर सकते", तो llms.txt AI को रास्ता दिखाने वाला संकेत है: "इस साइट पर यह जानकारी है, और विस्तार यहाँ पढ़ें"। हालाँकि इसका कोई प्रमाण नहीं है कि इसे रखने से AI के जवाबों में आपकी साइट उद्धृत होगी, और इस साइट के एक्सेस लॉग में साढ़े तीन दिनों में किसी भी AI क्रॉलर ने इसे एक बार भी नहीं माँगा। यह गाइड यह भी बताती है कि किस तरह की साइट पर इसे रखना सचमुच फ़ायदेमंद है।

इस लेख में llms.txt का फ़ॉर्मेट विनिर्देश, लिखी जाने वाली जानकारी, स्टैटिक फ़ाइल और डायनेमिक जनरेशन का चयन मानदंड, और प्रमुख फ़्रेमवर्क में कार्यान्वयन कोड तक विस्तार से समझाया गया है।

1. llms.txt क्या है

llms.txt वेबसाइट की रूट डायरेक्टरी में रखी जाने वाली एक प्लेन टेक्स्ट फ़ाइल (Markdown फ़ॉर्मेट) है, जिसका उद्देश्य LLM (लार्ज लैंग्वेज मॉडल) को साइट का सारांश·संरचना·सामग्री सूची बताना है।

बुनियादी जानकारी

आइटमविवरण
फ़ाइल का नामllms.txt
स्थानडोमेन का रूट (https://example.com/llms.txt)। v2 से इसे सब-पाथ (/docs/llms.txt) में भी रखा जा सकता है, तब यह उस पाथ के नीचे के पेजों को कवर करती है
फ़ॉर्मेटMarkdown (प्लेन टेक्स्ट)
कैरेक्टर एन्कोडिंगUTF-8
प्रस्तावकllmstxt.org (Jeremy Howard आदि)
मानकीकरण स्थितिवास्तविक मानक (RFC या औपचारिक स्पेसिफ़िकेशन नहीं)। मौजूदा संस्करण v2 (अगस्त 2026 में संशोधित)
मुख्य पाठकवे AI एजेंट जिन्हें उपयोगकर्ता की मदद करते हुए जानकारी चाहिए (स्पेसिफ़िकेशन का इरादा, ख़ासकर डॉक्यूमेंटेशन खंगालने वाले कोडिंग एजेंट)। GPTBot जैसे ट्रेनिंग या सर्च क्रॉलर इसे पढ़ते हैं, ऐसा किसी कंपनी का आधिकारिक बयान नहीं मिला

एक पंक्ति में कहें तो

robots.txt = "प्रवेश न करो" / llms.txt = "हमारी साइट ऐसी है"

robots.txt एक्सेस कंट्रोल (अनुमति/अस्वीकृति) की फ़ाइल है, जबकि llms.txt साइट की सामग्री का विवरण (स्व-परिचय) फ़ाइल है। दोनों में कोई टकराव नहीं -- बल्कि दोनों साथ उपयोग किए जाते हैं।

2. यह क्यों ज़रूरी है -- robots.txt से अंतर

"sitemap और meta टैग से AI भी साइट समझ सकता है, है ना?" ऐसा लग सकता है। यह सही भी है, लेकिन llms.txt के अपने विशेष फ़ायदे हैं।

robots.txt / sitemap.xml / llms.txt की भूमिका तुलना

फ़ाइलउद्देश्यलक्ष्यसामग्री
robots.txtक्रॉल की अनुमति/अस्वीकृतिसभी क्रॉलरAllow/Disallow नियम
sitemap.xmlपेज सूची प्रदानसर्च इंजनURL·अपडेट तिथि·प्राथमिकता
llms.txtसाइट की सामग्री का विवरणLLM क्रॉलरसारांश·संरचना·सामग्री का सार

llms.txt क्यों ज़रूरी है -- 3 कारण

कारण 1: LLM पूरी साइट को कुशलता से क्रॉल नहीं कर सकता

Googlebot अरबों पेज क्रॉल करके बड़ा इंडेक्स बनाता है, लेकिन LLM क्रॉलर इतने व्यापक रूप से क्रॉल नहीं करते। llms.txt रखने से "इस साइट की सबसे महत्वपूर्ण सामग्री यह है" AI को कुशलता से बताया जा सकता है।

कारण 2: AI के जवाबों में उद्धरण बढ़ता है -- यह अक्सर कहा जाता है, पर इसका प्रमाण नहीं

अक्सर पढ़ने को मिलता है कि llms.txt रखने से ChatGPT या Perplexity में आपकी साइट के उद्धृत होने की संभावना बढ़ती है, लेकिन इसे दिखाने वाला न कोई डेटा है, न कंपनियों का आधिकारिक बयान। Google साफ़ लिखता है कि AI Overviews या AI Mode में दिखने के लिए AI के लिए अलग टेक्स्ट फ़ाइल की ज़रूरत नहीं है (Google Search Central)। llms.txt को उद्धरण पाने का तरीका मानने के बजाय ऐसी विषय-सूची मानना ज़्यादा सही है जो एजेंट को सही जानकारी तक जल्दी पहुँचाए; अनुभाग 9 में हम इसे असली लॉग से जाँचते हैं।

LLMO की विस्तृत व्याख्या के लिए "LLMO क्या है?" देखें।

कारण 3: sitemap.xml में नहीं होने वाली मेटा जानकारी बताई जा सकती है

sitemap.xml केवल URL सूची है। llms.txt में निम्नलिखित जानकारी भी बताई जा सकती है।

  • साइट का विषय·विशेषज्ञता क्षेत्र
  • प्रत्येक सामग्री का सारांश·श्रेणी
  • साइट की अपडेट आवृत्ति·पैमाना
  • बहुभाषी समर्थन की स्थिति
  • संपर्क जानकारी

3. फ़ॉर्मेट विनिर्देश -- क्या कैसे लिखें

llms.txt का फ़ॉर्मेट ढाँचा

H1 साइट नाम → blockquote सारांश → H2 अनुभाग समूह

1. हेडर आवश्यक
# साइट का नाम
> साइट का संक्षिप्त विवरण (1-2 वाक्य)
H1 + blockquote से साइट का परिचय
2. अनुभाग सूची अनुशंसित
## सेक्शन सूची
- [सेक्शन नाम](URL): विवरण
- [सेक्शन नाम](URL): विवरण
H2 समूहीकरण + लिंक सूची
3. सामग्री सूची अनुशंसित
## सामग्री सूची
- [शीर्षक](URL): सारांश [श्रेणी]
- [शीर्षक](URL): सारांश [श्रेणी]
 ... (सभी सामग्री सूचीबद्ध करें)
प्रत्येक लेख के एक-पंक्ति सारांश से AI की समझ में मदद
4. श्रेणियाँ / टैग वैकल्पिक
## श्रेणी / टैग प्रणाली
- श्रेणी slug: विवरण
- श्रेणी slug: विवरण
सूचना संरचना स्पष्ट हो जाती है
5. साइट जानकारी अनुशंसित
## साइट जानकारी
- URL: https://example.com
- Sitemap: .../sitemap.xml
- Contact: email@example.com
संचालक और कैनोनिकल URL दर्शाता है

llms.txt Markdown फ़ॉर्मेट में लिखी जाती है। llmstxt.org के विनिर्देश पर आधारित फ़ॉर्मेट इस प्रकार है।

बुनियादी ढाँचा

# साइट का नाम

> साइट का सारांश विवरण। 1-3 वाक्यों में साइट का विषय·लक्ष्य·प्रदान मूल्य संक्षेप में बताएँ।

## सेक्शन नाम 1

- [पेज का शीर्षक](URL): पेज का सारांश विवरण

## सेक्शन नाम 2

- [पेज का शीर्षक](URL): पेज का सारांश विवरण
- [पेज का शीर्षक](URL): पेज का सारांश विवरण

फ़ॉर्मेट के नियम

तत्वMarkdown नोटेशनभूमिका
H1 शीर्षक# साइट नामसाइट का आधिकारिक नाम। फ़ाइल में केवल एक
उद्धरण ब्लॉक> सारांश टेक्स्टसाइट का सारांश। H1 के तुरंत बाद
H2 शीर्षक## सेक्शन नामसामग्री का समूह विभाजन
लिस्ट लिंक- [शीर्षक](URL): विवरणव्यक्तिगत सामग्री की जानकारी

वास्तविक उदाहरण

# My Tech Blog

> My Tech Blog is a software engineering blog covering web development, cloud infrastructure, and AI tools. Updated weekly with practical tutorials and comparisons.

## Main Sections

- [Articles](https://example.com/articles): 50+ in-depth technical articles
- [Tutorials](https://example.com/tutorials): Step-by-step coding tutorials

## Popular Articles

- [React vs Vue in 2026](https://example.com/articles/react-vs-vue): A detailed comparison of React and Vue.js for modern web development, covering performance, ecosystem, and learning curve.
- [Docker for Beginners](https://example.com/articles/docker-beginners): Complete guide to Docker containers for developers who have never used containerization.

## Site Information

- URL: https://example.com
- Sitemap: https://example.com/sitemap.xml
- Languages: en, ja
- Contact: admin@example.com

ध्यान देने योग्य बातें

  • डिफ़ॉल्ट रूप से अंग्रेजी में लिखें। llms.txt की विशिष्टता और उदाहरण सभी अंग्रेजी में हैं, इसलिए अंग्रेजी में लिखना सर्वोत्तम अभ्यास है। बहुभाषी वेबसाइटों के लिए, अंग्रेजी में लिखें और Languages: ja, en, es, ... के माध्यम से समर्थित भाषाओं का उल्लेख करें। हालाँकि, एकल भाषा वेबसाइटों के लिए (जैसे पूरी तरह से फ्रेंच या रूसी में एक वेबसाइट), साइट की भाषा में लिखना बिल्कुल स्वीकार्य है। प्रमुख LLM (GPT, Claude, Gemini आदि) अधिकांश भाषाओं को उच्च सटीकता के साथ प्रोसेस करते हैं, और ऐसी साइटों के उपयोगकर्ता उसी भाषा में प्रश्न पूछेंगे, जिससे सुसंगत प्रतिक्रियाएँ मिलती हैं।
  • कैरेक्टर एन्कोडिंग अवश्य UTF-8 रखें। अन्य एन्कोडिंग में अक्षर बिगड़ जाते हैं
  • URL एब्सोल्यूट पाथ (https:// से शुरू होने वाला पूरा URL) उपयोग करें
  • एक फ़ाइल में H1 केवल एक। सेक्शन विभाजन के लिए H2 उपयोग करें

4. लिखी जाने वाली जानकारी -- आवश्यक·अनुशंसित·वैकल्पिक

क्या लिखना है इसमें बहुत लोग उलझते हैं, इसलिए प्राथमिकता के अनुसार व्यवस्थित करते हैं।

ध्यान दें: स्पेसिफ़िकेशन (llmstxt.org) में अनिवार्य सिर्फ़ साइट के नाम वाला H1 है; सारांश वाला ब्लॉककोट और H2 के नीचे की लिंक सूचियाँ औपचारिक रूप से वैकल्पिक हैं। नीचे "अनिवार्य" का मतलब वह न्यूनतम है जिसके बिना यह गाइड फ़ाइल को लगभग बेकार मानती है।

आवश्यक जानकारी (यह न हो तो llms.txt का मतलब नहीं)

जानकारीलिखने का स्थानउदाहरण
साइट का नामH1 शीर्षक# AI Arte
साइट का सारांशउद्धरण ब्लॉक> AI learning platform...
प्रमुख सेक्शनH2 + लिंक सूची- [Articles](URL): विवरण

अनुशंसित जानकारी (होने से AI की समझ बेहतर होती है)

जानकारीक्यों ज़रूरी है
सभी सामग्री की सूचीAI साइट की पूरी कवरेज़ समझ सकता है
प्रत्येक सामग्री का एक-पंक्ति सारांशAI पेज की सामग्री पहले से समझ सकता है
श्रेणी/टैग प्रणालीसाइट की जानकारी संरचना दर्शाती है
साइट URLकैनोनिकल URL स्पष्ट करना
Sitemap URLविस्तृत URL सूची की ओर मार्गदर्शन
समर्थित भाषाएँबहुभाषी साइट के लिए महत्वपूर्ण
संपर्क जानकारीसाइट संचालक की पहचान

वैकल्पिक जानकारी (होना बेहतर लेकिन आवश्यक नहीं)

  • तकनीकी स्टैक: किससे बनी है (फ़्रेमवर्क आदि)
  • अपडेट आवृत्ति: कितनी बार सामग्री जोड़ी जाती है
  • सामग्री कुल संख्या: लेखों की संख्या आदि
  • लाइसेंस/उद्धरण नीति: AI उद्धरण कर सकता है या नहीं
  • API जानकारी: प्रोग्रामेटिक एक्सेस संभव होने पर

नहीं लिखनी चाहिए जानकारी

  • गोपनीय जानकारी: एडमिन पैनल का URL, आंतरिक API एंडपॉइंट आदि
  • व्यक्तिगत जानकारी: ज़रूरत से ज़्यादा व्यक्तिगत जानकारी (पता, फ़ोन नंबर आदि)
  • प्रमाणीकरण जानकारी: API कुंजी, पासवर्ड आदि

5. llms.txt और llms-full.txt का अंतर

llms-full.txt पूरी साइट की सामग्री को एक फ़ाइल में इकट्ठा करती है। यह llmstxt.org के स्पेसिफ़िकेशन का हिस्सा नहीं है; यह एक चलन है जो इसलिए फैला क्योंकि Mintlify जैसे डॉक्यूमेंटेशन प्लेटफ़ॉर्म इसे llms.txt के साथ अपने-आप बनाते हैं (Mintlify डॉक्यूमेंटेशन)। स्पेसिफ़िकेशन v2 सब कुछ एक फ़ाइल में जोड़ने के बजाय हर पेज का Markdown संस्करण (page.md या page.html.md) देने और llms.txt से उससे लिंक करने की सलाह देता है।

फ़ाइलसामग्रीआकार का अनुमानउपयोग
llms.txtसाइट का सारांश·संरचना·लिंक सूची1-50KBपूरी साइट की "विषय-सूची"
llms-full.txtसभी सामग्री का पूरा टेक्स्ट100KB-कई MBसामग्री का पूरा टेक्स्ट AI को देना

llms-full.txt कब ज़रूरी है

  • तकनीकी दस्तावेज़: API रिफ़रेंस या लाइब्रेरी डॉक्यूमेंटेशन जैसे, AI को पूरा टेक्स्ट समझाने से उत्तर की सटीकता बढ़ती है
  • नॉलेज बेस: FAQ संग्रह या शब्दावली जैसे, जिनसे अंशों में उद्धरण होता है

llms-full.txt कब ज़रूरी नहीं है

  • ब्लॉग·मीडिया साइट: लेख अधिक होने पर पूरा टेक्स्ट एक फ़ाइल में रखना बहुत बड़ा हो जाता है। llms.txt का सारांश काफ़ी है
  • ई-कॉमर्स साइट: उत्पाद जानकारी स्ट्रक्चर्ड डेटा (JSON-LD आदि) से देना बेहतर है
  • कॉर्पोरेट साइट: पेज कम होने पर llms.txt अकेली काफ़ी है

सामान्य ब्लॉग या मीडिया साइट के लिए llms.txt अकेली पर्याप्त है। llms-full.txt तकनीकी दस्तावेज़ों के लिए मानें।

6. स्टैटिक फ़ाइल vs डायनेमिक जनरेशन -- कौन सा चुनें

स्टैटिक फ़ाइल vs डायनेमिक जनरेशन — कौन सा चुनें

कार्यान्वयन प्रयास बनाम अपडेट संचालन का ट्रेडऑफ

स्टैटिक फ़ाइल
public/llms.txt सीधे रखें
+ लागू करना आसान (बस फ़ाइल रखें)
+ सर्वर लोड शून्य
+ फ़्रेमवर्क की ज़रूरत नहीं
- अपडेट भूलने पर पुरानी हो जाती है
- हर लेख जोड़ने पर मैनुअल एडिट
- संख्या·श्रेणी में अंतर आता है
उपयुक्त स्थिति
कम सामग्री (10 या कम)
अपडेट कम हो (महीने में 1 बार से कम)
डायनेमिक जनरेशन
DB से ऑटो-जनरेट (रूट परिभाषा)
+ हमेशा नवीनतम स्थिति
+ लेख जोड़ने पर ऑटो-प्रतिबिंब
+ संख्या·श्रेणी भी सटीक
- लागू करने में मेहनत लगती है
- DB एक्सेस होता है
- फ़्रेमवर्क ज़रूरी है
उपयुक्त स्थिति
अधिक सामग्री (10+ आइटम)
अपडेट ज़्यादा हो (हफ़्ते में 1 बार से ज़्यादा)
संदेह हो तो डायनेमिक जनरेशन — «सेट करें और भूल जाएं» परिचालन लागत कम करता है

llms.txt के संचालन के दो मुख्य तरीक़े हैं।

तरीक़ा 1: स्टैटिक फ़ाइल

public/llms.txt (या समकक्ष पाथ) में सीधे टेक्स्ट फ़ाइल रखने का तरीक़ा।

फ़ायदे:

  • लागू करना सबसे आसान (बस फ़ाइल रखें)
  • सर्वर पर लोड शून्य
  • बिना फ़्रेमवर्क भी काम करती है

नुक़सान:

  • सामग्री जोड़ने·बदलने पर हर बार मैनुअल अपडेट ज़रूरी
  • अपडेट भूलने पर AI को पुरानी जानकारी जाती है
  • सामग्री संख्या और श्रेणियाँ फ़ाइल और वास्तविक साइट में भिन्न हो जाती हैं

तरीक़ा 2: डायनेमिक जनरेशन

/llms.txt पर आने वाले रिक्वेस्ट को एप्लिकेशन प्राप्त करता है और डेटाबेस से नवीनतम जानकारी लेकर टेक्स्ट डायनेमिक रूप से बनाता है।

फ़ायदे:

  • हमेशा नवीनतम जानकारी प्रतिबिंबित होती है
  • लेख जोड़ने पर स्वचालित रूप से llms.txt में भी दिखता है
  • सामग्री संख्या और श्रेणी नाम हमेशा सटीक

नुक़सान:

  • कार्यान्वयन की मेहनत लगती है (रूट परिभाषा + कंट्रोलर)
  • हर रिक्वेस्ट पर DB एक्सेस होता है (कैश से कम किया जा सकता है)
  • फ़्रेमवर्क ज़रूरी है

चयन मानदंड

स्थितिअनुशंसा
सामग्री 10 या कम और शायद ही बढ़ती हैस्टैटिक फ़ाइल ठीक है
सामग्री 10 से अधिक या महीने में 1+ बार अपडेटडायनेमिक जनरेशन अनुशंसित
WordPress / Laravel / Django आदि उपयोग कर रहे हैंडायनेमिक जनरेशन आसान
स्टैटिक साइट (Hugo, Jekyll, Astro आदि)बिल्ड समय पर ऑटो-जनरेशन आदर्श
अकेले चलाते हैं और रखरखाव कम करना चाहते हैंडायनेमिक जनरेशन (एक बार बनाकर छोड़ सकते हैं)

निष्कर्ष: संदेह हो तो डायनेमिक जनरेशन। शुरुआती कार्यान्वयन कॉस्ट लगती है, लेकिन "सेट करो और भूल जाओ" होने से दीर्घकालिक ऑपरेशन कॉस्ट कम रहती है। स्टैटिक फ़ाइल से शुरू करके "अपडेट भूलने पर AI को पुरानी जानकारी गई" -- यह सबसे बुरा परिदृश्य है।

7. कार्यान्वयन विधि -- प्रमुख फ़्रेमवर्क के कोड उदाहरण

अब प्रमुख फ़्रेमवर्क में llms.txt डायनेमिक जनरेशन के कार्यान्वयन का परिचय।

Laravel (PHP)

रूट परिभाषा (routes/web.php):

use App\Http\Controllers\LlmsTxtController;

Route::get('/llms.txt', [LlmsTxtController::class, 'index']);

कंट्रोलर (app/Http/Controllers/LlmsTxtController.php):

class LlmsTxtController extends Controller
{
    public function index()
    {
        $articles = Article::published()
            ->with(['translations' => fn($q) => $q->where('locale', 'en')])
            ->orderBy('published_at')
            ->get();

        $lines = [];
        $lines[] = '# My Site Name';
        $lines[] = '';
        $lines[] = '> Site description here.';
        $lines[] = '';
        $lines[] = '## All Articles (' . $articles->count() . ')';
        $lines[] = '';

        foreach ($articles as $article) {
            $t = $article->translations->first();
            if (!$t) continue;
            $url = 'https://example.com/en/articles/' . $article->slug;
            $lines[] = '- [' . $t->title . '](' . $url . '): ' . $t->meta_description;
        }

        $content = implode("\n", $lines);
        return response($content, 200)
            ->header('Content-Type', 'text/plain; charset=utf-8');
    }
}

ध्यान रखने की बात Content-Type: text/plain; charset=utf-8 स्पष्ट करना है। यह भूलने पर HTML के रूप में व्याख्या हो सकती है।

Django (Python)

# urls.py
from django.urls import path
from . import views

urlpatterns = [
    path('llms.txt', views.llms_txt, name='llms_txt'),
]

# views.py
from django.http import HttpResponse
from .models import Article

def llms_txt(request):
    articles = Article.objects.filter(
        status='published'
    ).order_by('published_at')

    lines = ['# My Site', '', '> Description.', '', '## Articles', '']
    for a in articles:
        lines.append(f'- [{a.title}](https://example.com/articles/{a.slug}): {a.meta_description}')

    content = '\n'.join(lines)
    return HttpResponse(content, content_type='text/plain; charset=utf-8')

Next.js (TypeScript)

// app/llms.txt/route.ts (App Router)
import { NextResponse } from 'next/server'

export async function GET() {
  // DB या CMS से डेटा प्राप्त करें
  const posts = await getAllPosts()

  const lines = [
    '# My Site',
    '',
    '> Description.',
    '',
    '## Articles',
    '',
    ...posts.map(p =>
      `- [${p.title}](https://example.com/posts/${p.slug}): ${p.description}`
    ),
  ]

  return new NextResponse(lines.join('\n'), {
    headers: { 'Content-Type': 'text/plain; charset=utf-8' },
  })
}

WordPress (PHP)

functions.php या प्लगइन में जोड़ें:

// functions.php
add_action('init', function() {
    add_rewrite_rule('^llms\.txt$', 'index.php?llms_txt=1', 'top');
});

add_filter('query_vars', function($vars) {
    $vars[] = 'llms_txt';
    return $vars;
});

add_action('template_redirect', function() {
    if (!get_query_var('llms_txt')) return;

    header('Content-Type: text/plain; charset=utf-8');
    $posts = get_posts(['numberposts' => -1, 'post_status' => 'publish']);

    echo "# " . get_bloginfo('name') . "\n\n";
    echo "> " . get_bloginfo('description') . "\n\n";
    echo "## Articles (" . count($posts) . ")\n\n";

    foreach ($posts as $post) {
        $url = get_permalink($post);
        $desc = get_the_excerpt($post);
        echo "- [{$post->post_title}]({$url}): {$desc}\n";
    }
    exit;
});

WordPress के लिए परमालिंक सेटिंग को फिर से सेव करना (रीराइट नियमों को फ़्लश करना) न भूलें।

स्टैटिक साइट जनरेटर (Hugo / Astro आदि)

बिल्ड के समय ऑटो-जनरेट करने वाली स्क्रिप्ट लिखें।

# build-llms-txt.sh (Hugo के लिए उदाहरण)
#!/bin/bash
echo "# My Site" > public/llms.txt
echo "" >> public/llms.txt
echo "> Site description." >> public/llms.txt
echo "" >> public/llms.txt
echo "## Articles" >> public/llms.txt
echo "" >> public/llms.txt

for file in content/posts/*.md; do
  title=$(grep '^title:' "$file" | sed 's/title: //')
  slug=$(basename "$file" .md)
  desc=$(grep '^description:' "$file" | sed 's/description: //')
  echo "- [${title}](https://example.com/posts/${slug}): ${desc}" >> public/llms.txt
done

CI पाइपलाइन (GitHub Actions आदि) में बिल्ड से पहले चलाएँ तो हर डिप्लॉय पर ऑटो-अपडेट होती है।

8. सेटअप के बाद की जाँच और सत्यापन

llms.txt सेट करने के बाद निम्नलिखित बातों की जाँच करें।

बुनियादी चेकलिस्ट

जाँच आइटमजाँच विधि
URL से एक्सेस हो रहा हैcurl https://yoursite.com/llms.txt
Content-Type सही हैcurl -I से text/plain; charset=utf-8 जाँचें
अक्षर बिगड़ तो नहीं रहेब्राउज़र में खोलकर भाषा सही दिख रही है
लिंक सही हैंलिखे URL पर वास्तव में एक्सेस हो रहा है
HTTP स्टेटस 200 हैcurl -o /dev/null -w "%{http_code}"
robots.txt में ब्लॉक तो नहीं हैrobots.txt में Disallow: /llms.txt न हो

डायनेमिक जनरेशन के लिए अतिरिक्त जाँच

  • एक लेख जोड़कर llms.txt जाँचें: नया लेख प्रतिबिंबित हो रहा है
  • सामग्री संख्या सही है: "All Articles (27)" की संख्या वास्तविक प्रकाशित लेखों से मेल खाती है
  • अप्रकाशित लेख शामिल तो नहीं: ड्राफ़्ट या शेड्यूल्ड पोस्ट न दिखें

सत्यापन टूल

llms.txt के फ़ॉर्मैट को जाँचने वाला कोई आधिकारिक वैलिडेटर नहीं है (29 सितंबर 2026 तक)। Chrome के Lighthouse में "agentic browsing" ऑडिट के तहत llms.txt का एक आइटम है, लेकिन वह सिर्फ़ यह देखता है कि फ़ाइल लाते समय सर्वर एरर तो नहीं आता; फ़ाइल न हो (404) तो ऑडिट "लागू नहीं" माना जाता है (Chrome for Developers)। सामग्री नीचे दिए तरीक़ों से जाँचें।

  • ChatGPT या Claude को पढ़ाएँ: "https://yoursite.com/llms.txt पढ़कर इस साइट के बारे में बताओ" पूछें
  • Markdown प्रीव्यूअर: llms.txt की सामग्री Markdown प्रीव्यूअर में चिपकाकर संरचना सही रेंडर हो रही है जाँचें
  • SEO ऑडिट टूल: कुछ SEO ऑडिट टूल llms.txt की मौजूदगी जाँचने लगे हैं

9. असली माप: क्या AI क्रॉलर llms.txt पढ़ने आते हैं?

अक्सर कहा जाता है कि "रख दो, AI पढ़ लेगा", लेकिन इसे कोई सचमुच माँगता है या नहीं, यह अपने सर्वर के एक्सेस लॉग में देखा जा सकता है। यह साइट (arte.itlibra.com) डायनेमिक रूप से बनी /llms.txt देती है, इसलिए हमने 26 सितंबर 07:20 से 29 सितंबर 12:54 UTC तक (लगभग साढ़े तीन दिन, कुल 86,696 अनुरोध) के लॉग User-Agent के हिसाब से गिने।

क्रॉलर (User-Agent)अवधि में कुल अनुरोधrobots.txtllms.txt
OAI-SearchBot (OpenAI सर्च)866200
ChatGPT-User (उपयोगकर्ता के कहने पर ChatGPT पेज खोलता है)1,27520
ClaudeBot (Anthropic)502290
Claude-User (उपयोगकर्ता के कहने पर Claude पेज खोलता है)438700
PerplexityBot1,086190
Googlebot2,186140
bingbot4,362210

इस अवधि में /llms.txt सिर्फ़ तीन बार माँगी गई: दो बार कमांड लाइन (curl) से और एक बार साइट-ऑडिट टूल से। AI क्रॉलर ने लेख सैकड़ों बार पढ़े, पर llms.txt एक बार भी नहीं खोली। इनमें से कई ने robots.txt ज़रूर देखी, यानी बात यह नहीं कि वे छोटी फ़ाइलें नहीं देखते, बल्कि यह कि वे llms.txt ढूँढते ही नहीं।

यह एक साइट के साढ़े तीन दिन के लॉग हैं; दूसरी साइटों या लंबी अवधि में नतीजा अलग हो सकता है। फिर भी आधिकारिक बयानों के साथ मिलाकर तस्वीर साफ़ है।

  • Google: लिखता है "You don't need to create new machine readable files, AI text files, or markup" (नई मशीन-पठनीय फ़ाइल, AI टेक्स्ट फ़ाइल या मार्कअप बनाने की ज़रूरत नहीं), AI Overviews या AI Mode में दिखने के लिए (AI features and your website)
  • स्पेसिफ़िकेशन (v2, अगस्त 2026): मानता है कि llms.txt ट्रेनिंग के बजाय इनफ़रेंस के समय पढ़ी जाती है, यानी जब उपयोगकर्ता की मदद करते हुए एजेंट को जानकारी चाहिए, और लिखता है कि इसका सबसे ज़्यादा इस्तेमाल सॉफ़्टवेयर डॉक्यूमेंटेशन खंगालने वाले कोडिंग एजेंट करते हैं (llmstxt.org)
  • Chrome का Lighthouse: "agentic browsing" ऑडिट में llms.txt का आइटम है, लेकिन पेज तभी फ़ेल होता है जब फ़ाइल लाते समय सर्वर एरर आए। फ़ाइल न हो (404) तो वह "लागू नहीं" है और कोई अंक नहीं कटता (Chrome for Developers)

रखें या नहीं: फ़ैसले की कसौटी

साइट का प्रकारफ़ैसलाकारण
API या लाइब्रेरी का डॉक्यूमेंटेशनरखें (साथ में हर पेज का Markdown संस्करण)कोडिंग एजेंट सचमुच इसका पीछा करते हैं; स्पेसिफ़िकेशन का मुख्य इरादा यही है
ब्लॉग या मीडियारखने में नुक़सान नहीं, पर ट्रैफ़िक या उद्धरण बढ़ने की उम्मीद न रखेंइस साइट के लॉग में AI क्रॉलर सीधे लेख पढ़ रहे थे। पहले असर लेखों की अपनी गुणवत्ता का है, और इसका कि robots.txt AI क्रॉलर को रोक न रहा हो
छोटी कॉर्पोरेट साइटजल्दी नहींपेज कम हैं, होमपेज और साइटमैप काफ़ी हैं

अगर रखें, तो इसका फ़ायदा अपने लॉग से जाँचना सबसे भरोसेमंद है। nginx या Apache के मानक फ़ॉर्मैट (combined) वाले एक्सेस लॉग में यह एक पंक्ति /llms.txt माँगने वाले User-Agent को ज़्यादा से कम के क्रम में गिन देती है।

grep ' /llms.txt ' access.log | awk -F'"' '{print $6}' | sort | uniq -c | sort -rn

10. वास्तविक साइटों के llms.txt उदाहरण

OpenAI, Anthropic और Google (Gemini API) अपने डेवलपर डॉक्यूमेंटेशन के लिए llms.txt रखते हैं (स्पेसिफ़िकेशन के पेज पर दर्ज)। अपनाने की दर के आँकड़े हमें नहीं मिले, इसलिए नीचे की तालिका सिर्फ़ रुझान का मोटा अंदाज़ा है।

अपनाने वाली साइटों की विशेषताएँ

साइट प्रकारअपनाने की दरकारण
AI संबंधित सेवा·टूलउच्चAI उद्योग में LLMO जागरूकता अधिक
तकनीकी दस्तावेज़उच्चAI को सही जानकारी देने की ज़रूरत
टेक ब्लॉगमध्यमतकनीकी रुझानों के प्रति संवेदनशील
कॉर्पोरेट साइटकमअभी जागरूकता कम
ई-कॉमर्स साइटकमस्ट्रक्चर्ड डेटा (JSON-LD) प्राथमिक

अच्छी llms.txt की विशेषताएँ

  • संक्षिप्त और स्पष्ट सारांश -- साइट की विशेषज्ञता एक नज़र में समझ आए
  • सभी सामग्री सारांश सहित सूचीबद्ध -- AI पूरी तस्वीर समझ सके
  • श्रेणी प्रणाली स्पष्ट -- जानकारी की संरचना दिखे
  • डायनेमिक जनरेशन -- हमेशा नवीनतम स्थिति

बुरी llms.txt की विशेषताएँ

  • केवल साइट नाम और संपर्क -- जानकारी इतनी कम कि AI की समझ में मदद नहीं
  • सभी सामग्री का पूरा टेक्स्ट कॉपी-पेस्ट -- llms.txt "विषय-सूची" है "पूरा टेक्स्ट" नहीं। पूरा टेक्स्ट llms-full.txt का काम है
  • पुरानी जानकारी छोड़ दी -- "10 articles" लिखा है लेकिन वास्तव में 50 लेख हैं, विश्वसनीयता घटती है
  • गोपनीय जानकारी शामिल -- एडमिन पैनल URL या API कुंजी लिखी हो

FAQ

Q. llms.txt न रखने पर AI खोज परिणाम में नहीं आएँगे?

नहीं। llms.txt के बिना भी AI आपके पेज सीधे पढ़कर जवाबों में उद्धृत कर सकता है। Google साफ़ लिखता है कि AI Overviews या AI Mode में दिखने के लिए AI के लिए टेक्स्ट फ़ाइल की ज़रूरत नहीं है, और इस साइट के लॉग में AI क्रॉलर ने लेख सैकड़ों बार पढ़े पर llms.txt एक बार भी नहीं खोली। इसे न रखने से नुक़सान नहीं होता; यह एक वैकल्पिक फ़ाइल है, जब आप एजेंट को रास्ता दिखाना चाहें।

Q. robots.txt में AI क्रॉलर ब्लॉक होने पर llms.txt का मतलब है?

robots.txt में User-agent: GPTBot आदि Disallow होने पर वह Bot साइट क्रॉल नहीं करेगा। लेकिन llms.txt अपने आप में robots.txt के नियमों से स्वतंत्र है। AI अन्य मार्ग (उपयोगकर्ता द्वारा URL सीधे चिपकाने आदि) से llms.txt एक्सेस कर सकता है। यदि जानबूझकर AI क्रॉलर ब्लॉक किए हैं तो llms.txt भी न रखना संगत दृष्टिकोण है।

Q. llms.txt किस भाषा में लिखना चाहिए?

बहुभाषी साइटों के लिए अंग्रेजी, एकल भाषा साइटों के लिए साइट की भाषा भी ठीक है। विशिष्टता और उदाहरण मुख्य रूप से अंग्रेजी में हैं, जो बहुभाषी साइटों के लिए सबसे तार्किक विकल्प है। हालाँकि, यदि साइट की सामग्री पूरी तरह से एक भाषा में है, तो उस भाषा में llms.txt लिखना स्वीकार्य है। प्रमुख LLM अधिकांश भाषाओं को उच्च सटीकता के साथ प्रोसेस करते हैं, और उपयोगकर्ता साइट की भाषा में ही प्रश्न पूछेंगे, जिससे सुसंगत उत्तर प्राप्त होते हैं।

Q. llms.txt का फ़ाइल आकार सीमा है?

स्पेसिफ़िकेशन कोई सीमा तय नहीं करता; बस इतना कहता है कि फ़ाइल इतनी छोटी रहे कि कॉन्टेक्स्ट में समा जाए। संदर्भ के लिए, इस साइट की llms.txt में 225 लेख और 40 कोर्स अध्याय एक-एक पंक्ति में हैं, और इसका आकार लगभग 116 KB है (29 सितंबर 2026 तक)। फ़ाइल बड़ी हो जाए तो एक-पंक्ति सारांश छोटे करें, कम ज़रूरी लिंक ## Optional में डालें, या v2 के अनुसार सब-पाथ के हिसाब से कई llms.txt में बाँट दें। पूरा टेक्स्ट देना हो तो हर पेज के Markdown संस्करण से लिंक करें।

Q. अपडेट कितनी बार करना उचित है?

डायनेमिक जनरेशन के मामले में हर रिक्वेस्ट पर नवीनतम जानकारी आती है, इसलिए चिंता नहीं। स्टैटिक फ़ाइल के मामले में सामग्री जोड़ने·बदलने पर हर बार अपडेट करना आदर्श है। कम से कम महीने में एक बार जाँच·अपडेट करें। पुरानी जानकारी छोड़ने से अच्छा है डायनेमिक जनरेशन अपनाना।

Q. SEO पर प्रभाव पड़ता है?

Google रैंकिंग पर इसका असर नहीं पड़ता। Google बताता है कि AI Overviews और AI Mode के लिए भी AI टेक्स्ट फ़ाइल या ख़ास मार्कअप की ज़रूरत नहीं है और SEO की सामान्य बुनियादी बातें ही लागू होती हैं (Google Search Central)। ChatGPT या Perplexity में उद्धरण बढ़ने का भी कोई प्रमाण नहीं है। यह जानना हो कि इसका कोई फ़ायदा है या नहीं, तो अनुभाग 9 की तरह अपने एक्सेस लॉग देखें।

Q. WordPress का प्लगइन है?

हाँ। llmstxt.org की सूची में WordPress के लिए Yoast SEO और AIOSEO llms.txt बनाने वाले प्लगइन के रूप में दर्ज हैं (29 सितंबर 2026 तक)। कोई भी इस्तेमाल करें, बनी हुई सामग्री ज़रूर जाँचें। functions.php में कुछ दर्जन पंक्तियाँ जोड़कर यह ख़ुद भी किया जा सकता है, इसलिए प्लगइन ज़रूरी नहीं है।