هل تفوّت صورك فرصة الظهور في البحث؟
أداة تفتح رابط صفحتك وتفحص كل صورة فيها بصريًا فعليًا، لا قراءة الكود فقط، فتكتشف الصور بلا نص alt من الأساس، والأخطر منها صورًا بنص alt موجود لكنه عام غير وصفي مثل «صورة» أو اسم الملف نفسه، وهو خلل لا تكتشفه أدوات تقرأ الكود وحده دون فهم محتوى الصورة الفعلي.
شغّلها أونلاين
شغّل هذه المهمة على خوادمنا باستخدام حسابك. الأدوات المجانية تعمل داخل متصفحك، أما هذه فتُخصم من رصيدك في KIT حسب السعر الموضّح أعلاه.
نص alt موجود لا يعني نصًا مفيدًا
كثير من فحوص السيو تكتفي بالتحقق من وجود وسم alt أصلًا دون قراءة محتواه فعليًا، فتمر صورة بنص alt يساوي اسم ملفها الأصلي مثل IMG_4821.jpg دون تنبيه، رغم أنه نص عديم الفائدة تمامًا لمحرك البحث ولقارئ الشاشة الذي يعتمد عليه الزائر ضعيف البصر. تفتح هذه الأداة الصورة فعليًا بنموذج رؤية بصرية وتقارن ما تراه بالنص الموجود، فتكشف هذا النوع من الخلل الذي يفوته الفحص السطحي للكود وحده.
الصورة المزخرفة لا تحتاج نصًا وصفيًا
ليست كل صورة تحتاج وصفًا تفصيليًا؛ صورة خط فاصل زخرفي بحت أو أيقونة تكرر نصًا مجاورًا لها بالفعل يكفيها نص alt فارغ تمامًا ليتخطاها قارئ الشاشة بسرعة دون إبطاء تجربة المستخدم ضعيف البصر بلا داعٍ. تميّز الأداة بين هذا النوع من الصور الزخرفية البحتة والصور المحتوى الفعلي التي تحتاج وصفًا حقيقيًا، فلا تنبّه خطأً على صورة زخرفية بحاجة إلى وصف لا تستحقه فعليًا.
أداة تجريبية ما زالت قيد التحسين
هذه القدرة في مرحلة تجريبية حاليًا: تفحص الصور بنموذج رؤية بصرية وتقترح نصًا وصفيًا مناسبًا، لكن دقة الاقتراح على صور معقدة أو نصوص عربية داخل الصورة نفسها ما زالت قيد التحسين المستمر، فراجع النص المقترح قبل اعتماده مباشرة على صفحة مهمة، خصوصًا حين تتضمن الصورة تفصيلًا دقيقًا كرقم أو اسمًا يجب أن يظهر بدقة تامة في الوصف.
السعر والتنفيذ عبر الويب أو الـAPI
السعر $0.066 لكل رابط تُفحص صوره بالإضافة إلى $0.0585 لكل صورة داخل الصفحة، فصفحة بعشر صور تكلّف $0.651 تقريبًا. التنفيذ من هذه الصفحة مباشرة بإدخال الرابط، أو عبر الـAPI لفحص دفعة صفحات المتجر دفعة واحدة قبل حملة إعلانية تعتمد على ظهور جيد في بحث الصور تحديدًا.
حالات الاستخدام
متجر يفحص صور منتجاته قبل حملة
تفحص شركة الخليج الرقمية صور صفحات منتجاتها بصريًا قبل حملة إعلانية، فتكتشف عشرات الصور بنص alt يساوي اسم الملف فقط.
موقع خدمي يراعي زوارًا ضعاف البصر
يفحص عبدالله المنصوري صور موقعه الخدمي للتأكد أن كل صورة محتوى فعلي لها نص وصفي حقيقي يخدم زائرًا يعتمد على قارئ الشاشة.
مدونة سفر تراجع صور مقال طويل
تفحص نورة القحطاني صور مقال سفر طويل يحتوي عشرات الصور، فتضيف نصًا وصفيًا لكل صورة كانت بلا نص alt من الأساس.
الأسئلة الشائعة
هل تفحص الأداة محتوى الصورة فعليًا أم الكود فقط؟
تفحص الصورة فعليًا بنموذج رؤية بصرية، لا الكود وحده، فتكتشف نصًا موجودًا لكنه غير وصفي فعليًا.
لماذا هذه القدرة تجريبية؟
دقة الاقتراح على صور معقدة أو نصوص داخل الصورة نفسها ما زالت قيد التحسين؛ يُنصح بمراجعة النص المقترح قبل اعتماده.
هل تحتاج كل صورة نصًا وصفيًا حتى الزخرفية منها؟
لا، الصور الزخرفية البحتة تكفيها وسم فارغ؛ تميّز الأداة بين النوعين ولا تنبّه خطأً على الصور الزخرفية.
كم يكلّف فحص صفحة بعشرين صورة؟
$0.066 للرابط بالإضافة إلى $0.0585 لكل صورة، فصفحة بعشرين صورة تكلّف نحو $1.236 إجمالًا.
ماذا يحدث لصور صفحتي بعد الفحص؟
تُعالج الصور لتنفيذ الفحص فقط ثم تُحذف من خوادمنا بعد تسليم النتيجة.
هل تضيف الأداة النص الوصفي المقترح مباشرة إلى موقعي؟
لا، تقترح النص فقط ضمن التقرير؛ لصقه داخل كود الصفحة يبقى بيدك.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/seo/alt-text-audit \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://ejemplo.com"}'const res = await fetch("https://api.kit.forhosting.com/seo/alt-text-audit", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"url": "https://ejemplo.com"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/seo/alt-text-audit",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"url": "https://ejemplo.com"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/seo/alt-text-audit", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"url":"https://ejemplo.com"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"url":"https://ejemplo.com"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/seo/alt-text-audit", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"url": "https://ejemplo.com"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "seo.alt_text_audit",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
422 | task_failed | لم تنجح معالجة المهمة، ولن تُحتسب عليك؛ أعد المحاولة أو راسلنا مباشرة. |