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