Felo API PlatformFelo API Platform

ریسرچ

سرچ کوئری کو SEO مواد بریف میں بدلیں

دیکھیں آج کون سے صفحات جواب دیتے ہیں، انہیں Markdown میں پڑھیں، ڈھکے اور چھوٹے سوالات کا نقشہ بنائیں، پھر ایسا بریف لکھیں جس سے مصنف خاکہ بنائے۔

وقت25 منٹسطحدرمیانہاپ ڈیٹ2026-10-30
کिसके لیےمواد مارکیٹنگSEO ماہرینایڈیٹرز

پرامپٹ کاپی کریں

مربع بریکٹ کے فیلڈز بدلیں اور 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خود چیک لسٹ

صفحات جن سوالات کا جواب دیتے ہیں

  • ٹرائیج آٹومیشن کیا بدلتا ہے
  • کون سے روٹنگ قواعد سے شروع کریں

چھوٹ جانے والے سوالات

  • ٹرائیج واقعی بہتر ہوا یا نہیں، کیسے ناپیں
  • کلاسیفائر غلط ہو تو کیا کریں

تجویز کردہ خاکہ

  1. آٹومیشن کیا بدلتی ہے — ثابت کریں کہ معاملہ قطار کا ہے، عملے کا نہیں۔
  2. پہلے تین روٹنگ قواعد — ہر ایک مثال سے ثابت کریں۔
  3. پہلے مہینے کیسے ناپیں — ایسے میٹرک سے ثابت کریں جو آپریشنز لیڈ نکال سکے۔
  4. جب آٹومیشن غلط ہو — انسانی فال بیک راستہ ثابت کریں۔

شواہد

  • روٹنگ قاعدے کی مثال، https://example.com/guide سے نقل (2026-10-30 جانچا)

یہاں نہیں ناپا گیا

تلاش کا حجم، کلیدی لفظ کی مشکل اور درجہ بندی۔ یہ ورک فلو عوامی صفحات پڑھتا ہے؛ سرچ انڈیکس یا رینک ٹریکر سے نہیں پوچھتا۔

ذرائع

  • https://example.com/guide
  • https://example.com/checklist

درست کالز

ڈویلپرز کے لیے: وہی ورک فلو کوڈ کے طور پر، چلانے کی ترتیب میں۔

اصل API کالز دکھائیں
  1. دیکھیں آج کون جواب دیتا ہے

    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": "…" }
      ]
    }
  2. صفحات 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…"
    }
  3. کوریج اور خلا کا نقشہ

    ہر صفحے کے 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?" }
    ]
  4. بریف لکھیں

    کوئری، نیت، کوریج موازنہ، چھوٹے سوالات، تجویز کردہ خاکہ اور ذرائع فہرست بیان کریں۔

    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"
  5. 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 اور ایکسٹریکشن استعمال کے مطابق کریڈٹ لیتے ہیں؛ موجودہ نرخ قیمت صفحے پر۔ پرامپٹ خرچ سے پہلے منظوری مانگتا ہے۔

متعلقہ ورک فلو

اسے اپنا بنائیں

وہی ترکیب، آپ کے اصل انداز کے مطابق۔

صرف موازنہ کوئریاں

«X بمقابلہ Y» اور «بہترین X» تک محدود کریں تاکہ فرق کا زاویہ واضح ہو۔

اپنا پروڈکٹ صفحہ شامل کریں

پروڈکٹ صفحہ اضافی ذریعہ شامل کریں تاکہ خاکہ آپ کی خصوصیات اور قیمتوں پر اترے۔

ہر سہ ماہی اپ ڈیٹ

اسی LiveDoc میں دوبارہ چلائیں اور دیکھیں حریف صفحات اور خاکہ کیسے بدلتے ہیں۔

اس ترکیب کے پیچھے کے ریفرنس صفحات اور اگلے مراحل۔