---
title: "منصة تتبع روابط مع تكاملات webhook: دليل عملي"
url: https://uselinkpilot.com/ar/blog/how-to-choose-and-use-a-link-tracking-platform-with-webhook-integrations
description: "ما تخبرك به webhooks منصة تتبع الروابط وما لا تخبرك به، وأي الأحداث تبحث عنها، وكيف تتحقق وتعيد المحاولة بأمان، ومتى تستخدم واجهة API بدلًا منها."
lang: ar
---

تتبع الروابط (https://uselinkpilot.com/ar/blog/category/link-tracking)

# كيفية اختيار منصة تتبع روابط مع تكاملات webhook واستخدامها

ما تخبرك به webhooks منصة تتبع الروابط وما لا تخبرك به، وأي الأحداث تبحث عنها، وكيف تتحقق وتعيد المحاولة بأمان، ومتى تستخدم واجهة API بدلًا منها.

LinkPilot Team (https://uselinkpilot.com/ar/author/linkpilot-team) · الفريق الذي يطور LinkPilot ويديره في TetraCore, LLC 26 أكتوبر 2026 · عن LinkPilot (https://uselinkpilot.com/ar/about)

تسجل منصة تتبع الروابط ما حدث لروابطك. أما webhook فهو إخبار المنصة لأنظمتك الأخرى بما يحدث لحظة حدوثه، بدلًا من انتظار أن يفتح أحدهم لوحة التحكم. وبالجمع بينهما يظهر رابط حملة جديد في نظام CRM لحظة إنشائه، أو يؤدي فتح رابط سري إلى تحديث تذكرة دعم.

واختيار منصة تتبع روابط مع تكاملات webhook يعني أن تنظر أبعد من عبارة «تدعم webhooks»: أي الأحداث ترسل، وكيف تؤمّنها، وما الذي لا ترسله. يشرح هذا الدليل كل ذلك، وكيف تبني مستقبِلًا يُعتمد عليه، ومتى تكون واجهة API الأداة الأفضل.

## فيمَ تفيد webhooks التي ترسلها منصة الروابط

ثلاث مهام تتكرر.

- **إبقاء الأنظمة متزامنة.** الرابط الذي يُنشأ في المنصة يظهر في سجل الحملة داخل نظام CRM أو أداة إدارة المشاريع، مع نهاية الرابط ووجهته، دون أن ينسخه أحد.
- **تشغيل سير العمل.** الرابط السري الذي فُتح يعني أن التسليم اكتمل، والرابط الذي حُذف نهائيًا دون أن يؤكد المستلم استلامه يفتح بلاغ حادث.
- **تغذية مستودع البيانات.** تصل الأحداث إلى طابور ثم إلى جدول، وهناك تنضم إلى بقية بياناتك.

لكن webhooks لا تصلح للعد. فلوحة التحكم التي تزيد رقمًا مع كل webhook ستختلف أرقامها عن تقرير المنصة نفسها في أول مرة يُعاد فيها إرسال حدث أو يتأخر. استخدم واجهة API أو التصدير للأرقام، و webhooks للإجراءات.

## أي الأحداث تبحث عنها

تختلف المنصات فيما ترسله من أحداث. فاطلب القائمة، لا مجرد اسم الميزة.

| فئة الأحداث | أحداث معتادة | تفيد في |
| --- | --- | --- |
| دورة حياة الرابط | الإنشاء، التحديث، الحذف | المزامنة مع CRM، وسجل التدقيق، واكتشاف التعديلات غير المقصودة |
| دورة حياة السر | الإنشاء، الفتح، الحذف النهائي | تأكيد التسليم، وتشغيل بلاغات الحوادث |
| أحداث النقر | لكل نقرة أو على دفعات | الأتمتة الفورية، مع الأحجام الكبيرة |
| أحداث النطاق | التحقق، إصدار الشهادة | تنبيهات فريق التشغيل |

تغطي webhooks في LinkPilot دورة حياة الرابط (`link.created` و `link.updated` و `link.deleted`) ودورة حياة السر (`secret.created` و `secret.viewed` و `secret.burned`). أما بيانات النقرات فمتاحة عبر واجهة API للإحصاءات وتصدير CSV، لا عبر webhook لكل نقرة، وهذا هو التقسيم المناسب لمعظم الفرق: النقرات بيانات تقارير كبيرة الحجم، في حين أن أحداث دورة الحياة هي التي يجب أن تُطلق إجراءً.

وإن كان سير عملك يحتاج فعلًا إلى رد فعل على كل نقرة، فتأكد من أن المنصة ترسلها على دفعات أو تحدّ من معدلها، وإلا بنيت مستقبِلًا ينهار في أول مرة ينتشر فيها منشور على نطاق واسع.

## ما الذي تقيّمه أيضًا

- **التوقيع.** يجب أن تحمل كل عملية إرسال توقيعًا محسوبًا بسر تحتفظ به أنت، حتى ترفض نقطة الاستقبال لديك أي طلب مزور. والمنصة التي ترسل webhooks بلا توقيع تطلب منك أن تثق بأي طلب POST.
- **إعادة المحاولة والترتيب.** اعرف كم مرة يُعاد إرسال الحدث الفاشل وعلى مدى أي فترة، وافترض أن الأحداث قد تصل بغير ترتيبها.
- **معرّفات الأحداث.** المعرّف الفريد لكل حدث هو ما يجعل معالجة الحدث مرة واحدة فقط ممكنة.
- **إدارة نقاط الاستقبال.** عدة نقاط استقبال في كل مساحة عمل، واشتراك في كل حدث على حدة، وسجل إرسال تقرؤه حين يحدث خطأ.
- **واجهة API إلى جانبها.** webhooks للتشغيل، وواجهة API لكل ما عدا ذلك. تأكد من أن إنشاء الروابط والإحصاءات والتصدير متاحة كلها برمجيًا، وأن صلاحيات المفاتيح يمكن تقييدها. تستخدم واجهة API في LinkPilot مفاتيح bearer تبدأ بالبادئة `lp_live_`، وهي متاحة في كل الخطط.
- **صلاحيات الفريق.** تحديد من يستطيع إضافة نقطة استقبال webhook مسألة مهمة، لأن نقطة الاستقبال تتلقى بيانات. ويجب أن تتيح الأدوار للمشرف إدارة نقاط الاستقبال وأن تمنع الآخرين منها.

## ابنِ مستقبِلًا لا ينهار

1. **تحقق من التوقيع أولًا.** احسب التوقيع المتوقع من النص الخام للطلب ومن سرك، وقارن بينهما في زمن ثابت، وارفض كل ما يفشل قبل تحليله.
2. **أرسل الإقرار بسرعة.** أعد استجابة 2xx خلال ثانية أو ثانيتين. ونفّذ العمل الفعلي من طابور، حتى لا يتسبب بطء نظام CRM في إعادة المحاولات.
3. **خزّن معرّفات الأحداث** وتجاهل كل ما رأيته من قبل. إعادة المحاولة أمر عادي، والمعالجة المزدوجة خطأ في نظامك أنت.
4. **حدد الحقول صراحةً.** انقل نهاية الرابط والوجهة والوسوم والطوابع الزمنية التي تحتاجها إلى مخططك الخاص. ولا تخزن الحمولة كاملة على أنها المرجع، فهي إشعار لا سجل.
5. **سجّل كل عملية إرسال** مع معرّفها ونتيجتها، فإذا قال سجل المنصة إن الحدث وصل وقال نظامك إن شيئًا لم يحدث، عرفت أين ذهب.
6. **أطلق تنبيهًا عند الصمت.** إذا كانت نقطة استقبال تتلقى أحداثًا كل ساعة عادةً ثم صمتت يومًا كاملًا، فقد تعطل شيء في أحد الطرفين.

اختبر بنقطة استقبال تجريبية وبإرسال الاختبار الذي توفره المنصة قبل أول حملة حقيقية. أنشئ رابطًا، ثم عدّله، ثم احذفه، وراقب وصول الأحداث الثلاثة.

## احمِ البيانات

حمولات webhook تصف الروابط والأسرار، لا الأشخاص. فأبقِها كذلك.

- **لا تضع بيانات شخصية أبدًا في نهايات الروابط أو الوسوم**، لأنها ستنتقل في كل حمولة تخص ذلك الرابط.
- **قيّد نقطة الاستقبال** بحيث لا تقبل إلا الطلبات الواردة من المنصة، بالتوقيع، وبعنوان المصدر حيث أمكن.
- **خزّن سر التوقيع في مدير أسرار**، لا في ملف إعدادات المستقبِل، وغيّره وفق جدول زمني. وإذا اضطررت إلى تسليم السر إلى متعاقد يبني المستقبِل، فأرسله عبر رابط سري لمرة واحدة (https://uselinkpilot.com/ar/tools/free-secret-link-generator). ويشرح دليل سر توقيع webhook (https://uselinkpilot.com/ar/blog/how-to-send-a-webhook-signing-secret-to-a-client-securely) هذا التسليم.
- **ضع الموافقة في حسبانك** حين تنتقل بيانات النقرات إلى نظام CRM. فسجل النقرة المربوط بعميل يُعد بيانات شخصية في معظم قواعد الخصوصية.

## قِس التكامل نفسه

- **نسبة نجاح الإرسال** من سجل المنصة.
- **تأخر المعالجة** من الطابع الزمني للحدث إلى السجل في نظامك.
- **نسبة التكرار**، ويجب أن تكون منخفضة لكنها لا تصل إلى الصفر أبدًا.
- **المطابقة**: مرة في الأسبوع، قارن عدد الروابط وإجمالي النقرات من واجهة API بما تحتفظ به أنظمتك. والفرق يعني إرسالًا ضائعًا أو خطأ في المستقبِل.

منصة تتبع الروابط التي تدعم webhooks تجعل روابطك جزءًا من بقية أدواتك. فاختر منصة توقّع ما ترسله، وتخبرك بالأحداث الموجودة بالضبط، وتمنحك واجهة API للأرقام. ثم ابنِ المستقبِل على أساس أن إعادة المحاولة هي الحالة العادية، لأنها كذلك فعلًا.

## قراءات ذات صلة

- كيفية إرسال سر توقيع webhook إلى عميل بأمان: https://uselinkpilot.com/ar/blog/how-to-send-a-webhook-signing-secret-to-a-client-securely
- مقارنة واجهات API لاختصار الروابط: Bitly و Dub و Short.io و TinyURL: https://uselinkpilot.com/ar/blog/url-shortener-api-comparison
- مشاركة الروابط بأمان للمطورين: https://uselinkpilot.com/ar/blog/secure-link-sharing-for-developers
- الدليل الحديث لتتبع الروابط: https://uselinkpilot.com/ar/blog/modern-link-tracking

## أدوات لهذا المقال

أداة اختصار الروابط المجانية

حوّل عنوان URL طويلًا إلى رابط مختصر بالنهاية التي تختارها.
https://uselinkpilot.com/ar/tools/url-shortener

الإصدارات: اختصار رابط النبذة التعريفية في TikTok (https://uselinkpilot.com/ar/tools/url-shortener/tiktok-bio) · اختصار رابط النبذة التعريفية في Instagram (https://uselinkpilot.com/ar/tools/url-shortener/instagram-bio) · اختصار الروابط لمنشورات LinkedIn (https://uselinkpilot.com/ar/tools/url-shortener/linkedin-post) · اختصار روابط X (Twitter) (https://uselinkpilot.com/ar/tools/url-shortener/twitter)

فاحص نقرات الروابط

اطّلع على النقرات ومصادر الإحالة والمواقع الجغرافية لرابط مختصر.
https://uselinkpilot.com/ar/tools/link-analytics

أداة إنشاء روابط UTM

أنشئ روابط تحمل وسوم الحملات في ثوانٍ.
https://uselinkpilot.com/ar/tools/utm-builder

الإصدارات: منشئ UTM لمنصة LinkedIn (https://uselinkpilot.com/ar/tools/utm-builder/linkedin) · منشئ UTM لمنصة Facebook (https://uselinkpilot.com/ar/tools/utm-builder/facebook) · منشئ UTM للبريد الإلكتروني (https://uselinkpilot.com/ar/tools/utm-builder/email) · منشئ UTM لمنصة Instagram (https://uselinkpilot.com/ar/tools/utm-builder/instagram) · منشئ UTM لمنصة TikTok (https://uselinkpilot.com/ar/tools/utm-builder/tiktok) · منشئ UTM لروابط YouTube (https://uselinkpilot.com/ar/tools/utm-builder/youtube) · منشئ UTM لحملات Google Ads (https://uselinkpilot.com/ar/tools/utm-builder/google-ads) · منشئ UTM لمنصة X (Twitter) (https://uselinkpilot.com/ar/tools/utm-builder/twitter) · منشئ UTM لمنصة Reddit (https://uselinkpilot.com/ar/tools/utm-builder/reddit) · منشئ UTM لمنصة Pinterest (https://uselinkpilot.com/ar/tools/utm-builder/pinterest)

اقتراحات ذكية للروابط

اقتراحات بالذكاء الاصطناعي للتسمية وتنظيم معاملات UTM والنطاقات التي تحمل علامتك.
https://uselinkpilot.com/ar/tools/smart-link-suggestions

## الأسئلة الشائعة

### ما منصة تتبع الروابط مع تكاملات webhook؟

### ما الفرق بين webhook والتصدير وواجهة API؟

### هل يؤكد webhook النقرة حدوث تحويل؟

### ماذا يجب أن تتضمن حمولة webhook؟

### كيف تتجنب معالجة الحدث نفسه مرتين؟

### هل تضمن webhooks تقارير فورية؟

## أدر روابطك بذكاء أكبر مع LinkPilot

التتبع ومعلمات UTM ورموز QR وملخصات الذكاء الاصطناعي والتقارير بعلامتك التجارية في مساحة عمل واحدة. ابدأ مجانًا.

أنشئ حسابًا مجانًا (https://uselinkpilot.com/signup)

## اقرأ أيضًا

تتبع الروابط

### كيفية اختيار منصة روابط بعلامتك التجارية لشركة ناشئة

ما تحتاجه الشركة الناشئة من منصة روابط بعلامتها التجارية اليوم وغدًا: نطاق مخصص، وإحصاءات النقرات، وأدوار الفريق، وواجهة API، وخطة مجانية لا تعاقب النمو.
https://uselinkpilot.com/ar/blog/how-to-choose-a-branded-url-platform-for-startup-teams

تتبع الروابط

### تكامل برمجي لإنشاء روابط قابلة للتتبع بنطاقك الخاص: دليل عملي

كيف تدمج إنشاء الروابط في منتجك أو سير عملك: مفاتيح API، واستدعاء الإنشاء، ومنع التكرار، ووسوم UTM، وحالات إعادة التوجيه الخاصة، و webhooks، والاختبار.
https://uselinkpilot.com/ar/blog/developer-integration-for-creating-trackable-branded-links

تتبع الروابط

### تتبع الروابط المخصصة لفرق نجاح العملاء: دليل عملي للتطبيق

أين توجد روابط فريق نجاح العملاء، وكيف تتتبعها لكل حساب دون بيانات شخصية في الرابط، وكيف تقرأ النقرات بجانب الاستخدام، وقواعد الخصوصية.
https://uselinkpilot.com/ar/blog/custom-link-tracking-for-customer-success-teams

## Structured data

```json
[
  {
    "@context": "https://schema.org",
    "@type": "BreadcrumbList",
    "itemListElement": [
      {
        "@type": "ListItem",
        "position": 1,
        "name": "الرئيسية",
        "item": "https://uselinkpilot.com/ar"
      },
      {
        "@type": "ListItem",
        "position": 2,
        "name": "المدونة",
        "item": "https://uselinkpilot.com/ar/blog"
      },
      {
        "@type": "ListItem",
        "position": 3,
        "name": "كيفية اختيار منصة تتبع روابط مع تكاملات webhook واستخدامها",
        "item": "https://uselinkpilot.com/ar/blog/how-to-choose-and-use-a-link-tracking-platform-with-webhook-integrations"
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "BlogPosting",
    "@id": "https://uselinkpilot.com/ar/blog/how-to-choose-and-use-a-link-tracking-platform-with-webhook-integrations#article",
    "headline": "كيفية اختيار منصة تتبع روابط مع تكاملات webhook واستخدامها",
    "description": "ما تخبرك به webhooks منصة تتبع الروابط وما لا تخبرك به، وأي الأحداث تبحث عنها، وكيف تتحقق وتعيد المحاولة بأمان، ومتى تستخدم واجهة API بدلًا منها.",
    "inLanguage": "ar",
    "datePublished": "2026-10-26",
    "dateModified": "2026-10-26",
    "image": "https://uselinkpilot.com/logo-512.png",
    "author": {
      "@type": "Organization",
      "@id": "https://uselinkpilot.com/author/linkpilot-team#organization",
      "name": "LinkPilot Team",
      "url": "https://uselinkpilot.com/ar/author/linkpilot-team"
    },
    "publisher": {
      "@type": "Organization",
      "name": "LinkPilot",
      "url": "https://uselinkpilot.com",
      "logo": {
        "@type": "ImageObject",
        "url": "https://uselinkpilot.com/logo-512.png",
        "width": 512,
        "height": 512
      }
    },
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://uselinkpilot.com/ar/blog/how-to-choose-and-use-a-link-tracking-platform-with-webhook-integrations"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "ما منصة تتبع الروابط مع تكاملات webhook؟",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "أداة اختصار تسجل النقرات على روابطها، وتستطيع أيضًا إرسال الأحداث لحظة وقوعها إلى عنوان URL تتحكم فيه، فيعرف نظام CRM أو مستودع البيانات أو أداة الأتمتة لديك بنشاط الروابط دون استعلام متكرر."
        }
      },
      {
        "@type": "Question",
        "name": "ما الفرق بين webhook والتصدير وواجهة API؟",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "التصدير ملف تنزّله. وواجهة API سؤال تطرحه حين تريد الجواب. أما webhook فهو إخطار ترسله المنصة إليك لحظة حدوث شيء ما. تناسب webhooks الأتمتة، وتناسب واجهة API التقارير."
        }
      },
      {
        "@type": "Question",
        "name": "هل يؤكد webhook النقرة حدوث تحويل؟",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "لا. النقرة تعني أن شخصًا ما أُرسل إلى وجهة. أما التحويل فيحدث في الوجهة ويُقاس هناك. اربط بين الاثنين باسم الحملة أو بمعرّف موقّع، ولا تفترض أبدًا أن أحدهما يعني الآخر."
        }
      },
      {
        "@type": "Question",
        "name": "ماذا يجب أن تتضمن حمولة webhook؟",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "نوع الحدث، ومعرّفًا فريدًا للحدث، وطابعًا زمنيًا، ومعرّف الرابط ونهايته، والحقول المتعلقة بالحدث. وفي LinkPilot تحمل الأحداث link.created و link.updated و link.deleted و secret.created و secret.viewed و secret.burned الكائن الذي تصفه."
        }
      },
      {
        "@type": "Question",
        "name": "كيف تتجنب معالجة الحدث نفسه مرتين؟",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "خزّن كل معرّف حدث عالجته وتجاهل التكرارات. فالمنصات تعيد المحاولة عند الفشل، لذلك التكرار أمر عادي، ويجب أن تعطي نقطة الاستقبال لديك النتيجة نفسها مهما تكرر الحدث."
        }
      },
      {
        "@type": "Question",
        "name": "هل تضمن webhooks تقارير فورية؟",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "تكون شبه فورية حين يعمل كل شيء كما يجب. لكن الإرسال قد يتأخر أو يُعاد، فاعتبرها محفزًا لإجراء، واعتمد على واجهة API أو التصدير مصدرًا رسميًا للأرقام."
        }
      }
    ],
    "inLanguage": "ar"
  },
  {
    "@context": "https://schema.org",
    "@type": "SoftwareApplication",
    "@id": "https://uselinkpilot.com/#software",
    "name": "LinkPilot",
    "applicationCategory": "BusinessApplication",
    "operatingSystem": "Web",
    "description": "LinkPilot is a secure link management platform for creating branded short links, tracking engagement, and sharing secrets with expiring, protected, self-destructing links.",
    "url": "https://uselinkpilot.com",
    "offers": [
      {
        "@type": "Offer",
        "name": "Free",
        "price": "0",
        "priceCurrency": "USD",
        "url": "https://uselinkpilot.com/pricing"
      },
      {
        "@type": "Offer",
        "name": "Pro",
        "price": "29",
        "priceCurrency": "USD",
        "priceSpecification": {
          "@type": "UnitPriceSpecification",
          "price": "29",
          "priceCurrency": "USD",
          "billingDuration": "P1M"
        },
        "url": "https://uselinkpilot.com/pricing"
      },
      {
        "@type": "Offer",
        "name": "Agency",
        "price": "299",
        "priceCurrency": "USD",
        "priceSpecification": {
          "@type": "UnitPriceSpecification",
          "price": "299",
          "priceCurrency": "USD",
          "billingDuration": "P1M"
        },
        "url": "https://uselinkpilot.com/pricing"
      },
      {
        "@type": "Offer",
        "name": "Agency Plus",
        "price": "799",
        "priceCurrency": "USD",
        "priceSpecification": {
          "@type": "UnitPriceSpecification",
          "price": "799",
          "priceCurrency": "USD",
          "billingDuration": "P1M"
        },
        "url": "https://uselinkpilot.com/pricing"
      },
      {
        "@type": "Offer",
        "name": "Pro (yearly)",
        "price": "288",
        "priceCurrency": "USD",
        "priceSpecification": {
          "@type": "UnitPriceSpecification",
          "price": "288",
          "priceCurrency": "USD",
          "billingDuration": "P1Y"
        },
        "url": "https://uselinkpilot.com/pricing"
      },
      {
        "@type": "Offer",
        "name": "Agency (yearly)",
        "price": "2988",
        "priceCurrency": "USD",
        "priceSpecification": {
          "@type": "UnitPriceSpecification",
          "price": "2988",
          "priceCurrency": "USD",
          "billingDuration": "P1Y"
        },
        "url": "https://uselinkpilot.com/pricing"
      },
      {
        "@type": "Offer",
        "name": "Agency Plus (yearly)",
        "price": "7980",
        "priceCurrency": "USD",
        "priceSpecification": {
          "@type": "UnitPriceSpecification",
          "price": "7980",
          "priceCurrency": "USD",
          "billingDuration": "P1Y"
        },
        "url": "https://uselinkpilot.com/pricing"
      },
      {
        "@type": "Offer",
        "name": "Enterprise",
        "priceSpecification": {
          "@type": "PriceSpecification",
          "priceCurrency": "USD"
        },
        "url": "https://uselinkpilot.com/pricing"
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "Organization",
    "@id": "https://uselinkpilot.com/#organization",
    "name": "LinkPilot",
    "alternateName": "LinkPilot by TetraCore",
    "url": "https://uselinkpilot.com",
    "contactPoint": {
      "@type": "ContactPoint",
      "contactType": "customer support",
      "email": "support@uselinkpilot.com",
      "url": "https://uselinkpilot.com/support"
    },
    "parentOrganization": {
      "@type": "Organization",
      "@id": "https://tetracorehq.com/#organization",
      "name": "TetraCore",
      "url": "https://tetracorehq.com/"
    },
    "logo": {
      "@type": "ImageObject",
      "url": "https://uselinkpilot.com/logo-512.png",
      "width": 512,
      "height": 512
    },
    "description": "LinkPilot is a secure link management platform for creating branded short links, tracking engagement, and sharing secrets with expiring, protected, self-destructing links.",
    "sameAs": [
      "https://x.com/uselinkpilot",
      "https://www.linkedin.com/company/uselinkpilot",
      "https://facebook.com/uselinkpilot",
      "https://github.com/TetraCoreHQ/linkpilot-cli",
      "https://github.com/TetraCoreHQ/linkpilot-mcp",
      "https://www.npmjs.com/package/linkpilot",
      "https://www.npmjs.com/package/@uselinkpilot/sdk",
      "https://www.npmjs.com/package/@uselinkpilot/mcp",
      "https://chromewebstore.google.com/detail/linkpilot-short-links-and/mnmppadihpcncicldpkmgknhnjkondad",
      "https://addons.mozilla.org/en-US/firefox/addon/uselinkpilot/"
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "WebSite",
    "name": "LinkPilot",
    "url": "https://uselinkpilot.com",
    "potentialAction": {
      "@type": "SearchAction",
      "target": "https://uselinkpilot.com/blog?q={search_term_string}",
      "query-input": "required name=search_term_string"
    }
  }
]
```