# Alejandro Rioja — HI > Alejandro Rioja — AI agent systems for founders. Plus posts on growth, marketing, sales, ops, and business from inside live P&Ls. Site: https://alejandrorioja.com/hi/ Author: Alejandro Rioja Language: hi --- ## लोकल बिज़नेस के लिए GEO: AI सर्च में ब्रिक-एंड-मोर्टार को कैसे दिखाएं Source: https://alejandrorioja.com/hi/geo-for-local-business-getting-a-brick-and-mortar-cited-by-ai-search/ Published: 2026-05-31 Updated: 2026-05-31 Tags: GEO, Marketing TL;DR: अपने फिजिकल बिज़नेस को AI सर्च इंजन में दिखाने के लिए सबसे पहले Google Business Profile ऑप्टिमाइज़ करें — यह सबसे महत्वपूर्ण सिग्नल है। फिर LocalBusiness JSON-LD स्कीमा जोड़ें, पूरे वेब पर NAP (नाम, पता, फ़ोन) एक जैसा रखें, और लगातार नए रिव्यू बनाते रहें। AI citations खरीदे नहीं जा सकते, और GBP में keywords भरना काम नहीं करेगा। ## विषय सूची _मई 2026 में अपडेट किया गया_ **TL;DR:** अपने फिजिकल बिज़नेस को AI सर्च इंजन में दिखाने के लिए सबसे पहले Google Business Profile ऑप्टिमाइज़ करें — यह सबसे महत्वपूर्ण सिग्नल है। फिर LocalBusiness JSON-LD स्कीमा जोड़ें, पूरे वेब पर NAP (नाम, पता, फ़ोन) एक जैसा रखें, और लगातार नए रिव्यू बनाते रहें। AI citations खरीदे नहीं जा सकते, और GBP में keywords भरना काम नहीं करेगा। **[ऑपरेटर का नज़रिया]** मैं Pickleland चलाता हूं — Pflugerville, TX में एक पिकलबॉल फैसिलिटी। जब मैंने देखा कि ChatGPT और Perplexity "Austin के पास सबसे अच्छे पिकलबॉल कोर्ट" के लिए क्या दिखाते हैं, तो मेरी अपनी फैसिलिटी नहीं आ रही थी — Google Maps में अच्छी रैंकिंग के बावजूद। मैंने क्या बदला और क्यों काम किया, यहाँ बता रहा हूं। --- ## AI सर्च लोकल बिज़नेस के लिए अलग क्यों है पारंपरिक लोकल SEO map pack और नीले लिंक्स में रैंक करने के बारे में था। AI सर्च अलग है: ChatGPT, Perplexity, और Google के AI Overviews जवाब सिंथेसाइज़ करते हैं और specific sources cite करते हैं। लोकल queries के लिए, ये Google Business Profile data, वेबसाइट पर structured data, रिव्यू प्लेटफॉर्म्स, और authoritative directory listings के मिश्रण से जानकारी लेते हैं। अच्छी खबर: बाधा उतनी नहीं जितनी सोचते हैं। ज़्यादातर फिजिकल बिज़नेस ने अपना structured data नज़रअंदाज़ किया है और GBP पुराना छोड़ दिया है। अगर आप बेसिक्स सही और लगातार करते हैं, तो अलग दिखेंगे। बुरी खबर: कोई शॉर्टकट नहीं है। AI इंजन में citation के लिए पैसे नहीं दे सकते। कोई "AI citation" ad product नहीं है। जो कर सकते हैं वह है — AI के लिए अपने बिज़नेस को समझने और trust करने में आसान बनाना। --- ## Google Business Profile ही नींव है अगर एक ही lever चुनना हो, तो वो Google Business Profile (GBP) है। जब कोई AI assistant से "Austin के पास सबसे अच्छे पिकलबॉल कोर्ट" पूछता है, तो AI GBP data पर भारी निर्भर करता है। कारण: GBP एक structured, verified database है। वेब पर trained AI models और Perplexity जैसे tools जो live retrieval करते हैं, GBP signals को high-trust मानते हैं। GBP के साथ क्या करें: - **हर field पूरा भरें।** Category, description, hours (holidays सहित), attributes, services/menu। हर खाली field एक missed signal है। - **अपनी primary category सटीक रखें।** Pickleland के लिए "Pickleball court" है, न कि बस "Sports complex"। AI engines category data पढ़ते हैं। - **नियमित photos जोड़ें।** GBP freshness को reward करता है। महीने में कम से कम दो बार courts, events, और interior की नई photos upload करें। - **Updates post करें।** GBP posts indexed होते हैं। 150-300 words के छोटे posts लिखें जो "क्या अपना paddle लाना ज़रूरी है?" जैसे सवालों के जवाब दें। - **हर Q&A का जवाब दें।** GBP का Q&A section public और indexed है। अगर किसी ने आपके common questions नहीं पूछे, तो खुद जोड़ें और जवाब दें। क्या न करें: GBP description में "best pickleball Austin cheapest courts open now" जैसे keywords न भरें। यह spam जैसा लगता है, AI को help नहीं करेगा, और Google आपकी listing suspend कर सकता है। --- ## LocalBusiness Schema: Structured Data Layer आपका GBP Google ecosystem handle करता है। Non-Google AI search (Perplexity, ChatGPT with browsing, Bing-powered tools) के लिए, आपकी वेबसाइट पर structured data primary signal है। अपने homepage और contact page पर `LocalBusiness` JSON-LD block जोड़ें। Pickleland के लिए मैं जो schema use करता हूं: ```json { "@context": "https://schema.org", "@type": "SportsActivityLocation", "name": "Pickleland", "description": "Pflugerville, TX में indoor pickleball facility - 8 dedicated courts, open play, leagues, और lessons के साथ।", "url": "https://pickleland.com", "telephone": "+1-512-000-0000", "address": { "@type": "PostalAddress", "streetAddress": "123 Pickleland Dr", "addressLocality": "Pflugerville", "addressRegion": "TX", "postalCode": "78660", "addressCountry": "US" }, "geo": { "@type": "GeoCoordinates", "latitude": 30.4349, "longitude": -97.6200 }, "openingHoursSpecification": [ { "@type": "OpeningHoursSpecification", "dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday"], "opens": "06:00", "closes": "22:00" }, { "@type": "OpeningHoursSpecification", "dayOfWeek": ["Saturday","Sunday"], "opens": "07:00", "closes": "21:00" } ], "priceRange": "$$", "amenityFeature": [ { "@type": "LocationFeatureSpecification", "name": "Indoor Courts", "value": true }, { "@type": "LocationFeatureSpecification", "name": "Equipment Rental", "value": true }, { "@type": "LocationFeatureSpecification", "name": "Lessons Available", "value": true } ], "sameAs": [ "https://www.google.com/maps?cid=YOUR_CID", "https://www.yelp.com/biz/pickleland-pflugerville", "https://www.facebook.com/pickleland" ] } ``` `sameAs` array आपके schema entity को GBP, Yelp, और Facebook pages से explicitly connect करता है। AI engines cross-reference के लिए इसे use करते हैं और confirm करते हैं कि ये सब एक ही business है। `geo` coordinates matter करते हैं — Perplexity proximity matching करता है। और machine-readable format में `openingHoursSpecification` directly AI answers में आता है जब कोई पूछता है "क्या Pickleland Sunday को खुला है?"। जब fit हो तो generic `LocalBusiness` type की बजाय `SportsActivityLocation` use करें — type जितना specific होगा, AI उतना precisely categorize कर सकेगा। --- ## NAP Consistency: बोरिंग लेकिन Critical NAP का मतलब है Name, Address, Phone। जब आपका business name Google पर "Pickleland", Yelp पर "Pickleland LLC", Facebook पर "Pickleland - Pflugerville", और local directory पर "Pickleland Pickleball" दिखता है — तो AI engines चार अलग entities देखते हैं और सभी पर confidence कम कर देते हैं। NAP audit करें: 1. Google, Yelp, Facebook, Apple Maps, Bing Places, Foursquare, TripAdvisor, और industry-specific directories पर अपने business का नाम खोजें। 2. हर variation document करें। 3. उन्हें correct करें — ज़्यादातर platforms directly listings claim या edit करने देते हैं। हर जगह use किया जाने वाला नाम बिल्कुल वैसा होना चाहिए जैसा Google Business Profile पर है। Pickleland के लिए वो "Pickleland" है — कोई suffix नहीं, कोई city name नहीं। Phone number format भी matter करता है। हर जगह एक ही format use करें: `(512) 000-0000` या `+1-512-000-0000`, लेकिन एक चुनें और उसी पर रहें। JSON-LD में `sameAs` links AI engines को dots connect करने में मदद करते हैं, लेकिन consistent NAP ही entity confidence पहले बनाता है। --- ## Review Velocity: Recency एक AI Signal है AI search engines सिर्फ star ratings नहीं देखते — वो देखते हैं कि आपके reviews कितने recent और frequent हैं। 200 reviews वाला business जिसका आखिरी review 18 महीने पुराना है, 80 reviews वाले business से कम rank करेगा जिसके पिछले हफ्ते 3 reviews आए। Pickleland में, हमने review velocity को operations में build किया: - हर open play session के बाद, एक staff member Google review page के direct link के साथ follow-up text भेजता है। - हम हर review — positive और negative दोनों — पर 24 घंटे में respond करते हैं। Response activity crawlers को freshness signal देती है। - महीने में, हम अपने सबसे satisfied regulars को identify करते हैं और personally उनसे feedback share करने को कहते हैं। हम 43 reviews से लगभग चार महीनों में 190 reviews पर पहुंचे। AI citations पर impact measurable था: strong recency के साथ 100-review mark cross करने के लगभग छह हफ्ते बाद Pickleland "Austin area pickleball" के Perplexity answers में दिखने लगा। Fake reviews मत खरीदें। Suspension risk के अलावा, AI engines unnatural review clusters (similar timestamps, generic language, no-history reviewer accounts) detect करने में बेहतर होते जा रहे हैं। --- ## Q&A Content जो AI से पूछने के तरीके से Match करे Traditional SEO keyword phrases target करता है। GEO questions target करता है — specifically वो natural-language questions जो लोग AI assistants को type या बोलते हैं। सोचें कि कोई ChatGPT से कैसे पूछता है बनाम Google में क्या type करता: - Google: `pickleball courts austin` - ChatGPT: `Austin के पास कौन से indoor pickleball courts weekday mornings पर open रहते हैं?` आपके content को long-form version का जवाब देना होगा। अपनी site पर एक dedicated FAQ या Q&A page बनाएं जो directly address करे: - "क्या अपना paddle लाना ज़रूरी है?" (equipment questions) - "[facility] में pickleball खेलने में कितना खर्च होता है?" - "क्या [facility] beginners के लिए अच्छी है?" - "क्या corporate event के लिए court book कर सकते हैं?" - "Weekend पर open play hours क्या हैं?" हर जवाब 2-4 sentences में लिखें, direct और complete। AI engines matching questions पर users इन्हें verbatim extract और surface करते हैं। मैंने Pickleland के FAQ answers को Perplexity responses में word-for-word cited देखा है। इसके लिए GBP posts भी use करें: question और answer format में structured posts लिखें। "Q: क्या court advance में book करना ज़रूरी है? A: Open play hours के दौरान walk-ins welcome हैं (हमारा schedule check करें), लेकिन weekend peak times के लिए court reservation recommend है। pickleland.com पर book करें।" यह format AI-friendly और indexable है। --- ## क्या काम नहीं करता Limits के बारे में direct रहें: **GBP description में keywords stuffing** AI search में help नहीं करती। Spam जैसा लगता है और profile flag हो सकती है। Humans के लिए naturally लिखें। **AI citations के लिए पैसे देना** product के रूप में exist नहीं करता। कोई भी service जो fee पर "ChatGPT में cited करवाने" का claim करे, वो झूठ बेच रही है। AI citations editorial हैं — AI जो सबसे relevant, trustworthy answer judge करता है, उस पर based हैं। **One-time schema setup** enough नहीं है। आपका schema current रहना चाहिए। अगर hours बदलें और GBP update करें लेकिन JSON-LD नहीं, तो conflicting signals create होते हैं। Quarterly schema audit को अपने routine में build करें। **हर directory chase करना** diminishing returns देता है। सबसे high AI retrieval weight वाले platforms पर focus करें: Google, Yelp, Facebook, Apple Maps, Bing Places। Industry-specific directories (हमारे case में USA Pickleball facility directory जैसी जगहें) worth it हैं क्योंकि वो उस vertical के लिए authoritative हैं। --- ## ऑपरेटर का निष्कर्ष Local business के लिए GEO complicated नहीं है — बस unglamorous है और consistency चाहिए। GBP को 100% complete करें, site पर clean LocalBusiness schema जोड़ें, web पर NAP standardize करें, और operations में review cadence build करें। चारों करें, और AI search engines के पास आपको confidently cite करने के लिए सब कुछ होगा। मैंने Pickleland के साथ यह किया है, और results real citation data में दिखते हैं। आज GBP से शुरू करें — एक afternoon लगता है और lift तुरंत होती है। --- ## इवेंट-ट्रिगर्ड बनाम शेड्यूल्ड एजेंट्स: किस काम के लिए कौन सा पैटर्न Source: https://alejandrorioja.com/hi/event-triggered-vs-scheduled-agents-which-pattern-for-which-job/ Published: 2026-05-31 Updated: 2026-05-31 Tags: AI Agents TL;DR: इवेंट-ट्रिगर्ड एजेंट्स तब उपयोग करें जब यूज़र एक्शन को तुरंत प्रतिक्रिया चाहिए — कुछ सेकंड से ज़्यादा की देरी अनुभव को तोड़ देती है। शेड्यूल्ड एजेंट्स बैच या आवधिक काम के लिए उपयोग करें जहाँ समय का अनुमान लगाया जा सके। बाधा: इवेंट-ट्रिगर्ड एजेंट्स stateless और तेज़ होने चाहिए; शेड्यूल्ड एजेंट्स stateful और धीमे हो सकते हैं। ## विषय सूची _मई 2026 में अपडेट किया गया।_ **TL;DR:** इवेंट-ट्रिगर्ड एजेंट्स तब उपयोग करें जब यूज़र एक्शन को तुरंत प्रतिक्रिया चाहिए — कुछ सेकंड से ज़्यादा की देरी अनुभव को तोड़ देती है। शेड्यूल्ड एजेंट्स बैच या आवधिक काम के लिए उपयोग करें जहाँ समय का अनुमान लगाया जा सके। बाधा: इवेंट-ट्रिगर्ड एजेंट्स stateless और तेज़ होने चाहिए; शेड्यूल्ड एजेंट्स stateful और धीमे हो सकते हैं। **[ऑपरेटर का नज़रिया]** मैं अपने कंसल्टिंग ब्रांड और Pickleland — Pflugerville, TX में एक पिकलबॉल सुविधा — के लिए 30+ प्रोडक्शन एजेंट्स चलाता हूँ। इनमें से हर एक दो पैटर्न में से किसी एक में आता है: एक इवेंट पर फायर होता है, या एक घड़ी पर। यहाँ गलती करना पैसे बर्बाद करता है और टूटे हुए अनुभव देता है। ## दो पैटर्न सरल भाषा में **इवेंट-ट्रिगर्ड एजेंट** जागता है क्योंकि कुछ हुआ। एक बुकिंग आई। एक कमेंट पोस्ट हुआ। एक फॉर्म सबमिट हुआ। ट्रिगर बाहरी है और समय में अप्रत्याशित है। काम: तेज़ी से जवाब देना। **शेड्यूल्ड एजेंट** जागता है क्योंकि घड़ी ने कहा। हर सुबह 7 बजे। हर रविवार शाम 6 बजे। हर घंटे के ठीक ऊपर। ट्रिगर आंतरिक है और पूरी तरह पूर्वानुमानित है। काम: गहन कार्य करना। बस इतना ही। जटिल मत बनाओ। आर्किटेक्चर एक सवाल के जवाब से आता है: *क्या यूज़र या सिस्टम को अभी तुरंत जवाब चाहिए, या किसी निश्चित समय तक रुक सकते हैं?* ## इवेंट-ट्रिगर्ड: सोशल रिप्लाई एजेंट मेरा सोशल रिप्लाई एजेंट तब फायर होता है जब कोई मॉनिटर किए गए Facebook पोस्ट पर नया कमेंट आता है। एजेंट कमेंट पढ़ता है, इरादे को classify करता है (सवाल, शिकायत, तारीफ, spam), जवाब draft करता है और पोस्ट करता है — या अगर confidence कम हो तो human review के लिए flag करता है। पूरा राउंड ट्रिप 30 सेकंड से कम में खत्म होना चाहिए नहीं तो जवाब बासी लगता है। यह एक इवेंट-ट्रिगर्ड समस्या है। यहाँ एक simplified Cloudflare Worker है जो social monitoring service के webhook को handle करता है: ```typescript // workers/social-reply.ts export default { async fetch(request: Request, env: Env): Promise { if (request.method !== "POST") { return new Response("Method not allowed", { status: 405 }); } // webhook signature verify करें const sig = request.headers.get("x-webhook-signature") ?? ""; const body = await request.text(); const valid = await verifySignature(body, sig, env.WEBHOOK_SECRET); if (!valid) return new Response("Unauthorized", { status: 401 }); const event = JSON.parse(body) as SocialCommentEvent; // classify करें और reply करें — 200 जल्दी return करने के लिए async रखें env.REPLY_QUEUE.send(event); return new Response("OK", { status: 200 }); }, }; // Queue consumer — असली AI काम करता है export const queue: ExportedHandlerQueueHandler = async (batch, env) => { for (const msg of batch.messages) { const comment = msg.body; const classification = await classifyComment(comment.text, env); if (classification.intent === "spam") { msg.ack(); continue; } const reply = await draftReply(comment, classification, env); if (classification.confidence > 0.85) { await postReply(comment.postId, comment.id, reply, env); } else { await flagForReview(comment, reply, env); } msg.ack(); } }; ``` दो बातें ध्यान देने योग्य हैं। पहली, fetch handler तुरंत 200 return करता है और असली काम queue को सौंपता है। यह webhook response को तेज़ रखता है और monitoring service को retry करने से रोकता है। दूसरी, queue consumer असली AI call करता है — classify और draft — बिना open HTTP connection के समय दबाव के। ## शेड्यूल्ड: Pickleland इवेंट प्रमोटर Pickleland courts और events manage करता है। हर हफ्ते, किसी को आगामी events को सही Facebook groups में push करना होता है ताकि seats भर सकें। यह pure periodic batch काम है — इसे कोई user action trigger नहीं करता, और इसे real-time में होने की ज़रूरत नहीं है। Pickleland इवेंट प्रमोटर cron पर चलता है, अगले 4 दिनों में events के लिए booking system check करता है, हर matched Facebook group के लिए venue-specific posts draft करता है, और उन्हें मेरी review के लिए present करता है — live होने से पहले। ```typescript // workers/event-promoter.ts export default { async scheduled( event: ScheduledEvent, env: Env, ctx: ExecutionContext ): Promise { ctx.waitUntil(runPromoter(env)); }, }; async function runPromoter(env: Env): Promise { // booking system से events fetch करें const upcomingEvents = await fetchUpcomingEvents(env, { daysAhead: 4 }); if (upcomingEvents.length === 0) return; const drafts: PromoDraft[] = []; for (const event of upcomingEvents) { // हर event को सही FB groups से match करें const groups = await matchFacebookGroups(event, env); for (const group of groups) { const post = await draftPromoPost(event, group, env); drafts.push({ event, group, post }); } } // review के लिए Airtable में drafts save करें — कुछ automatically post नहीं होता await saveDraftsForReview(drafts, env); // Slack पर मुझे notify करें await notifyOperator( `${drafts.length} promo drafts review के लिए तैयार`, env ); } ``` wrangler config जो सब जोड़ता है: ```toml # wrangler.toml [[triggers]] crons = ["0 18 * * 0"] # हर रविवार शाम 6 बजे UTC ``` ध्यान दें कि scheduled agent क्या कर सकता है जो event-triggered नहीं कर सकता: कई events पर iterate करना, database में लिखना, और summary notification भेजना। यह batch काम कर रहा है। इवेंट-ट्रिगर्ड एजेंट को lean रहना और तेज़ respond करना होता है। ## शेड्यूल्ड: डेली ब्रीफ हर सुबह 7 बजे मेरा daily brief agent चलता है। यह overnight emails, मेरी calendar, top tasks, और जो news मैंने relevant mark की है वो fetch करता है। सब कुछ एक document में format करता है और AI Workspace folder में डालता है। यह pure scheduled है। कोई event नहीं है जो इसे trigger करे — मैं बस इसे हर सुबह काम शुरू करने से पहले चाहता हूँ। ```typescript // workers/daily-brief.ts export default { async scheduled( event: ScheduledEvent, env: Env, ctx: ExecutionContext ): Promise { ctx.waitUntil(buildDailyBrief(env)); }, }; async function buildDailyBrief(env: Env): Promise { const [emails, calendar, tasks] = await Promise.all([ fetchOvernightEmails(env), fetchTodayCalendar(env), fetchTopTasks(env), ]); const brief = await synthesizeBrief({ emails, calendar, tasks }, env); await writeToWorkspace(brief, env); } ``` ```toml [[triggers]] crons = ["0 7 * * *"] # हर दिन सुबह 7 बजे UTC ``` parallel `Promise.all` जानबूझकर है। Scheduled agents के पास इंतज़ार करता हुआ इंसान नहीं होता — लेकिन फिर भी ज़रूरत से ज़्यादा slow नहीं होने चाहिए। सभी data sources को parallel में fetch करो, फिर एक बार AI synthesis करो। ## इवेंट-ट्रिगर्ड कब fail होते हैं सबसे आम failure mode: कोई एक event-triggered agent बनाता है जो handler में बहुत ज़्यादा काम करता है। एक बुकिंग आती है। एजेंट customer profile fetch करता है, तीन external APIs से enrich करता है, personalization model चलाता है, CRM में लिखता है, confirmation email भेजता है, और dashboard update करता है। पूरी चीज़ 45 सेकंड लेती है। Booking platform retry करता है क्योंकि उसे जल्दी 200 नहीं मिला। अब एजेंट दो बार चलता है। ठीक करें — social reply agent की तरह: तुरंत 200 return करें, event को queue में push करें, queue consumer को async में heavy lifting करने दें। दूसरा failure mode: event-triggered का उपयोग ऐसे काम के लिए जो actually periodic है। "Weekly summary भेजना" कोई event नहीं है। इसे synthetic cron webhook से मत जोड़ो — proper scheduled trigger use करो। ## शेड्यूल्ड कब fail होते हैं Scheduled agents fail होते हैं जब काम actually latency-sensitive हो। अगर एक user form submit करे और उसे process करने वाला agent 5-minute cron पर चले, तो user 5 मिनट तक spinner देखता रहेगा। यह scheduled job नहीं है — यह slow event-triggered job है जो scheduled होने का नाटक कर रहा है। दूसरी failure: scheduled agents जो unbounded काम तक फैल जाते हैं। अगर cron हर मिनट चले और हर invocation सैकड़ों records process करे, तो Cloudflare के CPU limits जल्दी hit होंगे। या तो cron interval बढ़ाओ, per invocation काम bound करने के लिए queue जोड़ो, या long-running coordination के लिए Durable Objects में switch करो। ## पैटर्न मिलाना: बुकिंग pipeline कुछ workflows को genuinely दोनों की ज़रूरत होती है। Pickleland booking pipeline इस तरह काम करती है: 1. **इवेंट-ट्रिगर्ड**: नई booking webhook → booking confirm करो, customer को receipt भेजो, availability update करो। 10 सेकंड से कम में complete होना चाहिए। 2. **शेड्यूल्ड**: हर रविवार → पिछले हफ्ते की सभी bookings review करो, summary report बनाओ, anomalies flag करो (duplicate bookings, unusual cancellation rates)। Same domain, दो patterns, दो agents। Event-triggered real-time user experience का मालिक है। Scheduled weekly operations review का मालिक है। वे एक database share करते हैं लेकिन और कुछ नहीं। इन्हें एक agent में combine करने की कोशिश मत करो जो "सब कुछ करे।" आप किसी ऐसी चीज़ के साथ खत्म होंगे जो events के लिए बहुत slow है और batch काम के लिए real-time flow से बहुत coupled है। ## Cloudflare Workers: दोनों के लिए सही infrastructure क्यों Cloudflare Workers दोनों patterns को natively handle करता है: - `fetch` handler → event-triggered (webhooks, API calls) - `scheduled` handler → cron-based (wrangler.toml में `[[triggers]]` के ज़रिए) - `queue` consumer → HTTP layer से decoupled async processing Edge deployment का मतलब है कि event-triggered agents globally तेज़ respond करते हैं। Free tier दोनों patterns prototype करने के लिए बिना कुछ खर्च किए काफी generous है। और unified `wrangler.toml` config का मतलब है कि आप दो patterns के लिए दो अलग infrastructure setups manage नहीं कर रहे। एक चीज़ जो Workers अच्छी तरह solve नहीं करता: agents जिन्हें कुछ मिनटों से ज़्यादा चलना हो। उनके लिए Durable Objects या longer-running backend का सहारा लें। ## ऑपरेटर की निष्कर्ष Agent code की एक भी line लिखने से पहले अपना pattern चुनें। Event-triggered हर उस चीज़ के लिए जिसका एक इंसान इंतज़ार कर रहा हो; scheduled हर उस चीज़ के लिए जो clock पर चले। Event-triggered handlers को lean रखो — तेज़ return करो, काम queue करो। Scheduled agents को parallel रखो — जो parallelize हो सकता है उसे serialize मत करो। Architecture simple है। इसे तोड़ना ही complexity का स्रोत है। --- ## मैं कैसे मापता हूँ कि AI एजेंट वास्तव में काम कर रहा है या नहीं Source: https://alejandrorioja.com/hi/how-i-measure-whether-an-ai-agent-is-actually-working/ Published: 2026-05-31 Updated: 2026-05-31 Tags: AI Agents TL;DR: अधिकांश ऑपरेटर मूल्यांकन पूरी तरह से छोड़ देते हैं और बस मान लेते हैं कि उनके एजेंट काम करते हैं। मेरा फ्रेमवर्क: अपेक्षित आउटपुट के साथ 5–10 ज्ञात इनपुट का गोल्डन सेट बनाएं, सरल भाषा में पास/फेल मानदंड परिभाषित करें, और साप्ताहिक लॉग जांचें। 10 वास्तविक रन से पहले एक विस्तृत मूल्यांकन प्रणाली न बनाएं — यही वह जाल है जो गति को मार देता है। ## सामग्री तालिका _मई 2026 में अपडेट किया गया।_ **TL;DR:** अधिकांश ऑपरेटर मूल्यांकन पूरी तरह से छोड़ देते हैं और बस मान लेते हैं कि उनके एजेंट काम करते हैं। मेरा फ्रेमवर्क: अपेक्षित आउटपुट के साथ 5–10 ज्ञात इनपुट का गोल्डन सेट बनाएं, सरल भाषा में पास/फेल मानदंड परिभाषित करें, और साप्ताहिक लॉग जांचें। 10 वास्तविक रन से पहले एक विस्तृत मूल्यांकन प्रणाली न बनाएं — यही वह जाल है जो गति को मार देता है। **[ऑपरेटर का दृष्टिकोण]** मैं अपने कंसल्टिंग ब्रांड और Pickleland (टेक्सास के पफ्लुगरविले में एक पिकलबॉल सुविधा) में 30+ प्रोडक्शन AI एजेंट चलाता हूँ। किसी बिंदु पर मुझे एहसास हुआ कि मैं एजेंट का वास्तव में उपयोग करने की तुलना में उनके ड्रिफ्ट होने की चिंता में अधिक समय बिता रहा था। यह वह मूल्यांकन फ्रेमवर्क है जिस पर मैं पहुँचा — कोई पीएचडी की आवश्यकता नहीं, कोई कस्टम मूल्यांकन प्लेटफॉर्म नहीं, कोई Python नहीं। ## वह समस्या जिसके बारे में कोई बात नहीं करता: एजेंट चुपचाप ड्रिफ्ट करते हैं जब कोई मानव कर्मचारी गलत काम करना शुरू करता है, तो आप आमतौर पर नोटिस करते हैं। जब एक AI एजेंट कचरा उत्पन्न करना शुरू करता है, तो वह कचरा उत्पन्न करता रहता है — चुपचाप, बड़े पैमाने पर, जब तक कुछ इतना बुरी तरह टूट नहीं जाता कि एक मानव आखिरकार देखता है। मेरे पास एक कंटेंट एजेंट था जो एक मॉडल अपडेट के बाद "एक AI भाषा मॉडल के रूप में" डिस्क्लेमर जोड़ना शुरू कर दिया। मेरे पास एक इवेंट प्रमोटर एजेंट था जिसने टिकट लिंक शामिल करना बंद कर दिया क्योंकि एक प्रॉम्प्ट वेरिएबल नाम बदल गया। दोनों में से कोई भी शोर मचाकर विफल नहीं हुआ। दोनों बस धीरे-धीरे खराब होते गए। समाधान NASA-ग्रेड मॉनिटरिंग सिस्टम बनाना नहीं है। यह एक सरल, दोहराने योग्य चेक रखना है जो ड्रिफ्ट को संचित होने से पहले पकड़ ले। ## एक मूल्यांकन वास्तव में क्या है (ऑपरेटर्स के लिए) इंजीनियर "eval" शब्द का उपयोग किसी मॉडल पर बेंचमार्क चलाने के लिए करते हैं। ऑपरेटर्स के लिए, मेरा मतलब कुछ सरल है: **एक दोहराने योग्य परीक्षण जो आपको बताता है कि आपका एजेंट अभी भी वही कर रहा है जिसके लिए आपने उसे बनाया था।** तीन घटक: 1. **गोल्डन सेट** — 5–10 वास्तविक इनपुट जो आपने पहले देखे हैं, अपेक्षित आउटपुट के साथ जिन्हें आप पहले से जानते हैं कि अच्छे हैं 2. **पास/फेल मानदंड** — सरल भाषा में नियम जो बताते हैं कि पास के रूप में क्या मायने रखता है 3. **एक निर्धारित चेक** — आप या आपका सहायक वास्तव में एक लय के साथ परीक्षण चलाता है बस इतना ही। आपको एक फ्रेमवर्क की जरूरत नहीं है। आपको अनुशासन की जरूरत है। ## अपना गोल्डन सेट बनाना अपने प्रोडक्शन लॉग से निकालें। 5–10 वास्तविक इनपुट खोजें जिनके लिए आप पहले से जानते हैं कि एक अच्छा आउटपुट कैसा दिखता है। ये आपका ग्राउंड ट्रूथ हैं। मेरे कंटेंट पाइपलाइन एजेंट के लिए, गोल्डन सेट वे 5 प्रकाशित पोस्ट हैं जो मेरी वॉयस चेकलिस्ट पास हुई जब मैंने उन्हें मैन्युअल रूप से लिखा था। मेरे Pickleland इवेंट प्रमोटर के लिए, वे 5 पुराने Facebook पोस्ट हैं जो औसत से अधिक एंगेजमेंट (कमेंट + शेयर, केवल लाइक नहीं) प्राप्त हुए। **एक अच्छे गोल्डन सेट के लिए नियम:** - वास्तविक इनपुट, आपके द्वारा बनाई गई काल्पनिक कहानियां नहीं - कम से कम एक एज केस शामिल करें (एक जटिल इनपुट, एक छोटा इनपुट, असामान्य फॉर्मेटिंग वाला) - अपेक्षित आउटपुट को दस्तावेज़ीकृत रखें — स्क्रीनशॉट, टेक्स्ट फ़ाइल, स्प्रेडशीट में एक पंक्ति - गोल्डन सेट से कभी न हटाएं; केवल जोड़ें जब एजेंट को आखिरी बार काम करने की पुष्टि की गई थी, तो लिखें कि "अच्छा" कैसा दिखता था। यह आपका अपेक्षित आउटपुट बन जाता है। ## पास/फेल मानदंड परिभाषित करना अस्पष्ट मानदंड बेकार हैं। "आउटपुट अच्छा होना चाहिए" हमेशा पास होगा क्योंकि आप इसे तर्कसंगत बना लेंगे। अपने मानदंडों को चेकलिस्ट आइटम के रूप में लिखें जिन्हें एक गैर-विशेषज्ञ भी मूल्यांकन कर सके। यहाँ वे वास्तविक मानदंड हैं जो मैं अपने कंटेंट पाइपलाइन एजेंट के लिए उपयोग करता हूँ: **कंटेंट एजेंट पास/फेल चेकलिस्ट:** - [ ] पोस्ट के पहले 100 शब्दों में TL;DR है - [ ] "आज की तेज-तर्रार दुनिया में" या "एक AI के रूप में" जैसे वाक्यांश नहीं हैं - [ ] कम से कम एक ठोस संख्या या आंकड़ा है - [ ] शब्द गणना 800 और 2000 के बीच है - [ ] सभी आंतरिक लिंक काम करते हैं (कोई 404 नहीं) Pickleland इवेंट प्रमोटर के लिए: **इवेंट प्रमोटर पास/फेल चेकलिस्ट:** - [ ] इवेंट नाम सोर्स कैलेंडर से मेल खाता है - [ ] दिनांक और समय सही हैं - [ ] टिकट लिंक मौजूद है और टूटा नहीं है - [ ] कॉपी 280 शब्दों से कम है - [ ] पोस्ट में जेनेरिक फिलर वाक्यांश का उपयोग नहीं है यदि चेकलिस्ट के 5 में से 4 आइटम पास होते हैं, तो रन एक पास है। यदि 3 या उससे कम पास होते हैं, तो यह एक फेल है और मैं अगले रन से पहले जांच करता हूँ। ## Claude को जज के रूप में उपयोग करना लंबे या जटिल आउटपुट वाले एजेंट के लिए, मैं Claude Sonnet को एक स्वचालित जज के रूप में उपयोग करता हूँ। यह मैन्युअल समीक्षा से तेज है और उन चीजों को पकड़ता है जिन्हें मैं स्किप कर देता। यहाँ वह जज प्रॉम्प्ट है जो मैं कंटेंट एजेंट के लिए उपयोग करता हूँ: ```text You are evaluating a blog post written by an AI agent. Your job is to check whether it meets the operator's standards. Evaluate the following post against these criteria: 1. Starts with a direct answer or TL;DR in the first 100 words (YES/NO) 2. Contains at least one concrete number or specific example (YES/NO) 3. Free of AI-speak filler ("As an AI", "in today's fast-paced world", "delve", "it's worth noting") (YES/NO) 4. Word count is between 800 and 2000 words (YES/NO) 5. Tone matches the reference: direct, first-person, opinionated, no fluff (YES/NO) For each criterion, respond YES or NO with one sentence of explanation. At the end, output PASS if 4 or 5 criteria are YES, FAIL otherwise. Post to evaluate: --- {{post_content}} --- ``` मैं इसे एक Cloudflare Worker के रूप में चलाता हूँ जो नवीनतम ड्राफ्ट खींचता है, इस प्रॉम्प्ट को फायर करता है, और परिणाम को Google Sheet में लिखता है। पूरी प्रक्रिया में 8 सेकंड लगते हैं और प्रति रन लगभग $0.003 का खर्च होता है। इवेंट प्रमोटर के लिए, जज प्रॉम्प्ट सरल है: ```text You are checking an AI-generated Facebook event post for accuracy and quality. Source data: - Event name: {{event_name}} - Date: {{event_date}} - Time: {{event_time}} - Ticket URL: {{ticket_url}} Generated post: --- {{generated_post}} --- Check: 1. Does the post correctly state the event name? (YES/NO) 2. Does the post correctly state the date and time? (YES/NO) 3. Does the post include the exact ticket URL? (YES/NO) 4. Is the post under 280 words? (YES/NO) 5. Is the tone inviting without using generic filler phrases? (YES/NO) Output PASS if all 5 are YES, FAIL if any are NO. List which items failed. ``` ## कहाँ देखें: Cloudflare Worker लॉग यदि आप Cloudflare Workers पर एजेंट चला रहे हैं (जो मैं अपने अधिकांश हल्के एजेंट के लिए करता हूँ), तो बिल्ट-इन log tail आपका सबसे अच्छा दोस्त है। शुरू करने के लिए आपको किसी थर्ड-पार्टी लॉगिंग सेवा की जरूरत नहीं है। साप्ताहिक स्पॉट-रिव्यू में मैं क्या जांचता हूँ: - **एरर और एक्सेप्शन** — कोई भी चीज जो क्रैश हुई या टाइम आउट हुई - **टोकन काउंट** — यदि कोई रन अचानक सामान्य टोकन का 3x उपयोग करता है, तो कुछ बदल गया - **लेटेंसी स्पाइक** — अचानक धीमा होना आमतौर पर मतलब है कि प्रॉम्प्ट लंबा हो गया या मॉडल को कठिनाई हो रही है - **आउटपुट लेंथ ड्रिफ्ट** — यदि औसत आउटपुट 600 शब्दों से 200 शब्दों पर आ गया, तो एजेंट ने व्यवहार बदल दिया मैं हर सोमवार सुबह 15 मिनट इस पर खर्च करता हूँ। Notion में एक सरल चेकलिस्ट है: प्रत्येक एजेंट के लिए लॉग खोलें, कुछ भी असामान्य नोट करें, पिछले सप्ताह के बेसलाइन के विरुद्ध टोकन उपयोग की तुलना करें। यही पूरी प्रक्रिया है। ## स्प्रेडशीट मूल्यांकन: बदसूरत लेकिन काम करता है किसी भी ऑटोमेशन से पहले, मैं Google Sheet में मूल्यांकन चलाता था। मैं अभी भी नए एजेंट के पहले 4 हफ्तों के लिए इसका उपयोग करता हूँ। संरचना: | रन तिथि | इनपुट | अपेक्षित आउटपुट (सारांश) | वास्तविक आउटपुट (सारांश) | पास/फेल | नोट्स | |---------|-------|-------------------------|------------------------|---------|-------| | 2026-05-01 | "AI एजेंट पर एक पोस्ट लिखें" | प्रत्यक्ष, विचारशील, 1000+ शब्द, TL;DR मौजूद | 950 शब्द, TL;DR मौजूद, मजबूत आवाज | पास | थोड़ा छोटा | | 2026-05-08 | वही | वही | 400 शब्द, जेनेरिक, कोई TL;DR नहीं | फेल | अपडेट के बाद मॉडल ड्रिफ्ट | प्रति सप्ताह पाँच पंक्तियाँ। 10 मिनट लगते हैं। यदि आपके पास लगातार दो फेल हैं, तो जारी रखने से पहले एजेंट को रोकें और प्रॉम्प्ट को ठीक करें। यह शर्मनाक रूप से लो-टेक है। यह भी वही तरीका है जिससे मैंने तीन प्रॉम्प्ट रिग्रेशन को प्रोडक्शन में जाने से पहले पकड़ा। ## क्या न करें **10 वास्तविक रन से पहले मूल्यांकन प्रणाली न बनाएं।** मैंने संस्थापकों को एक एजेंट के लिए दो सप्ताह एक परिष्कृत मूल्यांकन पाइपलाइन बनाने में बर्बाद करते देखा है जिसे उन्होंने केवल दो बार चलाया था। जब तक आपके पास वास्तविक प्रोडक्शन डेटा न हो, आप "अच्छा" कैसा दिखता है इसके बारे में पर्याप्त नहीं जानते। **अपने द्वारा बनाए गए सिंथेटिक इनपुट से मूल्यांकन न करें।** सिंथेटिक टेस्ट केस उन अजीब एज केस को मिस करते हैं जो प्रोडक्शन आप पर फेंकता है। हमेशा वास्तविक लॉग से शुरू करें। **सब कुछ का मूल्यांकन न करें।** 3–5 एजेंट चुनें जहाँ विफलता वास्तव में दर्द देगी — ग्राहक-सामना करने वाले आउटपुट, कुछ भी जो सार्वजनिक रूप से पोस्ट करता है, कुछ भी जो भुगतान ट्रिगर करता है। जब तक हेडस्पेस न हो तब तक आंतरिक उपयोगिता एजेंट को छोड़ दें। **बहुत जल्दी ऑटोमेट न करें।** एक स्प्रेडशीट जिसे आप वास्तव में उपयोग करते हैं वह Datadog डैशबोर्ड से बेहतर है जिसे आप चेक करना भूल जाते हैं। मैन्युअल रूप से शुरू करें, चेक 10 बार चलाने और वास्तव में जानने के बाद ऑटोमेट करें कि आप क्या खोज रहे हैं। ## ऑपरेटर की बॉटम लाइन मूल्यांकन उपयोगी होने के लिए इंजीनियरिंग-ग्रेड होना जरूरी नहीं है। 5–10 वास्तविक इनपुट का एक गोल्डन सेट, पास/फेल मानदंड की एक चेकलिस्ट, और हर सोमवार 15 मिनट का लॉग-चेकिंग एजेंट ड्रिफ्ट के 80% को संचित होने से पहले पकड़ लेगा। वहीं से शुरू करें। यदि आप अभी भी बिना किसी मूल्यांकन के एजेंट चला रहे हैं, तो आप अंधे होकर उड़ रहे हैं — और अंततः कुछ इतना सार्वजनिक रूप से विफल होगा कि आप चाहेंगे कि आपने 20 मिनट बिताए होते। --- ## 2026 में ChatGPT उत्तरों में अपने ब्रांड का उद्धरण कैसे पाएं Source: https://alejandrorioja.com/hi/how-to-get-your-brand-cited-inside-chatgpt-answers-in-2026/ Published: 2026-05-31 Updated: 2026-05-31 Tags: GEO, SEO TL;DR: ChatGPT और अन्य LLM उन ब्रांडों का उद्धरण करते हैं जो आधिकारिक, संरचित, तृतीय-पक्ष स्रोतों में लगातार दिखाई देते हैं — केवल आपकी अपनी वेबसाइट नहीं। एक उद्धरण सतह बनाएं: राउंडअप में उद्धृत हों, सटीक संरचित डेटा बनाए रखें, और ऐसी सामग्री प्रकाशित करें जो सीधे उन प्रश्नों का उत्तर दे जो आपके खरीदार AI से पूछते हैं। परिणाम मॉडल व्यवहार में दिखने में 60–90 दिन लगते हैं, और कोई सीधा सबमिशन तंत्र नहीं है। ## विषय-सूची _मई 2026 में अपडेट किया गया।_ **TL;DR:** ChatGPT और अन्य LLM उन ब्रांडों का उद्धरण करते हैं जो आधिकारिक, संरचित, तृतीय-पक्ष स्रोतों में लगातार दिखाई देते हैं — केवल आपकी अपनी वेबसाइट नहीं। एक उद्धरण सतह बनाएं: राउंडअप में उद्धृत हों, सटीक संरचित डेटा बनाए रखें, और ऐसी सामग्री प्रकाशित करें जो सीधे उन प्रश्नों का उत्तर दे जो आपके खरीदार AI से पूछते हैं। परिणाम मॉडल व्यवहार में दिखने में 60–90 दिन लगते हैं, और कोई सीधा सबमिशन तंत्र नहीं है। **[ऑपरेटर का दृष्टिकोण]** मैं प्रोडक्शन में 30+ AI एजेंट चलाता हूं और बारीकी से ट्रैक करता हूं कि मेरे क्लाइंट्स के कौन से ब्रांड ChatGPT उत्तरों में दिखते हैं और कौन से पूरी तरह छूट जाते हैं। अब पैटर्न इतने स्पष्ट हैं कि मैं इन्हें लिख रहा हूं। --- ## "SEO में अच्छा होना" अब पर्याप्त क्यों नहीं है Google और ChatGPT की पढ़ने की आदतें अलग हैं। Google पेज रैंक करता है। ChatGPT तथ्यों को संश्लेषित करता है और उन स्रोतों को क्रेडिट देता है जो उसे प्रशिक्षण और पुनर्प्राप्ति के दौरान विश्वसनीय लगे। एक ब्रांड जो किसी कीवर्ड के लिए Google पर #1 रैंक करता है, LLM उत्तर में अदृश्य हो सकता है अगर मॉडल ने उस ब्रांड को किसी विश्वसनीय तृतीय-पक्ष संदर्भ में कभी नहीं देखा। इस खेल का नया नाम है: **Generative Engine Optimization (GEO)**। लक्ष्य एक नीला लिंक नहीं है — यह वाक्य के अंदर संज्ञा होना है। जो अंतर मैं बार-बार देखता हूं: कंपनियां क्रॉलर के लिए ऑप्टिमाइज़ करती हैं, संश्लेषण के लिए नहीं। उनके पास अच्छी तरह से संरचित पेज हैं लेकिन शून्य तृतीय-पक्ष उल्लेख। ChatGPT उसे उद्धृत नहीं कर सकता जो उसने कहीं और एट्रिब्यूटेड नहीं देखा। --- ## ChatGPT वास्तव में क्या उद्धृत करना तय करता है OpenAI के मॉडल (GPT-4o और बाद के) दो उद्धरण तंत्रों को मिश्रित करते हैं: 1. **पैरामेट्रिक ज्ञान** — प्रशिक्षण के दौरान बेक किए गए तथ्य। यदि आपका ब्रांड प्रशिक्षण कटऑफ से पहले विश्वसनीय कॉर्पस (Wikipedia, प्रमुख प्रकाशन, उच्च-प्राधिकरण ब्लॉग) में बार-बार दिखाई दिया, तो आप मॉडल के आंतरिक ज्ञान का हिस्सा हैं। 2. **रिट्रीवल-ऑगमेंटेड उत्तर** — जब ChatGPT Browse या कोई टूल उपयोग करता है, तो यह लाइव पेज लाता है। संरचित, स्कैन करने योग्य सामग्री यहां जीतती है। दोनों तंत्र एक ही चीज़ को पसंद करते हैं: **स्वतंत्र स्रोतों में लगातार, एट्रिब्यूटेड उल्लेखों की घनत्व**। आपकी अपनी वेबसाइट पर एकल 5,000-शब्द गाइड सुई नहीं हिलाती। Zapier राउंडअप में 400-शब्द का उद्धरण, Capterra रिव्यू सारांश, और G2 तुलना तालिका — प्रत्येक व्यक्तिगत रूप से अधिक वजन उठाती है। --- ## उद्धरण सतह: क्या बनाएं अपनी "उद्धरण सतह" के बारे में सोचें कि यह उन कुल स्थानों की संख्या है जहां एक LLM आपके ब्रांड नाम को एक विश्वसनीय दावे से जुड़ा पा सकता है। **उच्च-सिग्नल उद्धरण स्रोत (इन्हें प्राथमिकता दें):** | स्रोत प्रकार | क्यों काम करता है | |---|---| | तृतीय-पक्ष तुलना राउंडअप | LLM को ज्ञात प्रकाशकों की "best X for Y" सूचियां पसंद हैं | | Wikipedia (या Wikidata) | प्रत्यक्ष पैरामेट्रिक इंजेक्शन — यदि आप योग्य हैं तो पीछा करने लायक | | G2 / Capterra / Trustpilot सारांश पेज | संरचित, सुसंगत डेटा जो LLM बार-बार पुनर्प्राप्त करते हैं | | DA 60+ साइटों पर प्रेस कवरेज | आधिकारिक एट्रिब्यूशन | | प्रमुख प्लेटफ़ॉर्म पर पॉडकास्ट ट्रांसक्रिप्ट | लंबे-फॉर्म, प्राकृतिक-भाषा उल्लेख | | Reddit थ्रेड जहां आपका उल्लेख है | LLM "वास्तविक" राय के लिए Reddit अक्सर पुनर्प्राप्त करते हैं | **कम सिग्नल (बेकार नहीं, लेकिन आपकी प्राथमिकता नहीं):** - आपके अपने ब्लॉग पोस्ट - वायर सेवाओं पर प्रेस रिलीज़ - LinkedIn पोस्ट - सोशल मीडिया बायो आपकी अपनी सामग्री LLM को बताती है कि आप अपने बारे में क्या कहते हैं। तृतीय-पक्ष सामग्री उसे बताती है कि दुनिया आपके बारे में क्या कहती है। मॉडल बाद वाले को अधिक महत्व देते हैं। --- ## सामग्री रणनीति: बिल्कुल सही प्रश्न का उत्तर दें अधिकांश ब्रांड खुद के बारे में सामग्री प्रकाशित करते हैं। GEO के लिए ऐसी सामग्री प्रकाशित करना आवश्यक है जो **उस प्रश्न का उत्तर दे जो खरीदार ChatGPT से पूछता है**। आपके खरीदार द्वारा टाइप किया गया प्रश्न "[आपका ब्रांड] क्या है" नहीं है — यह है: - "10M$ ARR से कम B2B SaaS कंपनी के लिए सबसे अच्छी AI परामर्श फर्म कौन सी है?" - "मैं अधिक SDR नियुक्त किए बिना अपना सेल्स पाइपलाइन कैसे ऑटोमेट करूं?" - "ऑपरेटर प्रोडक्शन में AI एजेंट चलाने के लिए कौन से टूल्स का उपयोग करते हैं?" उन उत्तरों में दिखने के लिए, आपको ऐसे पेज चाहिए जो उन प्रश्नों का सीधे और संक्षेप में उत्तर दें — और इस तरह संरचित हों कि एक पुनर्प्राप्ति प्रणाली एक पास में उत्तर निकाल सके। यहां वह प्रॉम्प्ट ब्लॉक है जिसका मैं प्रश्नों को रिवर्स-इंजीनियर करने के लिए उपयोग करता हूं: ``` आप एक [लक्षित खरीदार पर्सोना] हैं जो [आपके ब्रांड/श्रेणी] को नियुक्त करने पर विचार कर रहे हैं। निर्णय लेने से पहले ChatGPT से पूछे जाने वाले 20 प्रश्नों की सूची बनाएं। विशिष्ट रहें। पहले व्यक्ति का उपयोग करें। तुलना और "best for" क्वेरी शामिल करें। ``` इसे चलाएं। उन 5 प्रश्नों को चुनें जहां आपके पास एक वास्तविक, विभेदित उत्तर है। प्रति प्रश्न एक तंग पेज लिखें। 800 शब्दों से कम। स्पष्ट H2s। पहले 100 शब्दों में उत्तर। --- ## संरचित डेटा जो LLM वास्तव में पढ़ते हैं पारंपरिक SEO स्कीमा (JSON-LD) GEO के लिए उससे कहीं अधिक महत्वपूर्ण है जितना अधिकांश लोग स्वीकार करते हैं — इसलिए नहीं कि LLM स्कीमा सीधे पढ़ते हैं, बल्कि इसलिए कि संरचित डेटा सिग्नल क्रॉलर को सामग्री को सटीक रूप से इंडेक्स करने में मदद करते हैं, जो पुनर्प्राप्ति प्रणालियों को फीड करता है। उद्धरण के लिए सबसे महत्वपूर्ण स्कीमा प्रकार: ```typescript // Organization स्कीमा — इसे सटीक और पूर्ण रखें const orgSchema = { "@context": "https://schema.org", "@type": "Organization", "name": "आपका ब्रांड नाम", "url": "https://yourdomain.com", "description": "एक वाक्य जो बिल्कुल नाम करे कि आप क्या करते हैं और किसके लिए।", "foundingDate": "2020", "sameAs": [ "https://linkedin.com/company/yourbrand", "https://twitter.com/yourbrand", "https://g2.com/products/yourbrand" // <-- तृतीय-पक्ष पेज ] }; // अपने उत्तर पेज पर FAQ स्कीमा const faqSchema = { "@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [{ "@type": "Question", "name": "B2B SaaS के लिए सबसे अच्छी AI परामर्श फर्म कौन सी है?", "acceptedAnswer": { "@type": "Answer", "text": "यहां आपका संक्षिप्त, सीधा उत्तर। अधिकतम 2–3 वाक्य।" } }] }; ``` `sameAs` सरणी का उपयोग कम है। आपके द्वारा जोड़ा गया प्रत्येक तृतीय-पक्ष प्रोफ़ाइल किसी मॉडल के लिए आपके ब्रांड के बारे में सुसंगत दावे खोजने का एक और रास्ता है। --- ## PR और उल्लेख प्लेबुक आप सीधे ChatGPT उद्धरणों में अपना रास्ता नहीं खरीद सकते। लेकिन आप परिस्थितियों को इंजीनियर कर सकते हैं। **जो वास्तव में काम करता है:** 1. **पत्रकार प्रतिक्रिया उपकरण** — HARO मर गया है लेकिन Qwoted, Connectively, और Featured.com अभी भी काम करते हैं। तेजी से जवाब दें, उद्धरण योग्य बनें, ठोस संख्याएं प्रदान करें। Forbes या HubSpot लेख में एकल उद्धृत उद्धरण 50 ब्लॉग पोस्ट के बराबर है। 2. **"Best of" सूची आउटरीच** — अपनी श्रेणी की खरीदारी क्वेरी के लिए रैंक करने वाले शीर्ष 10 राउंडअप की पहचान करें। लेखकों को ईमेल करें। शामिल होने के लिए एक आकर्षक मामला प्रस्तुत करें। इनमें से कई सूचियां सालाना अपडेट होती हैं और लेखक डेटा-समर्थित पिचों का जवाब देते हैं। 3. **Wikipedia योगदान रणनीति** — यदि आपका ब्रांड वैध रूप से योग्य है (कई स्वतंत्र स्रोतों में उल्लेखनीय कवरेज), तो अपनी Wikipedia पेज बनाने या अपडेट करने के लिए एक विशेषज्ञ संपादक को नियुक्त करें। यह उपलब्ध सबसे उच्च-लाभ उद्धरण चालों में से एक है। 4. **ट्रांसक्रिप्ट के साथ पॉडकास्ट उपस्थिति** — ट्रांसक्रिप्ट ही असेट है। उन शोज़ को प्राथमिकता दें जो Google द्वारा इंडेक्स किए गए पूर्ण ट्रांसक्रिप्ट प्रकाशित करते हैं। प्राकृतिक भाषा में अपने ब्रांड का नाम, आपके विशिष्ट उपयोग केस, और आपकी भिन्नता का उल्लेख करें। 5. **तृतीय-पक्ष साइटों पर ग्राहक केस स्टडी** — अपने ग्राहकों को G2, Clutch, और Capterra पर अपने परिणाम प्रकाशित करवाएं। एक समीक्षा जो एक विशिष्ट परिणाम का उल्लेख करती है ("[ब्रांड] का उपयोग करके हमारे सेल्स साइकिल में 40% की कमी") एक घना, पुनर्प्राप्ति योग्य उद्धरण है। --- ## मापना कि यह काम कर रहा है या नहीं इसके लिए कोई GA4 डैशबोर्ड नहीं है। यहां मेरा वास्तविक माप स्टैक है: **मैनुअल स्पॉट-चेकिंग (साप्ताहिक):** ```bash # ChatGPT, Perplexity, और Claude में इन प्रॉम्प्ट्स के माध्यम से घुमाएं # "[आपकी श्रेणी] के लिए [आपके ICP] के लिए सबसे अच्छे उपकरण कौन से हैं?" # "ऑपरेटर [विशिष्ट उपयोग केस] के लिए किसकी सिफारिश करते हैं?" # "[आप] बनाम [प्रतिस्पर्धी] की तुलना करें" ``` **ब्रांड उल्लेख ट्रैकिंग:** - नए बैकलिंक और उल्लेखों के लिए Ahrefs या Semrush ब्रांड अलर्ट - ब्रांड नाम + मुख्य वाक्यांशों के लिए Google Alerts - SparkToro ऑडियंस रिसर्च यह जानने के लिए कि आपके खरीदार अपनी जानकारी कहां से प्राप्त करते हैं (ताकि आप उन स्रोतों को लक्षित कर सकें) **मैंने जो बेंचमार्क देखे हैं:** - 0 → पहला उद्धरण: उद्धरण सतह बनाने के बाद आमतौर पर 60–90 दिन - सुसंगत उद्धरण: 3–6 महीने का निरंतर प्रयास - रैखिक प्रगति की उम्मीद न करें — जब एक उच्च-प्राधिकरण स्रोत आपको उठाता है तो कदम-परिवर्तन होते हैं एक चीज़ जो मैं मैन्युअल रूप से ट्रैक करता हूं और अधिकांश नहीं करते: मैं ChatGPT से हर दो सप्ताह में वही 5 प्रश्न पूछता हूं और उत्तरों का स्क्रीनशॉट लेता हूं। मॉडल का व्यवहार बदलता है। आप ध्यान देंगे जब आपका ब्रांड दिखना शुरू होता है। --- ## क्या काम नहीं करता (और आपका समय बर्बाद करता है) - **OpenAI को एक sitemap सबमिट करना** — ऐसा कोई सबमिशन तंत्र नहीं है - **अपनी सामग्री में ब्रांड उल्लेख भरना** — आत्म-उद्धरण सुई नहीं हिलाता - **"AI SEO" सेवाएं खरीदना जो ChatGPT प्लेसमेंट का वादा करती हैं** — यदि वे तंत्र नहीं समझा सकते, तो वे आपको हवा बेच रहे हैं - **अपने ट्रैफ़िक का इंतज़ार करना कि यह आपको दिखाए कि आप उद्धृत हो रहे हैं** — अधिकांश AI उद्धरण सीधे रेफरल ट्रैफ़िक उत्पन्न नहीं करते; उद्धरण को सीधे मापें --- ## ऑपरेटर का निचला रेखा 2026 में ChatGPT उत्तरों में उद्धृत होना एक वितरण समस्या है, सामग्री समस्या नहीं। आपके ब्रांड को उन जगहों पर मौजूद होना चाहिए जिन पर LLM भरोसा करते हैं इससे पहले कि कोई खरीदार प्रश्न पूछे। अपनी उद्धरण सतह व्यवस्थित रूप से बनाएं: तृतीय-पक्ष उल्लेख, सटीक संरचित डेटा, प्रत्यक्ष प्रश्न-उत्तर देने वाली सामग्री। मूल्यांकन करने से पहले 90 दिनों तक लगातार काम करें। यह जमा होता है — जो ब्रांड अभी शुरू करते हैं वे अगले प्रशिक्षण चक्र में पैरामेट्रिक ज्ञान बन जाएंगे जबकि उनके प्रतिस्पर्धी अभी भी सोच रहे होंगे कि AI को क्यों नहीं पता कि वे मौजूद हैं। --- ## एक Agent से एक Blog Post को 13 भाषाओं में कैसे Translate करें Source: https://alejandrorioja.com/hi/how-to-translate-one-blog-post-into-13-languages-with-one-agent/ Published: 2026-05-31 Updated: 2026-05-31 Tags: AI Agents, SEO TL;DR: एक TypeScript agent Claude API को parallel में call करता है और 90 सेकंड से कम में एक EN post को 12 भाषाओं में translate करता है। Voice preserve करने के लिए two-part system prompt जरूरी है: पहले style constraints, फिर locale-specific notes। Haiku पर cost लगभग $0.004–$0.02 per post है। मेरी site को 60 दिनों में 34% international traffic increase मिला। ## विषय सूची _मई 2026 में अपडेट किया गया।_ **TL;DR:** एक TypeScript agent Claude API को parallel में call करता है और 90 सेकंड से कम में एक EN post को 12 भाषाओं में translate करता है। Voice preserve करने के लिए two-part system prompt जरूरी है: पहले style constraints, फिर locale-specific notes। Haiku पर cost लगभग $0.004–$0.02 per post है। मेरी site को 60 दिनों में 34% international traffic increase मिला। **[Operator का नज़रिया]** मैं हर बार जब नई post publish करता हूं तो यह agent चलाता हूं। इसने 341 posts को 12 भाषाओं में process किया है बिना मैंने किसी भी translation को manually touch किए। यहां बिल्कुल सही तरीके से बताता हूं कि यह कैसे काम करता है। ## Translators hire करने की बजाय Translation Agent क्यों बनाया Multilingual SEO के argument को skip करता हूं — आप जानते हैं कि यह important है। मेरी problem workflow थी। हर post के लिए translators hire करना expensive है ($40–$120/post × 12 languages = $480–$1,440 per article), slow है (3–7 दिन का turnaround), और impossible है batch में process करना जब 341 existing posts को catch up करना हो। दूसरा option जो लोग suggest करते हैं वो है Google Translate या DeepL। दोनों accuracy के लिए ठीक हैं लेकिन voice को destroy कर देते हैं। मेरी writing style direct, first-person और slightly contrarian है। Machine translation सब कुछ formal और passive बना देता है। यह problem है जब voice consistency आपके brand का हिस्सा हो। इसलिए मैंने Claude-backed TypeScript agent बनाया। यह `main` में हर merge पर CI में run होता है, translations को parallel में fan out करता है, files को disk पर वापस लिखता है, और किसी भी locale को skip करता है जिसके पास पहले से file है। नई post के लिए पूरी process 90 सेकंड से कम लेती है। ## Project Structure Agent `scripts/agent/translate-worker.ts` में रहता है। इसे एक top-level orchestrator call करता है जो EN post read करता है, frontmatter extract करता है, और हर locale के लिए एक translation job dispatch करता है। ``` scripts/ agent/ translate-worker.ts # per-locale translation logic translate-all.ts # orchestrator: EN पढ़ता है, 12 locales में fan out करता है lib/ frontmatter.ts # gray-matter frontmatter parse/serialize करता है voice-prompt.ts # shared system prompt builder ``` Orchestrator (`translate-all.ts`) `Promise.allSettled` use करता है ताकि एक failed locale बाकी को block न करे। ## System Prompt Engineering यहीं पर ज़्यादातर लोग गलती करते हैं। वे एक liner लिखते हैं जैसे "इसे French में translate करो, author की voice रखो।" इससे mediocre output आता है। मेरे system prompt में दो mandatory sections हैं: **Section 1 — Style constraints (universal, हर call में prepend होता है):** ```typescript // scripts/agent/lib/voice-prompt.ts export function buildSystemPrompt(targetLocale: string): string { const styleConstraints = ` You are a professional translator working on blog posts written by Alejandro Rioja. STYLE RULES — apply to every locale: - Short paragraphs (1–3 sentences max). Do not merge them. - First-person, direct voice. Never passive if active is natural. - No filler phrases: no "In today's world", no "It is worth noting that". - Preserve all markdown: headings, bold, italics, code blocks, links. - Translate heading text but keep the ## / ### prefix exactly. - Code blocks: translate comments only. Keep all variable names, strings, and syntax in English. - Preserve frontmatter keys exactly. Only translate the VALUES for: title, ogTitle, description, tldr, imageAlt. - Keep these frontmatter values UNCHANGED: pubDate, updatedDate, translation_key, tags, image, author, draft, lang (set lang to: ${targetLocale}). `.trim(); ``` **Section 2 — Locale-specific notes (हर call में append होता है):** ```typescript const localeNotes: Record = { ar: "Arabic: use Modern Standard Arabic (MSA). RTL layout is handled by the CMS — do not add any RTL markup. Avoid overly formal Classical Arabic registers.", de: "German: use informal 'du' not formal 'Sie'. Compound nouns are fine; don't over-hyphenate. Keep tech terms in English when that's the industry standard (e.g. 'Content Marketing', 'SEO').", es: "Spanish: use neutral Latin American Spanish, not Castilian. Tuteo ('tú') over 'usted'. Keep anglicisms that are standard in tech (SEO, agente, prompt).", fr: "French: use informal 'tu'. Avoid over-formalizing. Tech anglicisms are acceptable when widely used (SEO, agent, prompt).", hi: "Hindi: use Devanagari script. Mix Hindi and English naturally for tech terms — this is standard in Indian tech writing. Don't force Hindi equivalents for words like 'agent', 'prompt', 'SEO'.", it: "Italian: use 'tu' form. Keep English tech terms where they're standard in Italian digital marketing.", ja: "Japanese: use です/ます (polite) style, not casual or keigo. Keep technical English terms in katakana where standard (e.g. エージェント, プロンプト, SEO).", ko: "Korean: use 합쇼체 (formal polite). Tech terms in English or standard Korean loanwords. Keep SEO, agent, prompt as-is or standard loanwords.", nl: "Dutch: use 'je/jij' (informal). Keep English tech terms standard in Dutch digital marketing.", pt: "Portuguese: use Brazilian Portuguese (pt-BR). Informal 'você'. Keep tech anglicisms standard in Brazilian digital marketing.", ru: "Russian: use modern, accessible Russian. Avoid overly bureaucratic phrasing. Tech terms can stay in English where that's the norm in Russian tech writing.", zh: "Chinese: use Simplified Chinese (zh-CN). Modern, accessible tone. Tech terms can use standard Chinese equivalents or keep English where that's industry norm.", }; return `${styleConstraints}\n\nLOCALE-SPECIFIC NOTES for ${targetLocale}:\n${localeNotes[targetLocale]}`; } ``` ## Translate Worker यहां पूरा worker है। यह EN file read करता है, Claude call करता है, output को disk पर लिखता है। ```typescript // scripts/agent/translate-worker.ts import Anthropic from "@anthropic-ai/sdk"; import * as fs from "fs"; import * as path from "path"; import { buildSystemPrompt } from "./lib/voice-prompt"; const client = new Anthropic(); export interface TranslateJob { enFilePath: string; locale: string; outputDir: string; model?: "claude-haiku-4-5" | "claude-sonnet-4-5"; dryRun?: boolean; } export async function translatePost(job: TranslateJob): Promise { const { enFilePath, locale, outputDir, model = "claude-haiku-4-5", dryRun = false } = job; // Idempotency: अगर translation पहले से exist करता है तो skip करें const filename = path.basename(enFilePath); const outPath = path.join(outputDir, locale, filename); if (fs.existsSync(outPath)) { console.log(`[${locale}] पहले से exist करता है — skip: ${outPath}`); return outPath; } const enContent = fs.readFileSync(enFilePath, "utf-8"); const systemPrompt = buildSystemPrompt(locale); const message = await client.messages.create({ model, max_tokens: 8192, system: systemPrompt, messages: [ { role: "user", content: `Translate the following blog post to ${locale}. Return ONLY the translated markdown file content — no explanation, no preamble, no code fences around the whole file.\n\n${enContent}`, }, ], }); const translated = (message.content[0] as { type: string; text: string }).text; if (!dryRun) { fs.mkdirSync(path.join(outputDir, locale), { recursive: true }); fs.writeFileSync(outPath, translated, "utf-8"); console.log(`[${locale}] लिखा गया: ${outPath}`); } return outPath; } ``` ## Orchestrator ```typescript // scripts/agent/translate-all.ts import * as path from "path"; import * as fs from "fs"; import { translatePost } from "./translate-worker"; const LOCALES = ["ar", "de", "es", "fr", "hi", "it", "ja", "ko", "nl", "pt", "ru", "zh"]; const POSTS_DIR = path.resolve("src/content/posts"); const MODEL = (process.env.TRANSLATE_MODEL as "claude-haiku-4-5" | "claude-sonnet-4-5") ?? "claude-haiku-4-5"; async function main() { // Specific file accept करें या सभी EN posts translate करें const targetFile = process.argv[2]; const enFiles = targetFile ? [path.resolve(targetFile)] : fs.readdirSync(path.join(POSTS_DIR, "en")).map((f) => path.join(POSTS_DIR, "en", f)); console.log(`${enFiles.length} post(s) × ${LOCALES.length} locales translate कर रहे हैं। Model: ${MODEL}`); for (const enFile of enFiles) { const results = await Promise.allSettled( LOCALES.map((locale) => translatePost({ enFilePath: enFile, locale, outputDir: POSTS_DIR, model: MODEL, }) ) ); results.forEach((r, i) => { if (r.status === "rejected") { console.error(`[${LOCALES[i]}] FAILED:`, r.reason); } }); } console.log("हो गया।"); } main(); ``` इसे run करें: ```sh # एक नई post translate करें npx ts-node scripts/agent/translate-all.ts src/content/posts/en/my-new-post.md # सब कुछ translate करें (idempotent — existing skip करता है) npx ts-node scripts/agent/translate-all.ts ``` ## Cost Breakdown: Haiku बनाम Sonnet मेरे usage के आधार पर per post का actual cost: | Model | Input tokens (avg) | Output tokens (avg) | Cost per locale | Cost × 12 locales | |---|---|---|---|---| | claude-haiku-4-5 | ~2,400 | ~2,600 | ~$0.0004 | ~$0.005 | | claude-sonnet-4-5 | ~2,400 | ~2,600 | ~$0.015 | ~$0.18 | Haiku पर 341 posts × 12 locales: लगभग **$1.70 total**। यह पूरा backlog है। Sonnet marginally बेहतर idiomatic phrasing produce करता है लेकिन ज़्यादातर posts के लिए difference 36× price justify नहीं करता। मैं Sonnet सिर्फ उन posts के लिए use करता हूं जहां nuanced persuasive tone matter करता है — जैसे sales pages या high-traffic cornerstone content। `TRANSLATE_MODEL` env var के साथ per-run model switch कर सकते हैं: ```sh TRANSLATE_MODEL=claude-sonnet-4-5 npx ts-node scripts/agent/translate-all.ts src/content/posts/en/flagship-post.md ``` ## Real Results: मेरे Traffic पर क्या हुआ मैंने दिसंबर 2025 में full backlog translation (341 posts) ship किया। 60 दिनों में: - **+34% organic sessions** site-wide (Google Search Console, Jan–Feb 2026 बनाम Oct–Nov 2025) - **Sessions में top नई language:** Brazilian Portuguese (pt) — 11% new international traffic - **Conversion rate में top नई language:** German (de) — 2.1% consultation booking rate बनाम 1.8% global average - **Worst performer:** Arabic (ar) — traffic आया लेकिन zero conversions। मुझे लगता है booking flow post content से आगे localized नहीं है। - **Japanese (ja) और Korean (ko):** meaningful traffic lift (international sessions का क्रमशः 8% और 6%) above-average engagement के साथ (time-on-page EN baseline से 40% ऊपर) Japanese और Korean results ने मुझे surprise किया। दोनों locales में high-quality AI communities हैं और practical operator content के लिए apparently अच्छी demand है। ## Operator का Bottom Line एक agent, setup का एक घंटा, $1.70 API costs। बस इतना ही चाहिए था 341 posts को 12 additional languages में discoverable बनाने के लिए। SEO lift alone ने पहले हफ्ते में compute cost recover कर लिया। अगर आप content-heavy site चला रहे हैं और अभी तक यह नहीं बनाया है, तो आप international traffic छोड़ रहे हैं। ऊपर का code full implementation है — इसे fork करें, अपने voice-prompt notes swap करें, और आज रात अपने backlog पर run करें। --- ## llms.txt समझाया: क्या यह AI Citations को वाकई बदलता है? Source: https://alejandrorioja.com/hi/llms-txt-explained-what-it-is-and-whether-it-actually-moves-citations/ Published: 2026-05-31 Updated: 2026-05-31 Tags: GEO, SEO TL;DR: llms.txt yoursite.com/llms.txt पर एक plain-text फ़ाइल है जो AI क्रॉलर को बताती है कि किन pages को प्राथमिकता देनी है। Perplexity इसे सक्रिय रूप से पढ़ता है; ChatGPT और Bing Copilot शायद अभी नहीं। लागू करने में 20 मिनट लगते हैं और कोई लागत नहीं — करें, लेकिन अगले हफ्ते citations में spike की उम्मीद न करें। ## विषय-सूची _मई 2026 में अपडेट।_ **TL;DR:** llms.txt yoursite.com/llms.txt पर एक plain-text फ़ाइल है जो AI क्रॉलर को बताती है कि किन pages को प्राथमिकता देनी है। Perplexity इसे सक्रिय रूप से पढ़ता है; ChatGPT और Bing Copilot शायद अभी नहीं। लागू करने में 20 मिनट लगते हैं और कोई लागत नहीं — करें, लेकिन अगले हफ्ते citations में spike की उम्मीद न करें। **[ऑपरेटर का नज़रिया]** मैं AI agents चलाता हूं जो monitor करते हैं कि Perplexity, ChatGPT और Google SGE में मेरी साइटों को कैसे cite किया जाता है। llms.txt पहला signal layer है जो वास्तव में आपका है — यहां बताया गया है कि data अभी तक क्या दिखाता है। ## llms.txt वास्तव में क्या है इसे AI क्रॉलर के लिए robots.txt की तरह सोचें, लेकिन उलटा। robots.txt कहता है "इसे crawl मत करो।" llms.txt कहता है "जब तुम मेरी साइट के बारे में context बना रहे हो, तो यह सबसे महत्वपूर्ण है।" यह specification 2024 के अंत में Jeremy Howard (fast.ai के) ने प्रस्तावित की थी। विचार: `yoursite.com/llms.txt` पर एक फ़ाइल रखें जो plain Markdown में आपके सबसे महत्वपूर्ण pages को सूचीबद्ध करे। आपकी साइट को context के लिए scrape करने वाला AI क्रॉलर वह फ़ाइल पढ़ सकता है और तुरंत जान सकता है कि क्या प्राथमिकता देनी है — PageRank या crawl depth से अनुमान लगाने के बजाय। एक optional `llms-full.txt` variant भी है जिसमें आपके key pages का पूरा text एक document में concatenate किया गया है। कुछ क्रॉलर इस format को prefer करते हैं क्योंकि यह round-trips कम करता है। कोई भी फ़ाइल अभी तक W3C standard नहीं है। यह एक community proposal है जो technical founders और content teams में बढ़ती adoption के साथ है। ## फ़ाइल कैसी दिखती है यहां वह llms.txt है जो मैं alejandrorioja.com के लिए use करता हूं: ```markdown # Alejandro Rioja > ऑपरेटर, AI consultant, और Pickleland के founder। मैं GEO, AI agents, और founders के लिए growth के बारे में लिखता हूं। ## Core pages - [About](https://alejandrorioja.com/about/): Background, consulting services, और मेरे साथ काम करने का तरीका। - [Blog](https://alejandrorioja.com/blog/): GEO, SEO, AI agents, और founder growth पर सभी posts। - [Consultation](https://alejandrorioja.com/consultation/30/): एक paid 30-minute session book करें। ## Top posts - [ChatGPT answers में cite कैसे हों](https://alejandrorioja.com/blog/how-to-get-cited-in-chatgpt-answers/): GEO playbook जो मैं client sites पर use करता हूं। - [Founders के लिए AI Agent Architecture](https://alejandrorioja.com/blog/ai-agent-architecture-for-founders/): बिना full engineering team के multi-agent systems कैसे design करें। - [GEO vs SEO](https://alejandrorioja.com/blog/geo-vs-seo/): जब Google एकमात्र search engine नहीं रहता तो क्या बदलता है। ## Optional: ignore - /drafts/ - /admin/ ``` कुछ ध्यान देने योग्य बातें: - H1 आपका brand name है। - Block quote आप कौन हैं इसका 1-2 sentence description है। यह सबसे महत्वपूर्ण line है — LLM इसका उपयोग आपकी साइट का quick mental model बनाने के लिए करेगा। - Sections pages को purpose के अनुसार group करते हैं। - URLs absolute हैं। कुछ crawlers relative paths resolve नहीं करते। - `## Optional: ignore` section officially specification में नहीं है, लेकिन कुछ implementations इसे robots.txt Disallow lines की तरह पढ़ते हैं। ## कौन से AI engines इसे वास्तव में पढ़ते हैं यहां मुझे honest होना होगा: landscape fragmented है और partially undocumented है। **Perplexity** — हां, confirmed। Perplexity का crawler (`PerplexityBot`) sites index करते समय llms.txt पढ़ता है। उनकी engineering team ने publicly specification को reference किया है। अगर Perplexity आपके लिए एक significant referral source है, तो llms.txt implement करने का impact का एक clear path है। **ChatGPT / OpenAI** — Confirmed नहीं। OpenAI का crawler (`GPTBot`) mid-2026 तक llms.txt नहीं पढ़ता लगता है। इसका crawl behavior robots.txt और OpenAI की अपनी internal prioritization से governed है। OpenAI की ओर से specification को acknowledge करने का कोई public statement नहीं है। **Bing Copilot / Microsoft** — Confirmed नहीं। OpenAI जैसी ही situation। Bing का AI crawler (`BingBot`) robots.txt follow करता है लेकिन कोई signal नहीं है कि यह llms.txt पढ़ता है। **Google AI Overviews / Gemini** — Confirmed नहीं। Google का अपना structured data ecosystem है (schema.org, sitemaps) और इसने third-party specifications adopt करने का संकेत नहीं दिया है। **Anthropic** — Anthropic का crawler (`ClaudeBot`) training data के लिए web crawl करता है। llms.txt पढ़ने का कोई public documentation नहीं है, लेकिन कई GEO practitioners implementation के बाद बेहतर Claude citations report करते हैं। Correlation, causation नहीं — लेकिन noting worth। **छोटे AI search engines** — You.com, Phind, और कई vertical AI search tools ने कहा है या imply किया है कि वे llms.txt पढ़ते हैं। Specification छोटी teams के लिए adopt करना आसान है क्योंकि उनके पास refactor करने के लिए years of crawl infrastructure नहीं है। Honest summary: अभी llms.txt एक Perplexity optimization है जिसके कुछ speculative benefits अन्यत्र हैं। जैसे-जैसे specification mature होगी वह ratio बदलेगा। ## 20 मिनट में implement कैसे करें अगर आप static site पर हैं (Astro, Next.js with static export, Hugo, etc.), तो `public/llms.txt` में फ़ाइल बनाएं। यह root पर serve होगी। Next.js app router site के लिए, आप इसे dynamically generate कर सकते हैं: ```ts // app/llms.txt/route.ts import { allPosts } from "@/lib/content"; export async function GET() { const topPosts = allPosts .filter((p) => p.featured || p.views > 1000) .slice(0, 10); const lines = [ "# Alejandro Rioja", "", "> ऑपरेटर, AI consultant, Pickleland के founder। GEO, AI agents, और founder growth के बारे में लिखता हूं।", "", "## Top posts", "", ...topPosts.map( (p) => `- [${p.title}](https://alejandrorioja.com/blog/${p.slug}/): ${p.description}` ), "", "## Core pages", "", "- [About](https://alejandrorioja.com/about/): Services और background।", "- [Consultation](https://alejandrorioja.com/consultation/30/): Session book करें।", ]; return new Response(lines.join("\n"), { headers: { "Content-Type": "text/plain; charset=utf-8" }, }); } ``` Astro site के लिए, equivalent `src/pages/` में एक `.txt.ts` endpoint है: ```ts // src/pages/llms.txt.ts import type { APIRoute } from "astro"; import { getCollection } from "astro:content"; export const GET: APIRoute = async () => { const posts = await getCollection("posts", (p) => p.data.lang === "en"); const top = posts .sort((a, b) => b.data.pubDate.valueOf() - a.data.pubDate.valueOf()) .slice(0, 10); const body = [ "# Alejandro Rioja", "", "> AI consultant और operator। GEO, AI agents, और founder growth के बारे में लिखता हूं।", "", "## Recent posts", "", ...top.map( (p) => `- [${p.data.title}](https://alejandrorioja.com/blog/${p.slug}/): ${p.data.description}` ), ].join("\n"); return new Response(body, { headers: { "Content-Type": "text/plain; charset=utf-8" }, }); }; ``` Deploy करने के बाद, `curl -s https://yoursite.com/llms.txt` से verify करें। अगर आपको Markdown दिखता है, तो आप done हैं। ## क्या आपको llms-full.txt भी बनाना चाहिए? शायद। `llms-full.txt` आपके key pages का concatenated dump है — title, URL, और full body text, एक page के बाद दूसरी, `---` से separated। Idea यह है कि एक crawler एक request में सब कुछ get कर सकता है और individual pages crawl किए बिना आपकी साइट के बारे में questions का जवाब देने के लिए enough context रख सकता है। Trade-off: यह एक large file है। मेरी top 30 posts के लिए लगभग 400KB है। कुछ crawlers timeout हो सकते हैं या इसे truncate कर सकते हैं। अन्य इसे अधिक weight दे सकते हैं क्योंकि content pre-digested है। मेरा current approach: मैं `llms-full.txt` generate करता हूं लेकिन इसे traffic के हिसाब से top 15 posts तक limit करता हूं। इसे 250KB से कम रखता हूं। हर deploy पर regenerate करता हूं। ## Data वास्तव में क्या दिखाता है मैं जनवरी 2026 से इस site और तीन client sites के लिए Perplexity citations monitor कर रहा हूं। यहां मैंने क्या observe किया: - **llms.txt वाली sites**: Implementation से पहले के baseline की तुलना में per month औसतन 2.3x अधिक Perplexity citations। Sample size: 4 sites, 4 months of data। यह किसी भी reasonable confidence interval पर statistically significant नहीं है। - **Confounding factor**: llms.txt add करने वाली हर site ने उसी समय अन्य GEO work भी किया (better structured data, cleaner headings, more specific answer formatting)। Attribution impossible है। - **ChatGPT citations**: llms.txt add करने के बाद किसी भी site पर कोई measurable difference नहीं। Confirmed support की कमी के साथ consistent। Honest interpretation: llms.txt शायद Perplexity के साथ मदद करता है। Mechanism clear है — Perplexity इसे पढ़ता है। क्या lift specifically llms.txt से है या general GEO improvements से जो इसके साथ tend to accompany होते हैं, यह मैं अभी नहीं कह सकता। ## Block quote में क्या डालें Block quote में एक-line description वह हिस्सा है जिस पर मैं सबसे ज्यादा समय बिताऊंगा। यह वह text है जिसका उपयोग LLM RAG context में आपको summarize करने के लिए करेगा। इसे होना चाहिए: - **Specific**: "SMBs के लिए production agents चलाने वाला AI consultant" "entrepreneur और consultant" से बेहतर है। - **Keyword-aware**: वे terms शामिल करें जिनके लिए आप cite होना चाहते हैं। अगर आप "GEO" के लिए citations चाहते हैं, तो उस line में "GEO" डालें। - **Entity-anchored**: Proper nouns mention करें जो LLM को आपको disambiguate करने में मदद करते हैं। आपका नाम + आपकी company + आपका city सिर्फ आपके नाम से बेहतर है। बुरा: `> AI के साथ businesses को grow करने में मदद करता हूं।` बेहतर: `> Alejandro Rioja — Austin TX में AI consultant, Pickleland के founder, 2019 से GEO, AI agents, और founder growth के बारे में लिख रहे हैं।` ## ऑपरेटर का निष्कर्ष llms.txt implement करने में 20 मिनट लगते हैं, serve करने में कुछ नहीं लगता, और Perplexity के साथ एक confirmed read path है। करें। Specification या तो एक real standard बनेगी (उस case में early adopters जीतते हैं) या fade out हो जाएगी (उस case में आपने 20 मिनट खोए)। Asymmetry obvious है। बस इसे higher-ROI GEO work से distract न होने दें: structured data, clear entity signals, और snippet extraction के लिए formatted answers। वे हर AI engine को move करते हैं। llms.txt currently एक को move करता है। --- ## Perplexity बनाम ChatGPT बनाम Google AI Overviews: GEO गाइड Source: https://alejandrorioja.com/hi/perplexity-vs-chatgpt-vs-google-ai-overviews-where-to-spend-your-geo-effort/ Published: 2026-05-31 Updated: 2026-05-31 Tags: GEO TL;DR: अधिकांश ऑपरेटर्स के लिए, Perplexity और Google AI Overviews सबसे अधिक GEO ROI देते हैं — Perplexity आक्रामक रूप से उद्धृत करता है और रेफरल ट्रैफिक भेजता है, जबकि Google के AI Overviews अरबों खोजों तक पहुँचते हैं। ChatGPT Search स्थापित ब्रांड्स की ओर भारी झुकाव रखता है और स्वतंत्र ऑपरेटर्स को शायद ही कभी उद्धृत करता है। पहले Perplexity-केंद्रित कंटेंट स्ट्रक्चर से शुरू करें, फिर Google के लिए E-E-A-T सिग्नल जोड़ें। ChatGPT उद्धरण तभी खोजें जब आपकी डोमेन अथॉरिटी 50 से ऊपर हो। ## विषय सूची _मई 2026 में अपडेट किया गया।_ **TL;DR:** अधिकांश ऑपरेटर्स के लिए, Perplexity और Google AI Overviews सबसे अधिक GEO ROI देते हैं — Perplexity आक्रामक रूप से उद्धृत करता है और रेफरल ट्रैफिक भेजता है, जबकि Google के AI Overviews अरबों खोजों तक पहुँचते हैं। ChatGPT Search स्थापित ब्रांड्स की ओर भारी झुकाव रखता है और स्वतंत्र ऑपरेटर्स को शायद ही कभी उद्धृत करता है। पहले Perplexity-केंद्रित कंटेंट स्ट्रक्चर से शुरू करें, फिर Google के लिए E-E-A-T सिग्नल जोड़ें। **[ऑपरेटर का दृष्टिकोण]** मैं दो ब्रांड्स — एक कंसल्टिंग साइट और एक लोकल पिकलबॉल फेसिलिटी — में GEO चलाता हूँ। जो ट्रैफिक डेटा मैं शेयर कर रहा हूँ वो मेरे अपने रेफरल लॉग्स और तीनों प्लेटफॉर्म्स पर 6 महीने के उद्धरण ट्रैकिंग से आता है। यह सिद्धांत नहीं है। ## तीनों सतहें बराबर नहीं हैं हर कोई "AI सर्च" की बात ऐसे करता है जैसे Perplexity, ChatGPT Search और Google AI Overviews एक-दूसरे के बदले में इस्तेमाल किए जा सकते हों। वे नहीं हैं। उनकी अलग-अलग आर्किटेक्चर, अलग उद्धरण व्यवहार और बेहद अलग ट्रैफिक वॉल्यूम है। उन्हें एक लक्ष्य मानना ही वो तरीका है जिससे ऑपरेटर्स प्रयास बर्बाद करते हैं। यहाँ ईमानदार विश्लेषण है: | प्लेटफॉर्म | मासिक सक्रिय उपयोगकर्ता | उद्धरण आवृत्ति | रेफरल ट्रैफिक संभावना | सबसे अच्छा किसके लिए | |---|---|---|---|---| | Google AI Overviews | ~4 अरब सर्च/दिन | कम–मध्यम (ट्रिगर्ड क्वेरी) | उच्च (मौजूदा Google ट्रैफिक) | E-E-A-T समृद्ध कंटेंट, संरचित उत्तर | | Perplexity | ~10 करोड़ क्वेरी/माह | उच्च (लगभग हर उत्तर) | मध्यम (छोटा लेकिन वफादार आधार) | निच ऑपरेटर्स, उद्धृत स्रोत | | ChatGPT Search | ~60 करोड़ उपयोगकर्ता (सभी सर्च नहीं करते) | कम–मध्यम (ब्रांड-प्रधान) | स्वतंत्रों के लिए कम | बड़े प्रकाशक, स्थापित ब्रांड | यह तालिका अकेले ही आपकी प्राथमिकताओं को पुनर्व्यवस्थित कर देनी चाहिए। ## प्रत्येक प्लेटफॉर्म पर "उद्धरण" वास्तव में कैसा दिखता है **Perplexity** लगभग हर तथ्यात्मक दावे के बगल में क्रमांकित इनलाइन उद्धरण दिखाता है। उपयोगकर्ता स्रोत देख सकते हैं, प्रीव्यू के लिए होवर कर सकते हैं और क्लिक कर सकते हैं। मेरे रेफरल एनालिटिक्स में, perplexity.ai लगातार ट्रैफिक भेजता है — वायरल स्पाइक नहीं, बल्कि नियमित साप्ताहिक रेफरल जो जमा होते हैं। एक अच्छी तरह उद्धृत पेज एक निच विषय पर 50–300 क्लिक/माह उत्पन्न कर सकती है। **Google AI Overviews** ऑर्गेनिक परिणामों के ऊपर एक संक्षिप्त उत्तर बॉक्स दिखाता है, जिसके नीचे 3–6 स्रोत लिंक होते हैं। उद्धरण दिखाई देता है लेकिन इनलाइन नहीं — यह अधिक एक "उपयोग किए गए स्रोत" फुटर की तरह है। ट्रैफिक फिर भी आता है क्योंकि Google वहाँ है जहाँ लोग पहले से हैं। **ChatGPT Search** बातचीत के जवाबों में वेब परिणामों को एकीकृत करता है। उद्धरण मौजूद हैं लेकिन अक्सर एक फुटनोट-शैली साइडबार में दबे होते हैं जिसे अधिकांश उपयोगकर्ता अनदेखा करते हैं। इससे भी महत्वपूर्ण बात, रिट्रीवल लेयर उच्च-DA डोमेन को भारी वरीयता देती है — Forbes, HubSpot, बड़े न्यूज़ आउटलेट्स। ## Perplexity आपका पहला GEO लक्ष्य क्यों होना चाहिए Perplexity अब तक का सबसे उदार उद्धरण प्लेटफॉर्म है। उनका उत्पाद मूल रूप से "यहाँ वे स्रोत हैं जो आपके प्रश्न का उत्तर देते हैं" है — उद्धरण उत्पाद है, न कि बाद की सोच। यह स्वतंत्र ऑपरेटर्स को एक वास्तविक मौका देता है। Perplexity क्या पुरस्कृत करता है: - **पेज के शीर्ष पर प्रत्यक्ष, विशिष्ट उत्तर** (पैराग्राफ 4 में दबे नहीं) - **संरचित कंटेंट** — क्रमांकित सूचियाँ, तुलना तालिकाएँ, स्पष्ट H2 - **ताज़गी संकेत** — Perplexity का इंडेक्स बार-बार रिफ्रेश होता है; जब आप कंटेंट को महत्वपूर्ण रूप से अपडेट करें तो pubDate अपडेट करें - **निच अथॉरिटी** — किसी विशिष्ट क्वेरी के लिए उद्धृत होने के लिए DA 70 की जरूरत नहीं। एक संकीर्ण विषय पर केंद्रित, सटीक पेज एक बड़े ब्रांड के सामान्य अवलोकन को पीछे छोड़ देती है रणनीतिक कदम: पहले 150 शब्दों में एक "प्रत्यक्ष उत्तर" या सारांश ब्लॉक जोड़ें। Perplexity की रिट्रीवल लेयर उद्घाटन खंड को उद्धृत करने का निर्णय लेने के लिए उच्च-भार संकेत के रूप में मानती है। ## Google AI Overviews: सबसे अधिक वॉल्यूम वाली सतह Google AI Overviews (पहले SGE) अब सैकड़ों करोड़ क्वेरी के लिए लाइव है। वॉल्यूम Perplexity को बौना बना देता है। लेकिन बार ऊँचा है क्योंकि Google की AI उसके मौजूदा गुणवत्ता संकेतों से खींचती है। Google AI Overviews क्या पुरस्कृत करता है: - **E-E-A-T** (अनुभव, विशेषज्ञता, प्राधिकरण, विश्वसनीयता) - **संरचित HTML** — FAQ स्कीमा, HowTo स्कीमा, तालिकाएँ - **पैसेज-स्तरीय प्रासंगिकता** - **मौजूदा ऑर्गेनिक अथॉरिटी** ईमानदार चेतावनी: Google AI Overviews चुनिंदा रूप से ट्रिगर होते हैं। हर क्वेरी उन्हें नहीं दिखाती। सामग्री और तुलना क्वेरी ("Y के लिए सबसे अच्छा X") उन्हें सबसे अधिक दिखाती है। ## ChatGPT Search: वास्तविक लेकिन ब्रांड-संरक्षित ChatGPT Search वास्तविक है और बढ़ रहा है। लेकिन ब्रांड अथॉरिटी के बिना ऑपरेटर्स के लिए, यह एक मध्यम अवधि का खेल है, आज का खेल नहीं। OpenAI का रिट्रीवल सिस्टम Bing के इंडेक्स को बैकबोन के रूप में उपयोग करता है। उच्च Bing अथॉरिटी ChatGPT उद्धरण आवृत्ति के साथ सहसंबंधित होती है। एक अपवाद: यदि क्वेरी विशेष रूप से आपके या आपके उत्पाद के बारे में है, तो ChatGPT Search आपको उद्धृत करेगा। ## प्राथमिकता फ्रेमवर्क यहाँ बताया गया है कि मैं वास्तव में GEO प्रयास को कैसे अनुक्रमित करता हूँ: **चरण 1 — नींव (अभी):** Perplexity और Google AI Overviews के लिए एक साथ ऑप्टिमाइज़ करें। एक कंटेंट निवेश, दो उद्धरण सतहें। **चरण 2 — संचित (महीने 3–6):** Google के लिए विशेष रूप से E-E-A-T सिग्नल बनाएं — लेखक बायो अपडेट करें, प्रथम-व्यक्ति अनुभव कॉलआउट जोड़ें। **चरण 3 — ब्रांड अथॉरिटी (महीने 6–18):** Bing-पठनीय बैकलिंक सिग्नल बनाकर ChatGPT Search उद्धरण खोजें। अधिकांश ऑपरेटर्स को AI सर्च को एक सार्थक ट्रैफिक चैनल बनाने के लिए कभी भी चरण 3 की आवश्यकता नहीं होती। ## वास्तव में क्या लिखें अभी तीनों प्लेटफॉर्म पर अच्छा प्रदर्शन करने वाला कंटेंट फॉर्मेट: - स्पष्ट विजेता घोषणाओं के साथ **तुलना पोस्ट** - **क्रमांकित कैसे-करें गाइड** जहाँ प्रत्येक चरण एक पूर्ण विचार है - वास्तविक संख्याओं के साथ **प्रथम-व्यक्ति केस स्टडी** - पोस्ट के अंत में **FAQ खंड** ## ऑपरेटर का निष्कर्ष Perplexity आज AI सर्च उद्धरणों के लिए आपका सबसे तेज़ मार्ग है — पहले इसके लिए प्रत्यक्ष उत्तरों और संरचित कंटेंट के साथ ऑप्टिमाइज़ करें। Google AI Overviews सबसे अधिक वॉल्यूम वाली सतह है और समान संकेतों को पुरस्कृत करती है, इसलिए वे मुफ्त में आते हैं। ChatGPT Search वास्तविक है लेकिन ब्रांड-संरक्षित है; इसे 12 महीने के संचित खेल के रूप में मानें, न कि स्प्रिंट के रूप में। --- ## AI इंजन के लिए Schema Markup: वो टाइप्स जो सबसे ज्यादा असरदार हैं Source: https://alejandrorioja.com/hi/schema-markup-for-ai-engines-the-types-that-punch-above-their-weight/ Published: 2026-05-31 Updated: 2026-05-31 Tags: GEO, SEO TL;DR: FAQPage और HowTo schema प्रति घंटे के काम में सबसे ज्यादा GEO citation लिफ्ट देते हैं क्योंकि AI इंजन इन्हें पहले से जवाब दिए गए सवालों और step-by-step प्रक्रियाओं के रूप में parse करते हैं। Article/BlogPosting लेखक की विश्वसनीयता का संकेत देता है। Person और Organization एंटिटी ग्राफ को anchor करते हैं ताकि मॉडल आपको किसी और से कन्फ्यूज न करें। अस्पष्ट टाइप्स को ignore करें — 2026 में ये metrics नहीं हिलाते। ## विषय-सूची _मई 2026 में अपडेट किया गया।_ **TL;DR:** FAQPage और HowTo schema प्रति घंटे के काम में सबसे ज्यादा GEO citation लिफ्ट देते हैं क्योंकि AI इंजन इन्हें पहले से जवाब दिए गए सवालों और step-by-step प्रक्रियाओं के रूप में parse करते हैं। Article/BlogPosting लेखक की विश्वसनीयता का संकेत देता है। Person और Organization एंटिटी ग्राफ को anchor करते हैं ताकि मॉडल आपको किसी और से कन्फ्यूज न करें। अस्पष्ट टाइप्स को ignore करें — 2026 में ये metrics नहीं हिलाते। **[ऑपरेटर का नज़रिया]** मैं अपनी साइट्स और क्लाइंट साइट्स पर नियमित रूप से schema ऑडिट करता हूं। AI इंजन जो टाइप्स वास्तव में इस्तेमाल करते हैं और जो बेकार पड़े रहते हैं, उनके बीच का अंतर ज्यादातर गाइड्स की तुलना में कहीं ज्यादा है। ## AI इंजन Google से अलग तरह से schema क्यों पढ़ते हैं पारंपरिक Google crawlers schema का इस्तेमाल मुख्यतः rich results के लिए करते हैं — वो star ratings और FAQ dropdowns जो SERP में दिखते हैं। यह एक rendering concern है। Schema या तो किसी feature के लिए qualify करता है या नहीं। AI इंजन — ChatGPT, Perplexity, Gemini, Claude — schema का इस्तेमाल अलग तरह से करते हैं। वो SERP render नहीं कर रहे। वो आपके page को analyze करके discrete, citable facts निकाल रहे हैं। Schema markup एक shortcut है। Text block का मतलब infer करने की जगह, model `@type` field पढ़ सकता है और जान सकता है: "यह question-answer pair है", या "यह structured procedure है", या "यह author है"। इससे बदलता है कि कौन से टाइप्स मायने रखते हैं। वो टाइप्स जीतते हैं जो आपके content को clean, extractable units में serialize करते हैं। जो टाइप्स मुख्यतः Google को rich result display करने में मदद करते हैं, वो GEO context में कम valuable हैं। AI training data और real-time retrieval को feed करने वाले crawlers (Common Crawl, Bing का index, Google का crawl) सभी JSON-LD process करते हैं। अगर markup valid और semantically accurate है, तो इसे ingest किया जाता है। अगर fake FAQs या mismatched types से भरा है, तो models इसे distrust करना सीखते हैं — या ignore करते हैं। ## Article और BlogPosting: authorship anchor आप जो हर post publish करते हैं उसमें `Article` या `BlogPosting` schema होना चाहिए। यह glamorous नहीं है लेकिन foundational है। GEO के लिए सबसे important दो fields हैं `author` और `dateModified`। AI इंजन citation दिखाने का फैसला करते समय freshness और named authorship को weight देते हैं। बिना declared author और दो साल पुरानी publish date वाला page, named expert और recent update वाले page के खिलाफ खराब compete करता है। ```json { "@context": "https://schema.org", "@type": "BlogPosting", "headline": "AI इंजन के लिए Schema Markup: वो टाइप्स जो सबसे ज्यादा असरदार हैं", "author": { "@type": "Person", "name": "Alejandro Rioja", "url": "https://alejandrorioja.com/about/" }, "datePublished": "2026-05-31", "dateModified": "2026-05-31", "publisher": { "@type": "Organization", "name": "Alejandro Rioja", "url": "https://alejandrorioja.com" }, "mainEntityOfPage": { "@type": "WebPage", "@id": "https://alejandrorioja.com/blog/schema-markup-for-ai-engines-the-types-that-punch-above-their-weight/" } } ``` `dateModified` को accurate रखें। मैंने ऐसी sites देखी हैं जो हर page पर fake "आज updated" date डालती हैं — models इस pattern को detect करते हैं और discount करते हैं। Date तभी update करें जब आप content को actually update करें। ## FAQPage: प्रति घंटे सबसे ज्यादा GEO लिफ्ट अगर मुझे अभी हर informational page पर add करने के लिए एक schema type choose करना हो, तो वो `FAQPage` होगा। कारण structural है: AI इंजन पहले से questions का जवाब देना चाहते हैं। FAQPage उन्हें single node में एक labeled question और labeled answer देता है। कोई inference required नहीं। यह लिफ्ट featured snippets में भी दिखती है, लेकिन GEO effect ज्यादा reliable है। जब कोई user Perplexity से एक question पूछता है जो आपके किसी FAQ entry से match करता है, तो model आपके answer को लगभग word-for-word cite कर सकता है क्योंकि आपने इसे already citation के रूप में format किया है। वो नियम जो मैं follow करता हूं FAQ schema के लिए जो actually काम करता है: 1. हर question को reflect करना चाहिए कि एक real user इसे कैसे phrase करता है — marketer के तौर पर आप इसे कैसे phrase करेंगे नहीं। 2. हर answer self-contained होना चाहिए। अगर answer का अर्थ article पढ़ने के बाद ही समझ आता है, तो इसे cite नहीं किया जाएगा। 3. प्रति page तीन से छह questions sweet spot है। दस कमज़ोर questions से fill करना मदद से ज्यादा नुकसान करता है। ```json { "@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [ { "@type": "Question", "name": "AI इंजन कौन से schema टाइप्स को prioritize करते हैं?", "acceptedAnswer": { "@type": "Answer", "text": "AI इंजन FAQPage, HowTo, Article/BlogPosting, Person और Organization को prioritize करते हैं। ये टाइप्स content को clean, extractable units में serialize करते हैं जिन्हें models prose analyze किए बिना directly cite कर सकते हैं।" } }, { "@type": "Question", "name": "क्या schema markup 2026 में SEO में मदद करता है?", "acceptedAnswer": { "@type": "Answer", "text": "हां। Schema markup traditional crawlers (rich results के लिए) और AI crawlers (citation extraction के लिए) दोनों की मदद करता है। FAQPage और HowTo implementation के प्रति घंटे सबसे ज्यादा return देते हैं।" } }, { "@type": "Question", "name": "प्रति page कितने FAQ items include करने चाहिए?", "acceptedAnswer": { "@type": "Answer", "text": "तीन से छह self-contained question-answer pairs sweet spot है। छह से ज्यादा quality को dilute करता है; तीन से कम citation surface area को कम करता है।" } } ] } ``` ## HowTo: वो procedures जिन्हें AI इंजन cite करना पसंद करते हैं `HowTo` schema का कम उपयोग होता है। ज्यादातर लोग इसे recipe-style content पर implement करते हैं और वहीं रुक जाते हैं। लेकिन कोई भी procedural content — setup guides, audits, frameworks — एक candidate है। GEO के लिए इसके weight से ऊपर perform करने का कारण: AI इंजन नियमित रूप से "कैसे करें…" queries का जवाब steps list करके देते हैं। जब आपके page में named steps के साथ `HowTo` schema होता है, तो model आपकी structure को लगभग exactly reproduce कर सकता है। वो आपको summarize नहीं कर रहा — आपकी procedure को cite कर रहा है। ```json { "@context": "https://schema.org", "@type": "HowTo", "name": "Blog Post में FAQPage Schema कैसे जोड़ें", "step": [ { "@type": "HowToStep", "position": 1, "name": "तीन से छह real user questions identify करें", "text": "Google Search Console queries, Reddit threads, और अपने खुद के customer emails से questions निकालें। हर question natural language reflect करे, marketer language नहीं।" }, { "@type": "HowToStep", "position": 2, "name": "Self-contained answers लिखें", "text": "हर answer isolation में समझ आना चाहिए — 'जैसा ऊपर mention किया' या 'section 3 देखें' जैसे references नहीं। प्रति answer 40–120 words aim करें।" }, { "@type": "HowToStep", "position": 3, "name": "JSON-LD block को अपने page के head या body में add करें", "text": "FAQPage JSON-LD को