السلام عليكم
الكثير من الإشاعات انتشرت بين الناس بأن ملف الروبوت تكست (robots.txt) ليس بجيد وزعم البعض بأنهم قاموا بحذفه وبعدها انحلت مشكلة الأرشفة
ولهذا قلت سأشرح لكم ما هي تعليمات ملف robots.txt بالتفصيل مع الدليل والبرهان من غوغل والموقع الرسمي لـِ robots.txt حتى تفهموا هذا الملف بالكامل وتبتسموا من الخرافات المنتشرة فمشكلة البعض منا أنه لا يحاول فهم الأشياء ولهذا تتبادر هذه الأشياء السلبية إلى ذهنه
قبل أن أبدأ فقد شرحت بعضاً من هذه المقالة على اليوتيوب لزيادة الفائدة
نبدأ على بركة الله
User-agent: *
ترجمة هاتين الكلمتين إلى العربية هي وكيل المستخدم وسيأتي معناه
* النجمة وتعني كل أنواع الروبوتات أو العناكب أو الزواحف حيث قال غوغل عن هذه التعليمة يمكن لجميع وكلاء المستخدمين الآخرين الوصول إلى الموقع بأكمله. انتهى فالسؤال ماذا يقصد غوغل بجميع الوكلاء المستخدمين حتى نفهم؟
يقصد زاحف الإعلانات (Mediapartners-Google) وزاحف الأخبار (Googlebot-news) وزاحف الصور والقائمة تطول ولمعرفتها كلها انظر هذا الرابط من غوغل
https://support.google.com/webmasters/answer/1061943?hl=ar
ولهذا فالنجمة * بعد User-agent تعني زحف جميع الوكلاء يعني زحف روبوت الصور والإعلانات والفيديو ...إلخ إلى موقعك
والآن كيف تعطي أمر السماح أو عدم السماح لهذه الروبوتات أو العناكب بالزحف إلى موقعك؟
غوغل أعطت مثالاً وقالت
User-agent: *
Allow: /
* النجمة كما قلت سابقاً يعني كل أنواع الروبوتات أو العناكب أو الزواحف
/ :Allow يعني بالعربية مسموح لكل أنواع الروبوتات أو الزواحف أو عناكب الويب بالزحف إلى موقعك وانتبه للسلاش /
بينما لو كان الأمر
User-agent: *
Disallow: /
/ :Disallow بالعربية يعني غير مسموح وبالتالي لن يزحف أي نوع من أنواع العناكب أو الزواحف إلى موقعك وقال غوغل منع الزحف إلى موقع الويب بأكمله. انتهى وقال الموقع الرسمي لـِ robots.txt
The "Disallow: /" tells the robot that it should not visit any pages on the site.
الترجمة: ال / :Disallow تخبر الروبوت بأنه يجب أن لا يزور أية صفحة على الموقع. انتهى وهذا يعني أنه لن يزحف وبالتالي لن يؤرشف موقعك وطبعاً لكل قاعدة شواذ
مثال آخر لتفهموا أكثر
User-agent: Mediapartners-Google
Disallow: /
Mediapartners-Google يعني زاحف الإعلانات الخاص بأدسنس
/ :Disallow يعني غير مسموح لروبوتات الإعلانات فقط بالزحف إلى موقعك وأما باقي أنواع الروبوتات أو العناكب فستزحف إلى موقعك لأن الخيار الافتراضي التلقائي هو الزحف إلى موقعك إلا أن تمنعه أنت بأمر وهنا قد وضعنا الأمر بمنع روبوت واحد فقط من الزحف إلى موقعك وهو روبوت الإعلانات فقط
مثال آخر
User-agent: Mediapartners-Google
User-agent:: Googlebot-news
Disallow: /
Mediapartners-Google روبوت الإعلانات وGooglebot-news هو روبوت الأخبار
/ :Disallow معناه غير مسموح لروبوت الإعلانات والأخبار فقط من الزحف إلى موقعك أما باقي أنواع الروبوتات أو العناكب فمسموح لهم وسيزحفون إلى موقعك
طيب ماذا لو وضعنا هذا الأمر ودقق جيداً
User-agent: *
Disallow:
:Disallow هذا سيسمح بزحف غوغل إلى كامل موقعك! لماذا؟ لأنه ليس هناك سلاش /
ففي المثال فوق لو عدت إليه ستجده هكذا
Disallow: /
بينما هذا فالأمر هو
Disallow:
بمعنى أن هذا :Disallow مثل الأمر / :Allow
طيب ما هو دليلك يا عزالدين على هذا الكلام؟ قلت الجواب من الموقع الرسمي لـِ robots.txt حيث قال:
To allow all robots complete access
User-agent: *
Disallow:
الترجمة: يعني للسماح بكل الروبوتات أو الزواحف أو العناكب بالدخول الكامل يعني إلى موقعك فستضع هذه التعليمة
وأعلم أنه يخطر على بالكم أسئلة كثيرة منها ما هو الأمر بمنع أرشفة الأقسام والصفحات وسأجيب عليها كلها إن شاء الله
أما بالنسبة للأقسام يعني أنا موقعي فيه أقسام والأقسام بالإنكليزية هي labels مثلاً في موقعي الأقسام هي مدى صحة، والأسئلة، وبلوجر، والقرآن...إلخ فكيف أمنع غوغل من أرشفة هذه الأقسام مع البقاء على أرشفة المقالات
الجواب في بلوجر هو الأمر
User-agent: *
Disallow: /search
كيف ذلك؟ نحن لم نفهم ما قلته عزالدين وضح لنا
* النجمة كما قلت سابقاً يعني كل أنواع العناكب أو الروبوتات فهنا عندما تدخل إلى أي قسم ولنفرض دخلت إلى موقعي من ثم ضغطت على قسم الأسئلة فرابطه سيكون على الشكل الآتي:
https://ezzeddinisalm.blogspot.com/search/label/الأسئلة
بالإنكليزية القسم هو label لكن قبله ماذا؟ الجواب search/ بمعنى أنا بهذا الأمر قد حظرت عناكب البحث من الزحف إلى كل رابط يبدأ بـِ search/ ولهذا فكل الأقسام في موقعي
https://ezzeddinisalm.blogspot.com/search/label/القرآن
https://ezzeddinisalm.blogspot.com/search/label/العلم
إلخ من الأقسام فلن يزحف إليها غوغل ولن يؤرشفها
طيب ماذا لو كان الأمر هكذا
https://ezzeddinisalm.blogspot.com/search/test
الجواب أيضاً لن يزحف محرك البحث إليه لأنه يمر من خلال search
ماذا لو وضعت الأمر التالي لمنع الأقسام (labels) من الأرشفة
User-agent: *
Disallow: sarn/search/
الجواب هذا خاطئ وسيزحف غوغل لأنه يجب أن يكون search في الأول كما في المثال السابق، وهنا الأول هو sarn طيب لماذا؟
الجواب انظر إلى روابط الأقسام في موقعي أو في موقعك على بلوجر ودقق فيما بعد com
https://ezzeddinisalm.blogspot.com/search/label
فما هو أول شيء بعد com؟ الجواب search وليس sarn وأعتقد أنك فهمت الآن جيداً ما أقصده والدليل راجع الموقع الرسمي لـِ robots.txt
طيب ماذا لو أردنا مثلاً أن لا يزحف غوغل إلى قسم واحد بينما يزحف إلى باقي الأقسام ولنفترض هو قسم الأسئلة بينما باقي الأقسام يجب أن يزحف إليها غوغل؟
الجواب هو الأمر
User-agent: *
Disallow: /search/label/الأسئلة
قد يقول القائل في المثال السابق ألم تقل Disallow: /search سيمنع محرك البحث من الزحف إلى أي رابط من خلال search فأقول صح لكن انتبه هنا آخر شيء ليس (search) بل آخر شيء هو (الأسئلة) ولذلك كل رابط يمر من (الأسئلة) فقط لن يزحف إليه غوغل وإليك أمثلة
https://ezzeddinisalm.blogspot.com/search/label/العمل/الأسئلة
https://ezzeddinisalm.blogspot.com/search/label/الأسلوب/الأسئلة
https://ezzeddinisalm.blogspot.com/search/label/رياضية/الأسئلة
فلن يزحف غوغل إلى العمل والأسلوب والرياضية
بينما لو قلت
https://ezzeddinisalm.blogspot.com/search/label/القرآن
فهذا مسموح وسيزحف غوغل إلى القرآن
طيب ماذا عن الصفحات مثل سياسة الخصوصية واتصل بنا وسياسة الاستخدام ...إلخ؟
روابط الصفحات في بلوجر تبدأ بهكذا لكل الصفحات
https://ezzeddinisalm.blogspot.com/p
فلو وضعت هذا الأمر
User-agent: *
Disallow: /p
فهنا آخر شيء هو p وهو اختصار كلمة page بالإنكليزي أي صفحة ولذلك كل رابط يمر من p سيتم حظر عناكب أو زواحف غوغل من الزحف إلي هذه الروابط من خلال p وبالتالي غوغل لن يزحف إلى صفحات موقعك أما المقالات سيزحف إليها
طيب ماذا عن حظر صفحة واحدة فقط والسماح لباقي الصفحات أن يزحف غوغل إليها؟
الجواب تأخذ رابط الصفحة من p/ وإلى آخره وكمثال صفحة اتصل بنا التي في موقعي فرابطها هكذا
https://ezzeddinisalm.blogspot.com/p/cntact.html
وبالتالي سأنسخ منه p/cntact.html/ وأضع الأمر كالتالي
User-agent: *
Disallow: /p/cntact.html
طيب ماذا لو أردت حظر صفحتان فقط وكمثال صفحة اتصل بنا وسياسة الخصوصية والسماح بالباقي؟
الجواب مثل الأول لكن تضيف كل رابط لوحده هكذا
User-agent: *
Disallow: /p/cntact.html
Disallow: /p/blog-page_5.html
وبنفس الطريقة روابط الأقسام
إذا كيف نحظر الأقسام والصفحات من الأرشفة معاً؟
الجواب بالتعليمة التالية
User-agent: *
Disallow:
Disallow: /search
Disallow: /p
Allow: /
Sitemap: https://ezzeddinisalm.blogspot.com/sitemap.xml
لا تنسى تبديل رابط موقعي ووضع رابط الموقع الخاص بك
هنا غوغل عندما يزحف إلى موقعك سيرى النجمة * وبالتالي سترسل غوغل كل أنواع الزواحف أو العناكب أي الإعلانات والصور والفيديو...إلخ إلى موقعك فعندما يصلون إلى أرشفة الأقسام سيرون أمر Disallow: /search وبالتالي غوغل لن يؤرشفها وبعدها يكمل غوغل طريقه إلى الصفحات وسيرى أمر Disallow: /p وبالتالي لن يؤرشف الصفحات أيضاً أما المقالات فستتأرشف وبشكل نظامي فلا تخاف لأن هذه الأوامر ليس لها علاقة بالمقالات طيب لماذا؟
أريدك أن تفهم لترتاح وتعلم ما يدور حولك والجواب لأن روابط المقالات بعد com لا تبدأ ب search وp والآن أريدك ان تذهب إلى ملف robots.txt الخاص بك أو الذي ينشره اليوتيوبرية فهل ترى فيه هذا الأمر
User-agent: *
Disallow: /
لن تراه وهذا الأمر كما قلنا في بداية المقال يعني غوغل لن يؤرشف شيئاً من موقعك
بينما هذا
User-agent: *
Disallow:
هو العكس وسيؤرشف كل موقعك وهذا كلام الموقع الرسمي لـِ robots.txt كما ذكرت ذلك في بداية المقال وترجمت ما قالوه
أو تستطيع استخدام
User-agent: *
Disallow: /search
Disallow: /p
Allow: /
Sitemap: https://ezzeddinisalm.blogspot.com/sitemap.xml
لا تنسى تبديل رابط موقعي ووضع رابط الموقع الخاص بك
الفرق بينه وبين السابق أنني حذفت :Disallow وكلاهما سيعملان نفس الشيء طيب لماذا؟
هنا حظرت الأقسام والصفحات فقط وبالتالي الباقي ماذا؟ سيتأرشف لأن الخيار الافتراضي أي ما لم تحظره أنت فسيزحف غوغل إليه ويؤرشفه
هذا والله تعالى أعلم