शोध
खोज क्वेरी को SEO सामग्री ब्रीफ़ में बदलें
देखें आज कौन से पेज जवाब देते हैं, उन्हें Markdown में पढ़ें, कवर और छूटे सवालों का नक्शा बनाएँ, फिर ऐसी ब्रीफ़ लिखें जिससे लेखक रूपरेखा बना सके।
प्रॉम्प्ट कॉपी करें
वर्ग कोष्ठक के फ़ील्ड बदलें और Claude Code, Codex या टर्मिनल एक्सेस वाले AI में चिपकाएँ। यह Felo स्किल इंस्टॉल करता है, क्रेडिट से पहले पूछता है और वर्कफ़्लो चलाता है।
[उत्पाद या साइट] के लिए क्वेरी [लक्ष्य क्वेरी] का SEO कंटेंट ब्रीफ़ लिखें। पाठक: [पाठक]। बाज़ार और भाषा: [क्षेत्र], [भाषा]। दृष्टिकोण: [गाइड / तुलना / उत्पाद पृष्ठ]। किस निर्णय में सहायक: [नया लेख / रीफ़्रेश / अंतराल भरना]। रूपरेखा बनाने से पहले पढ़ें कि अभी इस क्वेरी का जवाब कौन दे रहा है। Markdown ब्रीफ़ में ये शामिल करें: 1. लक्ष्य क्वेरी और आपका अनुमानित खोज इरादा, उस पढ़ने के साक्ष्य के साथ। 2. मौजूदा पृष्ठ क्या कवर करते हैं: शीर्षक, URL और शुरुआती अनुभाग। 3. मौजूदा पृष्ठ किन प्रश्नों का जवाब देते हैं और किन्हें छोड़ देते हैं। 4. प्रस्तावित रूपरेखा, हर अनुभाग के लिए एक पंक्ति कि उसे क्या साबित करना है। 5. स्रोतों से साक्ष्य और उदाहरण, लिंक के साथ। 6. स्रोतों की पूरी सूची। नियम: - खोज मात्रा, कीवर्ड कठिनाई, रैंकिंग या ट्रैफ़िक का दावा न करें। यह वर्कफ़्लो इन्हें नहीं मापता; संख्या की जगह “यहाँ नहीं मापा गया” लिखें। - आँकड़े, उद्धरण या प्रतिस्पर्धियों की सामग्री के बारे में दावे न गढ़ें। - इरादे को पृष्ठों की पढ़ाई के रूप में बताएं, मापे गए तथ्य के रूप में नहीं। - उद्धरण छोटे रखें, स्रोत बताएं और लिंक दें। - क्षेत्र और भाषा को स्पष्ट मानों में बदलें। - क्रेडिट खर्च करने से पहले योजनाबद्ध API कॉल दिखाएं और मेरी स्वीकृति का इंतज़ार करें। - प्रकाशित, शेड्यूल या भेजें नहीं। - परिणाम ./seo-brief.md में लिखें और चैट में सारांश दें।
कॉपी में इंस्टॉल चरण और सुरक्षा नियम भी हैं।
आपको क्या मिलता है
एक रन का उदाहरण आउटपुट। लाइव जनरेशन नहीं।
SEO ब्रीफ़ — “सपोर्ट ट्रायाज को कैसे स्वचालित करें”
लक्ष्य क्वेरी और इरादा
क्वेरी: “सपोर्ट ट्रायाज को कैसे स्वचालित करें”। लौटाए गए पृष्ठ कार्यान्वयन चरणों से शुरू होते हैं, उत्पाद पृष्ठों से नहीं, इसलिए इरादा how-to पढ़ा जाता है। यह पृष्ठों की पढ़ाई है, मापा गया इरादा-लेबल नहीं।
मौजूदा पृष्ठ क्या कवर करते हैं
| पृष्ठ | URL | शुरुआत |
|---|---|---|
| सपोर्ट ट्रायाज स्वचालित करना: व्यावहारिक गाइड | https://example.com/guide | रूटिंग नियम, फिर टैग |
| ट्रायाज ऑटोमेशन चेकलिस्ट | https://example.com/checklist | चेकलिस्ट ही |
पृष्ठ जिन प्रश्नों का जवाब देते हैं
- ट्रायाज ऑटोमेशन क्या बदलता है
- किन रूटिंग नियमों से शुरू करें
जो प्रश्न छूट जाते हैं
- ट्रायाज में सुधार कैसे मापें
- क्लासिफ़ायर गलत हो तो क्या करें
प्रस्तावित रूपरेखा
- ट्रायाज ऑटोमेशन क्या बदलता है — साबित करें कि यह कतार का मामला है, कर्मचारियों का नहीं।
- पहले तीन रूटिंग नियम — हर एक को उदाहरण से साबित करें।
- पहले महीने में कैसे मापें — ऐसे मीट्रिक से साबित करें जो ऑप्स लीड निकाल सके।
- जब ऑटोमेशन गलत हो — मानव फ़ॉलबैक पथ साबित करें।
साक्ष्य
- रूटिंग नियम का उदाहरण, https://example.com/guide से उद्धृत (2026-10-30 जाँचा)
यहाँ नहीं मापा गया
खोज मात्रा, कीवर्ड कठिनाई और रैंकिंग। यह वर्कफ़्लो सार्वजनिक पृष्ठ पढ़ता है; खोज इंडेक्स या रैंक ट्रैकर से नहीं पूछता।
स्रोत
- https://example.com/guide
- https://example.com/checklist
सटीक कॉल
डेवलपर्स के लिए: वही वर्कफ़्लो कोड के रूप में, चलाने के क्रम में।
असली API कॉल दिखाएँ
देखें आज कौन जवाब देता है
Chat से क्वेरी पूछें और जवाब तथा उद्धृत पेज लें। वे पेज मौजूदा प्रतिस्पर्धी सामग्री हैं।
seo-brief.ts const BASE = "https://openapi.felo.ai"; const headers = { Authorization: `Bearer ${process.env.FELO_API_KEY}`, "Content-Type": "application/json", }; async function felo<T>(path: string, body?: unknown): Promise<T> { const res = await fetch(`${BASE}${path}`, { method: body ? "POST" : "GET", headers, body: body ? JSON.stringify(body) : undefined, }); if (!res.ok) throw new Error(`${res.status}: ${await res.text()}`); return res.json() as Promise<T>; } type ChatData = { data: { answer: string; resources: { link: string; title: string; snippet: string }[]; }; }; const query = "how to automate support triage"; const ourSite = "example.com"; const coverage = await felo<ChatData>("/v2/chat", { query: `What pages currently answer the search query "${query}"? List the pages and what each one covers.`, }); const candidates = coverage.data.resources .filter((resource) => !resource.link.includes(ourSite)) .slice(0, 5) .map((resource) => ({ url: resource.link, title: resource.title }));उदाहरण आउटपुट
{ "answer": "Readers searching this usually want a step-by-step …", "sources": [ { "link": "https://example.com/guide", "title": "…", "snippet": "…" } ] }पेज Markdown में पढ़ें
तीन से पाँच सबसे मज़बूत पेज Web Fetch से Markdown में डाउनलोड करें, शीर्षक और सवाल रखें।
seo-brief.ts type ExtractData = { data: { content: string } }; const pages = await Promise.all( candidates.map(async (page) => { const res = await felo<ExtractData>("/v2/web/extract", { url: page.url, output_format: "markdown", with_readability: true, with_cache: true, }); const checkedAt = new Date().toISOString().slice(0, 10); return { ...page, checkedAt, content: res.data.content }; }), );उदाहरण आउटपुट
{ "url": "https://example.com/guide", "checkedAt": "2026-10-30", "content": "# Automating support triage\n\n## Routing rules\n…" }कवरेज और अंतराल का नक्शा
हर पेज के H2/H3 और FAQ सवाल निकालें और तालिका बनाएँ: कौन से सवाल जवाब हैं और कौन नहीं।
seo-brief.ts type Heading = { page: string; heading: string }; const headings: Heading[] = pages.flatMap((page) => page.content .split("\n") .filter((line) => line.startsWith("## ")) .map((line) => ({ page: page.title, heading: line.replace(/^##\s+/, ""), })), ); const questions = headings.filter((item) => item.heading.includes("?")); const byTopic = new Map<string, string[]>(); for (const item of headings) { byTopic.set(item.heading, [...(byTopic.get(item.heading) ?? []), item.page]); }उदाहरण आउटपुट
// questions [ { "page": "…", "heading": "What routes should you automate first?" } ]ब्रीफ़ लिखें
क्वेरी, इरादा, कवरेज तुलना, छूटे सवाल, प्रस्तावित रूपरेखा और स्रोत सूची बताएँ।
seo-brief.ts const today = new Date().toISOString().slice(0, 10); const brief = [ `# SEO brief — "${query}"`, `Checked ${today}. Site: ${ourSite}.`, "", "## Intent read", "The pages returned for this query lead with: " + headings.slice(0, 6).map((item) => item.heading).join("; ") + ". This is a reading of their structure, not a measured intent label.", "", "## What the pages cover", "| Page | URL | Checked |", "| --- | --- | --- |", ...pages.map((page) => `| ${page.title} | ${page.url} | ${page.checkedAt} |`), "", "## Questions the pages answer", ...questions.map((item) => `- ${item.heading} (${item.page})`), "", "## Topics more than one page covers", ...[byTopic.entries()] .filter(([, pageTitles]) => pageTitles.length > 1) .map(([heading, pageTitles]) => `- ${heading} (${pageTitles.length} pages)`), "", "## Proposed outline", ...questions.slice(0, 5).map((item, index) => `${index + 1}. ${item.heading}`), "", "## Questions they miss", "<!-- Only questions none of the fetched pages answer. Delete this comment when filled. -->", "", "## Not measured here", "Search volume, keyword difficulty, and ranking position. This workflow reads public pages; it does not query a search index or a rank tracker.", "", "## Sources", ...pages.map((page) => `- ${page.title}: ${page.url}`), ].join("\n"); console.log(brief);उदाहरण आउटपुट
# SEO brief — "how to automate support triage"
LiveDoc में सहेजें
ब्रीफ़ और पेज लिंक LiveDoc में सहेजें ताकि अगला अपडेट केवल बदलाव डाउनलोड करे।
seo-brief.ts type LiveDocData = { data: { short_id: string } }; const briefDoc = await felo<LiveDocData>("/v2/livedocs", { name: `SEO briefs: ${ourSite}`, description: "One document resource per target query", }); await felo(`/v2/livedocs/${briefDoc.data.short_id}/resources/urls`, { urls: pages.map((page) => ({ url: page.url, title: page.title })), }); await felo(`/v2/livedocs/${briefDoc.data.short_id}/resources/doc`, { title: `SEO brief — ${query}`, content: brief, }); console.log(briefDoc.data.short_id); // the next query adds to this archiveउदाहरण आउटपुट
{ "short_id": "PvyKouzJirXjFdst4uKRK3" }
इसमें क्या है
- Chat से स्रोतों वाली पेज सूची और जवाब लिंक
- मौजूदा शीर्ष पेज Markdown में
- वे शीर्षक और सवाल जो वे कवर करते हैं
- ब्रीफ़ जिससे तुरंत रूपरेखा बने
- अगले अपडेट के लिए LiveDoc में स्रोत
यह क्या नहीं करता
- रैंक, खोज मात्रा, कठिनाई या ट्रैफ़िक नहीं मापता
- केवल सार्वजनिक पेज; लॉगिन और पेवॉल विफल हो सकते हैं
- लेख प्रकाशित या पूरा नहीं लिखता
- प्रति क्वेरी एक रन; कई क्वेरी के लिए आपका लूप
- रैंक की गारंटी नहीं
प्रश्न
क्या मात्रा या रैंक मापता है?
नहीं। यह सार्वजनिक पेज पढ़ता है और आँकता है कौन सी सामग्री आज जवाब देती है; रैंक और मात्रा आपके SEO उपकरणों में हैं।
डेटा कहाँ से?
Chat स्रोतों वाले पेज लौटाता है और Web Fetch उन्हें Markdown बनाता है। हर आकलन किसी पेज और तारीख की ओर इशारा करता है।
कई क्वेरी संभाल सकते हैं?
हाँ, पर एक बार में एक। प्रति क्वेरी चरण दोहराएँ और अलग ब्रीफ़ सहेजें।
किन क्वेरी के लिए?
सूचनात्मक, तुलनात्मक और “कैसे करें”, क्योंकि सार्वजनिक पेज पर्याप्त संकेत देते हैं। लेन-देन क्वेरी के लिए आपका उत्पाद और रूपांतरण डेटा चाहिए।
क्या यह लेख लिखता है?
नहीं। यह ब्रीफ़ और रूपरेखा देता है; लेखन संपादक या आपके लेखन एजेंट का काम है।
एक रन की लागत कितनी है?
Chat और निष्कर्षण उपयोग के अनुसार क्रेडिट लेते हैं; मौजूदा दरें मूल्य पेज पर। प्रॉम्प्ट खर्च से पहले मंज़ूरी माँगता है।
संबंधित वर्कफ़्लो
एक सवाल को स्रोतों वाली शोध ब्रीफ़ में बदलें
वेब से पूछें, जवाब के पीछे के पेज Markdown में सहेजें, X पर प्रैक्टिशनर क्या कहते हैं जोड़ें और सबूत उस LiveDoc में रखें जिसे बाद में फिर खोजा जा सके।
वर्कफ़्लो खोलेंसामग्रीअपने दर्शकों के सवालों से एक महीने की सामग्री भरें
Chat से विषयों का नक्शा बनाएँ, X पर दर्शकों के सवाल खोजें, वीडियो ट्रांसक्रिप्ट से असली कोण लें और चार हफ़्ते का कैलेंडर बनाएँ जिसमें हर पंक्ति अपना सबूत बताए।
वर्कफ़्लो खोलेंसामग्रीरोज़ाना AI समाचार सारांश प्रकाशित करें जिसे टीम सचमुच पढ़े
स्रोतों वाला सारांश लें, X पर प्रैक्टिशनर चर्चाएँ जोड़ें, एक वीडियो ट्रांसक्रिप्ट लें, संस्करण Markdown में बनाएँ और LiveDoc में संग्रहित करें।
वर्कफ़्लो खोलेंइसे अपना बनाएँ
वही रेसिपी, आपके असली तरीके के हिसाब से।
केवल तुलनात्मक क्वेरी
“X बनाम Y” और “सर्वश्रेष्ठ X” तक सीमित करें ताकि भेद का कोण साफ़ दिखे।
अपना उत्पाद पेज जोड़ें
उत्पाद पेज अतिरिक्त स्रोत के रूप में जोड़ें ताकि रूपरेखा आपके फ़ीचर और दाम पर उतरे।
हर तिमाही अपडेट
उसी LiveDoc में दोबारा चलाएँ और देखें प्रतिस्पर्धी पेज तथा रूपरेखा कैसे बदलते हैं।
आगे बढ़ें
इस रेसिपी के पीछे के संदर्भ पेज और अगले कदम।