النتائج 1 إلى 8 من 8

الموضوع: عقد الصلح بين تقنية الـAjax و محركات البحث

  1. #1
    عضو جديد
    تاريخ التسجيل
    Oct 2007
    المشاركات
    3

    عقد الصلح بين تقنية الـAjax و محركات البحث



    السلام عليكم ورحمة الله وبركاته

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

    احب ان ابدأ اول موضوعاتي هنا بتقديم شئ مما تعلمته وربما هو موضوع قديم مكرر ،لكن لعله يكون فائدة لمن لا يعرف وتذكيرا لمن لا يتقن هذا الجانب من تقنية الajax

    في الحقيقة موضوعي هو خلطة بين استخدام هذه التقنية Ajax ومفاهيم الـ Search Engine Optimization مما جعلني احتار بالمكان الأنسب لكتابة الموضوع، إلا أني عندما رأيت انني اتكلم عن مفاهيم اكثر مما اتكلم عن برمجة فقررت وضعه هنا ولكن إن رأى المشرفون ان الانسب نقله فسأتفهم ذلك.

    كما ذكرت سابقا، الموضوع صغير جدا وهو عبارة عن مفاهيم ولكن تنفيذ هذه المفاهيم قد ينقذ موقعك من البقاء مجهولا بسبب رغبتك في تقديم واجهة تفاعلية واسهل واجمل للزوار.

    طبعا، لا بد انكم تعرفون ان تقنية الـajax هي تقنية تستخدم لغة الjavascript لجعل الزائر يتنقل بين محتويات الموقع دون الاضطرار لإعادة التحميل الصفحة كاملة، ومفهوم هذه التقنية يعتمد على تبادل أجزاء صغيرة من البيانات مع مزود الويب بدل من تحميل صفحات كاملة (باستثتاءالمرة الأولى) واسمحوا لي ان اعرض موقعي الشخصي كمثال بسيط جدا عن هذه التقنية http://ayman.kwakeb.net واعذروني عن استخدام موقعي كمثال لكني رأيت ان البساطة في استخدام هذه التقنية قد تكون اوضح لإيصال مفهوم هذه التقنية

    الآن إحدى اسوأ سلبيات هذه التقنية ان روابط موقعك ستكون عبارة عن استدعاء دوال javascript عندما تقوم بالضغط على رابط ما، لكن المشكلة تكمن في أن محركات البحث عندما تطلق الbots لفهرسة الموقع وروابطه الداخلية فلن تستطيع فهم هذه الروابط ولن تحاول فهرستها البتة ، ولكن بما أن هذه الروابط الداخلية تشكل سببا لإظهار موقعك خصوصا إن كانت هذه الروابط تحوي محتوى مميز فلا يمكنك الاستغناء عن هذه الروابط، فكيف يمكن التغلب على هذه المشكلة؟

    الفكرة ان تقوم بعرض نوع آخر من الصفحات لمحركات البحث غير تلك التي تعرضها عندما يتصفحك الزوار عادة، هذه الصفحة يجب ان تحتوي روابط عادية وليست javascript

    الخطوة الأولى: قم بإنشاء صفحة فيها جميع الروابط في موقعك ولتكن هذه الروابط على شكلها العادي وليس على شكل دوال javascript ، ودائما تأكد من ان عدد الروابط في هذه الصفحة قليل لايتجاوز المئة رابط وان هذه الصفحة لايتجاوز حجمها المئة كيلوبايت ، وإن اضطررت قم بتقسيم هذه الروابط إلى صفحتين ، لأنه كلما زادت عدد الروابط في صفحة ما فإن قيمة هذه الصفحة تقل في نظر محركات البحث ، وتأكد ان هذه الروابط لها وصف جيد جدا، فالفهرسة تتم دوما بناءا على وصف الرابط وعلى عنوان الصفحات الداخلية ، ومحركات البحث عادة تبحث اولا في عنوان الصفحة والرابط المؤدي إليها قبل ان تبحث في محتوى هذه الصفحة

    الخطوة الثانية: الآن علينا إنشاء صفحة البداية بحيث تعرض محتوى مختلف لمحركات البحث ، الطريقة الأبسط هو ان تقوم بإعادة توجيه محرك البحث إلى صفحة الروابط التي قمت بإنشاءها بالخطوة السابقة، ومثال على هذه الخطوة إنشاء سكربت php يقوم بالتأكد من هوية الزائر قبل عرض الصفحة
    مثال

    كود:
    <?if(eregi("googlebot",$HTTP_USER_AGENT))
    {
    Header( "HTTP/1.1 301 Moved Permanently" );
    Header( "Location: http://www.domain.com/crawlpage.html" ); 
    }
    else
    {
    Header( "Location: http://www.domain.com/index" ); 
    }
    ?>
    على افتراض ان صفحة الروابط هي crawlpage.html وبهذه الطريقة سيتوجه محرك البحث مباشرة إلى هذه الصفحة وسيستطيع قراءة هذه الروابط وبالتالي فإن صفحاتك الداخلية لن تكون "مخفية" عن أعين مستخدمي محركات البحث ولن تذهب تلك المقالات التي كتبتها في مدونتك هباء

    هذه طريقة مبسطة لحل إحدى سلبيات تقنية الajax وربما هذه هي اكبر تلك السلبيات، ولعلني أكتب في موضوعي القادم طريقة أخرى لحل مشكلة إضافة صفحة داخلية إلى مفضلة المتصفح أو تخزين عنوان صحيح في ذاكرة المتصفح (الـ history) بحيث يصل الزائر إلى الصفحة الصحيحة عندما يضغط زر العودة Back

    طبعا قمت بعرض الموضوع على شكل إيضاح مفهوم وليس على شكل طريقة تنفيذ المفهوم، اعرف ان الموضوع سيكون واضحا لجميع المتقدمين في هذا المنتدى ولكن إن احتاج احد ما إلى إيضاح نقطة معينة فسأكون سعيدا بتقديم مزيد من الإيضاحات..

    تحياتي وعذرا على الإطالة
    أيمن نجار








  2. #2
    عضو نشيط جدا
    تاريخ التسجيل
    Aug 2007
    المشاركات
    320


    صحيح .. موضوع جميل ..

    لذلك حتى بدون استخدام الاجاكس .. غالباً يجب الفصل بين محتوى المحركات ومحتوى الزوار .. فمثلاً لقراءتي لشفرة منتديات phpbb3 الاحظ ان الصور و مباهج الستايل لاتعرض للمحرك .. أيضاً امكانية الدخول لاشياء لا يدخلها الزوار .. !! ..

    هذا كود قمت بعمله سريعاً .. يمكن من خلاله الفصل بين المحتويين ..

    كود:
    <?
     //by saanina
     function botsORnot () {
      if (strstr($_SERVER['HTTP_USER_AGENT'], 'Googlebot')) {//googlebot
      return true;
      }
      elseif (strstr($_SERVER['HTTP_USER_AGENT'], 'Yahoo! Slurp')) { // yahoo bot 
      return true;
      }
     // elseif (strstr($_SERVER['HTTP_USER_AGENT'] , 'example bot')) { // any other bots
     // return true;
     // }
      else
      {
      return false;
      } 
     }
     
     $ajx_url = ( !botsORnot() ) ?  "http://ajax.com/ajax...." : "http://forbots.com/bots";
     
     echo $ajx_url;
    ?>
    شاكر لموضوعك مره اخرى ..





    __________________
    إلى اللقاء سوالف , وآسف على الإزعاج...
    moffed.com , kleeja.com/tour/ar ,phpbbarabia.com

  3. #3


    جميل جدا

    لكن المشكلة انها قد تكون تقنية الاجاكس داخلة في اشياء بسيطة في الموقع وليس لها رابط منفرد في الاصل






  4. #4
    عضو سوبر نشيط
    تاريخ التسجيل
    Sep 2005
    المشاركات
    940


    شكراً لك أخي ولكن يمكن تبنّي طريقة أفضل من طريقتك بكثير ...

    وهي أن نبني سكربت الموقع على أساس أنه يستطيع تقديم المحتوى بشكل صفحة جزئية لاستعمالها في AJAX أو بشكل صفحة كاملة لاستعمالها بالشكل المعتاد .. وللحصول على الصفحتين يكون لدينا نوعين من الروابط ..

    للحصول على الصفحة بشكهل العادي

    mypage.php


    للحصول على المحتوى الجزئي لاستعماله في الأجاكس

    mypage.php?ajax=1

    ونبني روابط موقعنا بالشكل التالي:

    كود HTML:
    <a href="mypage.php" onclick="get_page('mypage.php?ajax=1'); return false;">Anchor text</a>
    الآن محركات البحث سوف تمشي في الموقع بشكل طبيعي جداً .. بالإضافة إلى المتصفحات التي لا تقبل الجافاسكربت

    أما المتصفحات الّتي تقبل الجافاسكربت فإنها ستقوم باستخدام الدالة الافتراضية get_page لجلب المحتوى الجزئي .. وإضافته ضمن الصفحة الحالية .. أما الأمر return false; فهو سوف يمنع المتصفح من الانتقال إلى الرابط الموجود في href وهذا هو أفضل حل خطر في بالي .. وبالطبع أفضل من حلك ..

    كل الشكر والاحترام لك






  5. #5
    عضو فعال
    تاريخ التسجيل
    Nov 2005
    المشاركات
    1,283


    وعليكم السلام ورحمة الله وبركاته,,

    أفضل طريقة لتحصل على صداقة جميع محرك البحث هى انك تعمل إمكانية فتح/غلق الأجاكس بالموقع ويكون مغلق إفتراضياً ..
    فهذا بيحل مشكلتين الأولى وهى الأهم وهى صداقة محركات البحث بدون إستثناء والثانية هى غلقها لمن يواجه مشكلة فى متصفحه تجاه الأجاكس ...

    وبشكل عام الأجاكس يفضل إستخدام بشكل غير كبير ... يعنى يفضل إستخدامه فى مهام محددة وليس كل شئ ..





    __________________
    سبحان الله وبحمده ... سبحان الله العظيم.
    إقرأ .. لتتعلم
    [AJAX] سكربت إتصل بنا (ديف كونتاكت) النسخة 2.3.2
    للتواصل ..

  6. #6
    عضو جديد
    تاريخ التسجيل
    Oct 2007
    المشاركات
    3


    صحيح .. موضوع جميل ..
    لذلك حتى بدون استخدام الاجاكس .. غالباً يجب الفصل بين محتوى المحركات ومحتوى الزوار .. فمثلاً لقراءتي لشفرة منتديات phpbb3 الاحظ ان الصور و مباهج الستايل لاتعرض للمحرك .. أيضاً امكانية الدخول لاشياء لا يدخلها الزوار .. !! ..

    هذا كود قمت بعمله سريعاً .. يمكن من خلاله الفصل بين المحتويين ..
    ...
    [/code]شاكر لموضوعك مره اخرى ..
    بالفعل دالة جميلة وفكرة صحيحة ، فلن يحتاج محرك البحث إلى هذه الزخارف التي لا تعني له شيئا ، اؤيدك 100%

    الأخ Milad، طريقتك صحيحة و هي اسلوب جميل بالفعل للتسهيل من المهمة ، لكن بنظري تبقى الطريقة الأولى افضل لمحركات البحث ، حيث يمكنك التحكم بشكل مرن جدا بالروابط التي تريد لمحرك البحث رؤيتها .. أي انك عندما تنشأ صفحة /crawlpage/ (والتي تترجم إلى articlesindex.php باستخدام mod_rewrite مثلا) يمكن لهذه الصفحة ان تحتوي على خريطة لمقالات الموقع بشكل لا يتجاوز ال100 رابط في الصفحة الواحدة وبشكل خالي من الزخرفة والتي تزيد من حجم الصفحة، وحسب معلوماتي فإن محركات البحث عادة ماتتجاهل الصفحات التي يتجاوز حجمها عن الـ100 كيلوبايت (هذا بالنسبة لمحرك google ولا اعلم عن البقية، لربما اقل او اكثر)


    الاخوين 7alan.com ، Developer.
    اتفق معكما بالرأي القائل بضرورة التحديد من استخدام هذه التقنية في الامور الصغيرة التي تحتاج فعلا إلى تفاعل من الموقع ولكني ارى ان هذه التقنية بدأت تنتشر انتشارا متسارعا وإني لأتوقع ان تصبح أمرا متعارفا عليه في جميع روابط المواقع - وهذا لا يعني بالضرورة انه امر صحيح - ولكن يوجد دوما من المصممين من يهمهم تقديم موقع تفاعلي ذو واجهة غنية سهلة الاستعمال.. وهؤلاء الفئة من المصممين عليهم دوما الاحتراس من الوقوع في خطأ إبقاء موقعهم مخفيا عن اعين محركات البحث واتباع الاساليب التي تم ذكرها في الموضوع والردود السابقة لتجنب هذا الخطأ.

    هذا والله اعلم

    تحياتي
    ايمن نجار






  7. #7
    عضو سوبر نشيط
    تاريخ التسجيل
    Sep 2005
    المشاركات
    940


    عزيزي هناك أمر غائب عنك .. وهو أن جووجل لا يقبل أن تضع له شيء يختلف عن الأعضاء وهذا يسمى Clocking (ابحث عنه) وهو غير مقبول من جووجل ويعاقب الموقع عليه ..

    وعادةً يقوم بزيارة الموقع كزائر عادي .. ولا يرسل كلمة googlebot في user-agent فإذا وجد اختلافاً بين ما يقدمه الموقع للزائر العادي وبين ما يقدمه لجووجل فإنه يقوم بمعاقبة الموقع ...

    طريقتك تصلح فقط إذا قمت بإعطاء محتوى لا يحوي على أجاكس لكل الزوار بما فيهم جووجل .. وتفعيل الأجاكس للأعضاء فقط ..

    وطبعاً طريقتي تُغني عن كل هذا .. لأنها تخدّم كل التقنيّات ...

    بالتوفيق ولا تنسَ أن تبحث عن Clocking






  8. #8
    عضو جديد
    تاريخ التسجيل
    Oct 2007
    المشاركات
    3


    اخي كلامك صحيح ومنطقي جدا، الـcloaking (وليس الclocking) يؤدي إلى حجب صفحة من الفهرسة عند محركات البحث، فعلا غابت هذه النقطة عن خاطري ولعل طريقتك افضل من هذا الجانب بالفعل :nice: ،لكن عليك ان تعلم ان اسلوب كشف الcloaking لا يعتمد مثلا على مقارنة المحتوى النصي بحرف حرف (وهي عملية مكلفة جدا - cpu, memory, الخ) ولا تعتمد ايضا على مقارنة حجم الصفحة (لأنه حجم الصفحة يختلف على حرف واحد، واي موقع ديناميكي قد يقدم محتوى مختلف من زائر لزائر او حتى من ثانية لثانية)، محركات البحث (عدد قليل منها) يستخدم خوارزميات صغيرة وسريعة لكشف الcloaking لأن الbot في نهاية المطاف عليه ان يفهرس عدد كبير من الروابط في زمن صغير وبأقل استهلاك ممكن للمصادر. لذلك لا تكون فائق الحذر في تقديم محتوى متطابق بين ذلك الذي تعرضه وصدقني لن تتعرض لل"عقاب" لكن كن دوما حذر من ناحية الفرق في عدد الروابط بين الصفحتين . وبشكل عام طريقة الاخ Milad ممتازة وعملية جدا

    وعموما توجد اساليب كثيرة لإخفاء الـ cloaking، ومنها الIP-based cloaking، وكشف الـbot باستخدام الـhttp headers ، مثلا الـHTTP_REFERER ، لكن لا تصر على استخدام هذه الاساليب لان محركات البحث تقوم دوما بالبحث عن افضل طريقة لإخفاء هيئة الـbots عند زيارة صفحة ما

    تحياتي
    ايمن نجار










ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض