DataForSEO
SEO, search-engine results, keyword research, backlinks and AI visibility data.
إعداد مهام OnPage
يبدأ زحفًا لـtarget ويعيد id للمهمة في tasks[0].id — هذا المعرّف هو المقبض الذي تحتاجه كل أداة أخرى في هذه العائلة، فاحتفظ به. يحدّ max_crawl_pages من الزحف، وتشكّله start_url وmax_crawl_depth وpriority_urls وcrawl_delay، ويقرّر store_raw_html ما إذا كان post_dataforseo_on_page_raw_html سيجد شيئًا يقدّمه لاحقًا. الاستجابة مغلّفة في غلاف DataForSEO: البيانات في tasks[0].result، والنتيجة في tasks[0].status_code — ولا يزال الطلب المرفوض يعيد HTTP 200. ⚠️ هذا ليس زوج الإرسال/الجلب المعتاد: الزحف جلسة تستعلم عنها أدوات أخرى كثيرة بالمعرّف. استقصِ get_dataforseo_on_page_summary حتى يقرأ crawl_progress القيمة finished؛ زحف من صفحة واحدة لـexample.com استغرق أقل من دقيقة بكثير.
مرجع التسعير
- القياس: تكلفة الاستجابة المُبلَّغ عنها.
- تقدير الطلب المرجعي: 0.003 دولار أمريكي.
- مضاعف العميل المرجعي: 1.0. لا تُطبّقه مرة أخرى على مبلغ عميل مسوّى.
بيانات وصفية مرجعية فقط، وليست عرض سعر للحساب ولا سعرًا مضمونًا ولا حدًا للإنفاق. أرصدة الموارد ليست أرصدة Felo. تتبع الرسوم النهائية سجلات فوترة Felo.
- النوع: array (object | null)[]
- acceptالنوع: string | null
_language ترويسة اللغة للوصول إلى الموقع
حقل اختياري
جميع صيغ اللغة مدعومة (xx، xx-XX، xxx-XX، إلخ.)
ملاحظة: إذا لم تحدد هذا المعامل، فقد ترفض بعض المواقع الوصول؛ في هذه الحالة، ستُعاد الصفحات مع"type":"brokenفي مصفوفة الاستجابة - allowالنوع: boolean | null
_subdomains تضمين صفحات النطاقات الفرعية
حقل اختياري
عيّن علىtrueإذا أردت الزحف إلى جميع النطاقات الفرعية لموقع مستهدف
القيمة الافتراضية:false - allowedالنوع: array string[] | null
_subdomains النطاقات الفرعية المراد الزحف إليها
حقل اختياري
حدد النطاقات الفرعية التي تريد الزحف إليها
مثال:["blog.site.com", "my.site.com", "shop.site.com"]
ملاحظة: لاستخدام هذا المعامل، يجب تعيين المعاملallow_subdomainsعلىfalse؛
وإلا فسيُتجاهل محتوى حقلallowed_subdomainsوستُعاد النتائج لجميع النطاقات الفرعية - browserالنوع: string | null
_preset إعداد مسبق لمعاملات شاشة المتصفح
حقل اختياري
إذا استخدمت هذا الحقل، فلن تحتاج إلى تحديدbrowser_screen_widthأوbrowser_screen_heightأوbrowser_screen_scale_factorالقيم الممكنة:desktop،mobile،tabletالإعداد المسبقdesktopسيطبّق القيم التالية:browser_screen_width: 1920browser_screen_height: 1080browser_screen_scale_factor: 1الإعداد المسبقmobileسيطبّق القيم التالية:browser_screen_width: 390browser_screen_height: 844browser_screen_scale_factor: 3الإعداد المسبقtabletسيطبّق القيم التالية:browser_screen_width: 1024browser_screen_height: 1366browser_screen_scale_factor: 2
ملاحظة: لاستخدام هذا المعامل، عيّنenable_javascriptأوenable_browser_renderingعلىtrue - browserالنوع: integer | null
_screen _height ارتفاع شاشة المتصفح
حقل اختياري
يمكنك تعيين ارتفاع مخصص لشاشة المتصفح لإجراء تدقيق لجهاز معيّن؛
إذا استخدمت هذا الحقل، فلن تحتاج إلى تحديدbrowser_presetلأنه سيُتجاهل؛
ملاحظة: لاستخدام هذا المعامل، عيّنenable_javascriptأوenable_browser_renderingعلىtrueالحد الأدنى، بالبكسل:240
الحد الأقصى، بالبكسل:9999 - browserالنوع: number | null
_screen _scale _factor عامل تحجيم شاشة المتصفح
حقل اختياري
يمكنك تعيين نسبة دقة مخصصة لشاشة المتصفح لإجراء التدقيق لجهاز معيّن؛
إذا استخدمت هذا الحقل، فلن تحتاج إلى تحديدbrowser_presetلأنه سيُتجاهل؛
ملاحظة: لاستخدام هذا المعامل، عيّنenable_javascriptأوenable_browser_renderingعلىtrueالحد الأدنى:0.5
الحد الأقصى:3 - browserالنوع: integer | null التنسيق: int64
_screen _width عرض شاشة المتصفح
حقل اختياري
يمكنك تعيين عرض مخصص لشاشة المتصفح لإجراء التدقيق لجهاز معيّن؛
إذا استخدمت هذا الحقل، فلن تحتاج إلى تحديدbrowser_presetلأنه سيُتجاهل؛
ملاحظة: لاستخدام هذا المعامل، عيّنenable_javascriptأوenable_browser_renderingعلىtrueالحد الأدنى، بالبكسل:240
الحد الأقصى، بالبكسل:9999 - calculateالنوع: boolean | null
_keyword _density حساب كثافة الكلمات المفتاحية للنطاق المستهدف
حقل اختياري
عيّن علىtrueإذا أردت حساب كثافة الكلمات المفتاحية لصفحات الموقع
القيمة الافتراضية:false
ملاحظة: إذا استخدمت هذا المعامل، فستُفرض رسوم إضافية؛ اعرف المزيد عن تكلفة المهام بهذا المعامل في مقال المساعدة لدينا
بمجرد اكتمال الزحف، يمكنك الحصول على قيم كثافة الكلمات المفتاحية باستخدام نقطة النهاية Keyword Density - checkالنوع: boolean | null
_spell - checkالنوع: array string[] | null
_spell _exceptions الكلمات المستبعدة من التدقيق الإملائي
حقل اختياري
حدد الكلمات التي تريد استبعادها من التدقيق الإملائي
الحد الأقصى لطول الكلمة: 100 حرف
الحد الأقصى لعدد الكلمات: 1000
مثال:"SERP", "minifiers", "JavaScript" - checkالنوع: string | null
_spell _language لغة التدقيق الإملائي
حقل اختياري
اللغات المدعومة: 'hy', 'eu', 'bg', 'ca', 'hr', 'cs', 'da', 'nl', 'en', 'eo', 'et', 'fo', 'fa', 'fr', 'fy', 'gl', 'ka', 'de', 'el', 'he', 'hu', 'is', 'ia', 'ga', 'it', 'rw', 'la', 'lv', 'lt', 'mk', 'mn', 'ne', 'nb', 'nn', 'pl', 'pt', 'ro', 'gd', 'sr', 'sk', 'sl', 'es', 'sv', 'tr', 'tk', 'uk', 'vi'
ملاحظة: إذا لم تُحدد لغة، فستُعيّن تلقائيًا بناءً على محتوى الصفحة - checksالنوع: object | null
_threshold قيم حدية مخصصة للفحوص
حقل اختياري
يمكنك تحديد قيم حدية مخصصة للمعاملات المضمنة في كائنchecksفي استجابات OnPage API؛
ملاحظة: لا يمكن تعديل سوى القيم الحدية الصحيحة (integer)؛
على سبيل المثال، تُعيّن المعاملاتhigh_loading_timeوlarge_page_sizeعلى 3 ثوانٍ و1 ميغابايت على التوالي افتراضيًا؛
إذا أردت تغيير هذه القيم الحدية إلى ثانية واحدة و1000 كيلوبايت، فاستخدم المقتطف التالي:"checks_threshold": {<br>"high_loading_time": 1,<br>"large_page_size": 1000<br>}
المعاملات القابلة للتخصيص المتاحة مع قيمها الافتراضية:"title_too_short", default value: 30, type: "int"<br>"title_too_long", default value: 65, type: "int"<br>"small_page_size", default value: 1024, type: "int"<br>"large_page_size", default value: 1048576 (1024 * 1024), type: "int"<br>"low_character_count", default value: 1024, type: "int"<br>"high_character_count", default value: 256000 (250 * 1024), type: "int"<br>"low_content_rate", default value: 0.1, type: "float"<br>"high_content_rate", default value: 0.9, type: "float"<br>"high_loading_time", default value: 3000, type: "int"<br>"high_waiting_time", default value: 1500, type: "int"<br>"low_readability_rate", default value: 15.0, type: "float"<br>"irrelevant_description", default value: 0.2, type: "float"<br>"irrelevant_title", default value: 0.3, type: "float"<br>"irrelevant_meta_keywords", default value: 0.6, type: "float"- propertyالنوع: integer | null التنسيق: int64
Name Signed 64-bit integers (long type).
- crawlالنوع: integer | null
_delay التأخير بين الزيارات، بالمللي ثانية
حقل اختياري
التأخير المخصص بين زيارات الزاحف إلى الخادم
القيمة الافتراضية:2000 - crawlالنوع: boolean | null
_sitemap _only الزحف إلى الصفحات المشار إليها في خريطة الموقع فقط
حقل اختياري
اضبطه علىtrueإذا أردت الزحف إلى الصفحات المشار إليها في خريطة الموقع فقط
إذا ضبطت هذا المعامل علىtrueولم تحددcustom_sitemap، فسنزحف إلى خريطة الموقع الافتراضية
القيمة الافتراضية:false
ملاحظة: لاستخدام هذا المعامل، يجب أن يكونrespect_sitemapمضبوطًا علىtrue - customالنوع: string | null
_js جافاسكربت مخصص
حقل اختياري
لاحظ أن وقت تنفيذ النص البرمجي الذي تدخله هنا يجب ألا يتجاوز 700 مللي ثانية، على سبيل المثال، يمكنك استخدام مقتطف JS التالي للتحقق مما إذا كان الموقع يحتوي على Google Tag Manager كسمةscr:let meta = { haveGoogleAnalytics: false, haveTagManager: false };rnfor (var i = 0; i < document.scripts.length; i++) {rn let src = document.scripts[i].getAttribute("src");rn if (src != undefined) {rn if (src.indexOf("analytics.js") >= 0)rn meta.haveGoogleAnalytics = true;rntif (src.indexOf("gtm.js") >= 0)rn meta.haveTagManager = true;rn }rn}rnmeta;تعتمد القيمة المعادة على ما حددته في هذا الحقل. على سبيل المثال، إذا حددت النص البرمجي التالي:meta = {}; meta.url = document.URL; meta.test = 'test'; meta;
فستتلقى البيانات التالية كاستجابة:"custom_js_response": {<br>"url": "https://dataforseo.com/",<br>"test": "test"<br>}
ملاحظة: يجب ألا يتجاوز طول النص البرمجي الذي تدخله 2000 حرف - customالنوع: string | null
_robots _txt إعدادات robots.txt المخصصة
حقل اختياري
مثال:Disallow: /directory1/ - customالنوع: string | null
_sitemap عنوان URL المخصص لخريطة الموقع
حقل اختياري
عنوان URL للصفحة التي توجد بها خريطة الموقع البديلة
ملاحظة: لاستخدام هذا المعامل، يجب أن يكونrespect_sitemapمضبوطًا علىtrue - customالنوع: string | null
_user _agent وكيل مستخدم مخصص
حقل اختياري
وكيل مستخدم مخصص لزحف موقع ويب
مثال:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36
القيمة الافتراضية:Mozilla/5.0 (compatible; RSiteAuditor) - disableالنوع: boolean | null
_cookie _popup تعطيل نافذة ملفات تعريف الارتباط المنبثقة
حقل اختياري
اضبطه علىtrueإذا أردت تعطيل النافذة المنبثقة التي تطلب موافقة المستخدم على ملفات تعريف الارتباط؛
القيمة الافتراضية:false - disableالنوع: array string[] | null
_page _checks منع تشغيل بعض فحوصات الصفحة
حقل اختياري
حدد بعضchecksلمنع تشغيلها وتأثيرها علىonpage_scoreمثال:"disable_page_checks": ["is_5xx_code", "is_4xx_code"] - disableالنوع: array string[] | null
_sitewide _checks منع تشغيل بعض الفحوصات على مستوى الموقع
حقل اختياري
حددchecksالتالية لمنع تشغيلها على موقعtarget:"test_page_not_found""test_canonicalization""test_https_redirect""test_directory_browsing"مثال:"disable_sitewide_checks": ["test_directory_browsing", "test_page_not_found"]تعرّف على المزيد في مركز المساعدة - disallowedالنوع: array string[] | null
_subdomains النطاقات الفرعية التي لا يجب الزحف إليها
حقل اختياري
حدد النطاقات الفرعية التي لا تريد الزحف إليها
مثال:["status.site.com", "docs.site.com"]
ملاحظة: لاستخدام هذا المعامل، يجب ضبط المعاملallow_subdomainsعلىtrue - enableالنوع: boolean | null
_browser _rendering محاكاة عرض المتصفح لقياس Core Web Vitals
حقل اختياري
باستخدام هذا المعامل ستتمكن من محاكاة متصفح عند تحميل صفحة ويب؛enable_browser_renderingيحمّل الأنماط والصور والخطوط والرسوم المتحركة والفيديوهات وغيرها من الموارد على الصفحة؛
القيمة الافتراضية:false
اضبطه علىtrueللحصول على مقاييس Core Web Vitals (FID, CLS, LCP) في الاستجابة؛
إذا استخدمت هذا الحقل، فيجب ضبط المعاملينenable_javascriptوload_resourcesعلىtrue
ملاحظة: إذا استخدمت هذا المعامل، فستُطبَّق رسوم إضافية؛ تعرّف على المزيد عن تكلفة المهام التي تستخدم هذا المعامل في مقال المساعدة؛ يمكن حساب التكلفة على صفحة الأسعار - enableالنوع: boolean | null
_content _parsing - enableالنوع: boolean | null
_javascript - enableالنوع: boolean | null
_www _redirect _check التحقق مما إذا كان النطاق قد طبّق إعادة توجيه www
حقل اختياري
اضبطه علىtrueإذا أردت التحقق مما إذا كان النطاق المطلوب قد طبّق إعادة التوجيه من www إلى غير www أو من غير www إلى www؛
القيمة الافتراضية:false - enableالنوع: boolean | null
_xhr تفعيل XMLHttpRequest على الصفحة
حقل اختياري
اضبطه علىtrueإذا أردت أن يطلب الزاحف لدينا بيانات من خادم ويب باستخدام كائن XMLHttpRequest
القيمة الافتراضية:false؛إذا استخدمت هذا الحقل، فيجب ضبطenable_javascriptعلىtrue؛ - forceالنوع: boolean | null
_sitewide _checks تفعيل الفحوصات على مستوى الموقع عند الزحف إلى صفحة واحدة
حقل اختياري
اضبطه علىtrueللحصول على بيانات حول الفحوصات على مستوى الموقع عند الزحف إلى صفحة واحدة؛
القيمة الافتراضية:false - loadالنوع: boolean | null
_resources - maxالنوع: integer | null
_crawl _depth عمق الزحف
حقل اختياري
عمق الربط للصفحات المراد الزحف إليها؛
على سبيل المثال، الصفحة البدائية للزحف هي المستوى 0، والصفحات التي تحتوي على روابط من تلك الصفحة هي المستوى 1، وهكذا. - maxالنوع: integer
_crawl _pages حد الصفحات المزحوفة
حقل مطلوب
عدد الصفحات المراد الزحف إليها على النطاق المحدد
ملاحظة:
إذا ضبطتmax_crawl_pagesعلى 1 ولم تحددstart_urlأو ضبطته على صفحة رئيسية، فسيتم تعطيل الفحوصات التالية على مستوى الموقع:test_canonicalization،enable_www_redirect_check،test_hidden_server_signature،test_page_not_found،test_directory_browsing،test_https_redirect
لتفعيلها رغم ذلك، اضبطforce_sitewide_checksعلىtrueإذا ضبطتmax_crawl_pagesعلى 1 وحددتstart_urlغير الصفحة الرئيسية، فسيتم تعطيل جميع الفحوصات على مستوى الموقع؛
لتفعيلها رغم ذلك، اضبطforce_sitewide_checksعلىtrue - pingbackالنوع: string | null
_url عنوان URL لإشعار اكتمال المهمة
حقل اختياري
عند اكتمال المهمة، سنُشعرك عبر طلب GET يُرسل إلى عنوان URL الذي حددته
يمكنك استخدام السلسلة ‘$id’ كمتغيّر$idو‘$tag’ كمتغيّر$tagبترميز urlencoded. سنضبط القيم اللازمة قبل إرسال الطلب.
مثال:http://your-server.com/pingscript?id=$idhttp://your-server.com/pingscript?id=$id&tag=$tag
ملاحظة: تُرمَّز الأحرف الخاصة فيpingback_urlبترميز urlencoded;
منها أن الحرف#يُرمَّز إلى%23 - priorityالنوع: array string[] | null
_urls عناوين URL المراد الزحف إليها متجاوزةً قائمة الانتظار
حقل اختياري
ستُزحف عناوين URL المحددة في هذه المصفوفة أولًا، متجاوزةً قائمة انتظار الزحف؛
ملاحظة: يجب تحديد عنوان URL المطلق؛
يمكنك تحديد ما يصل إلى 20 عنوان URL؛
يجب أن تنتمي جميع عناوين URL في المصفوفة إلى نطاقtarget؛
ستُتجاهل النطاقات الفرعية إلا إذا كان المعاملallow_subdomainsمضبوطًا علىtrueمثال:"priority_urls": [<br>"https://dataforseo.com/apis/serp-api",<br>"https://dataforseo.com/contact"<br>] - respectالنوع: boolean | null
_sitemap احترام خريطة الموقع أثناء الزحف
حقل اختياري
اضبطه علىtrueإذا أردت اتباع ترتيب الصفحات المشار إليها في خريطة الموقع الأساسية أثناء الزحف؛
القيمة الافتراضية:false
ملاحظة: إذا ضُبط علىtrue، فستكون قيمةclick_depthفي استجابة API مساوية لـ0؛
سيُتجاهل الحقلmax_crawl_depthفي الطلب، ويمكنك تحديد عدد الصفحات المراد الزحف إليها باستخدام المعاملmax_crawl_pages - returnالنوع: boolean | null
_despite _timeout إعادة بيانات الصفحات رغم خطأ المهلة
حقل اختياري
إذا كانت القيمةtrue، فستُقدَّم البيانات عن الصفحات التي فشل تحميلها خلال 120 ثانية واستجابت بخطأ مهلة؛
القيمة الافتراضية:false - robotsالنوع: string | null
_txt _merge _mode دمج إعدادات robots.txt أو تجاوزها
حقل اختياري
القيم الممكنة:merge،override؛
اضبطه علىoverrideإذا أردت تجاهل قيود الزحف إلى الموقع وإعدادات robots.txt الأخرى
القيمة الافتراضية:merge؛
ملاحظة: إذا ضُبط علىoverride، فحدد المعاملcustom_robots_txt - startالنوع: string | null
_url - storeالنوع: boolean | null
_raw _html - supportالنوع: boolean | null
_cookies دعم ملفات تعريف الارتباط في الصفحات المزحوفة
حقل اختياري
اضبطه علىtrueلدعم ملفات تعريف الارتباط عند الزحف إلى الصفحات
القيمة الافتراضية:false - switchالنوع: boolean | null
_pool التبديل بين مجموعات البروكسي
حقل اختياري
إذا كانت القيمةtrue، فستُستخدم مجموعات بروكسي إضافية للحصول على البيانات المطلوبة؛
يمكن استخدام المعامل إذا تم تعيين عدد كبير من المهام في الوقت نفسه، ما يؤدي إلى أخطاءrate-limitو/أوsite_unreachableمتفرقة - tagالنوع: string | null
معرّف مهمة يحدده المستخدم
حقل اختياري
الحد الأقصى للأحرف هو 255
يمكنك استخدام هذا المعامل لتمييز المهمة ومطابقتها مع النتيجة
ستجد قيمةtagالمحددة في كائنdataضمن الاستجابة - targetالنوع: string
النطاق المستهدف
حقل مطلوب
يجب تحديد اسم النطاق دونhttps://وwww.
إذا حددت عنوان URL للصفحة، فستُعاد النتائج للنطاق المضمّن في عنوان URL - validateالنوع: boolean | null
_micromarkup
- النوع: object | null · Response36Afe1097B20_OnPageTaskPostResponseInfo200
- النوع: number | null التنسيق: doublecost
إجمالي تكلفة المهام، بالدولار الأمريكي
- النوع: integer | nullstatus
_code رمز الحالة العام يمكنك العثور على القائمة الكاملة لرموز الاستجابة هنا
- النوع: string | nullstatus
_message رسالة معلوماتية عامة يمكنك العثور على القائمة الكاملة للرسائل المعلوماتية العامة هنا
- النوع: array (object | null)[] | nulltasks
مصفوفة المهام
- النوع: object | null · Response36Afe1097B20_OnPageTaskPostTaskInfo
- costالنوع: number | null التنسيق: double
إجمالي تكلفة المهام، بالدولار الأمريكي
- dataالنوع: object | null
يحتوي على المعاملات نفسها التي حددتها في طلب POST
- propertyالنوع: object | null
Name
- idالنوع: string | null
معرّف المهمة معرّف مهمة فريد في نظامنا بصيغة UUID
- pathالنوع: array (string | null)[] | null
مسار URL
- resultالنوع: object | null
مصفوفة نتائج
في هذه الحالة، ستكون القيمةnull - resultالنوع: integer | null التنسيق: int64
_count عدد العناصر في مصفوفة result
- statusالنوع: integer | null
_code رمز حالة المهمة ينشئه DataForSEO ويمكن أن يقع ضمن النطاق التالي: 10000-60000 يمكنك العثور على القائمة الكاملة لرموز الاستجابة هنا
- statusالنوع: string | null
_message الرسالة المعلوماتية للمهمة يمكنك العثور على القائمة الكاملة للرسائل المعلوماتية العامة هنا
- timeالنوع: string | null
وقت التنفيذ، بالثواني
- النوع: integer | null التنسيق: int64tasks
_count عدد المهام في مصفوفة tasks
- النوع: integer | null التنسيق: int64tasks
_error عدد المهام في مصفوفة tasks التي أُعيدت مع خطأ
- النوع: string | nulltime
إجمالي وقت التنفيذ، بالثواني
- النوع: string | nullversion
الإصدار الحالي من API
application/json - 400
تعذّرت معالجة الطلب. تحقق من معاملات الطلب.
- 401
مطلوب مفتاح API صالح من Felo.
- 402
لا يمكن متابعة الطلب لأن أحد متطلبات الفوترة غير مستوفٍ.
- 403
الحساب غير مصرّح له بهذه العملية.
- 429
تم بلوغ حد الطلبات أو حد الإنفاق.
- 502
تعذّر على الخدمة إكمال الطلب.
- 503
خدمة API أو الفوترة غير متاحة مؤقتًا.
- 504
انتهت مهلة الخدمة أثناء معالجة الطلب.
- default
استجابة خطأ؛ قد تستخدم استجابات المنبع الممرَّرة تنسيقات المزوّد
application/json
curl https://openapi.felo.ai/v1/beta/dataforseo/on_page/task_post \
--request POST \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
--data '[
{
"target": "dataforseo.com",
"max_crawl_pages": 10,
"load_resources": true,
"enable_javascript": true,
"custom_js": "meta = {}; meta.url = document.URL; meta;",
"tag": "some_string_123",
"pingback_url": "https://your-server.com/pingscript?id=$id&tag=$tag"
}
]'
{
"version": null,
"status_code": null,
"status_message": null,
"time": null,
"cost": null,
"tasks_count": null,
"tasks_error": null,
"tasks": [
{
"id": null,
"status_code": null,
"status_message": null,
"time": null,
"cost": null,
"result_count": null,
"path": [
null
],
"data": null,
"result": null
}
]
}