به موتورهاى جستجوگر نه بگوييد!(قسمت اول)
نام نویسنده: مهدى رودکى
iranseo.com – تمام سعى ما براين است که صفحات بيشترى از سايت خود را به بايگانى موتورهاى جستجوگر وارد کنيم. در اين راه هر بار که متوجه ورود صفحه ديگرى از سايت به بايگانى يک موتور جستجوگر مى شويم، هيجان زده احتمالا از خوشحالى فرياد مى زنيم! (من که اين گونه هستم، شما را نمى دانم!).
اما اين تنها روى اول سکه است. روى ديگر سکه اين است که گاهى دوست نداريم موتورهاى جستجوگر بعضى از صفحات يک سايت را بخواند و سعى مى کنيم آنها را از دسترسى به محتواى بعضى از صفحات دور نگه داريم. مثلا مى توانيد صفحات زير ساخت سايت خود را از دسترسى موتورهاى جستجوگر دور نگه داريد.
دو پروتكل عمده براى منع كردن موتورهاى جستجوگر از بايگانى منابع وب وجود دارد:
• پروتكل robots
• پروتكل robots meta tag
بيشتر موتورهاى جستجوگر تمايل به پشتيبانى آنها را دارند اما هيچ كدام مجبور به رعايت آنها نيستند. در واقع پروتكل هاى ياد شده فقط مواردى را به موتورهاى جستجوگر توصيه مى كنند و رعايت و يا عدم رعايت اين توصيه ها به موتورهاى جستجوگر بستگى دارد. بحث مودب يا بى ادب بودن يک موتور جستجوگر هم با توجه به اين مطلب مطرح شده است. در اين مقاله اولين پروتکل از دو پروتکل نام برده شده، معرفى مى شود.
پروتكل robots
مى توان با يک فايل متنى و بسيار ساده، ميزان دسترسى موتورهاى جستجوگر به محتواى سايت را کنترل کرد.
اين فايل robots.txt نام دارد و پروتکل حاکم بر آن پروتکل robots نام ارد. موتور جستجوگر قبل از آنکه وارد سايتى شود، ابتدا فايل ياد شده را درخواست مى کند و تمام محدوديت هاى پيش روى خود در آن سايت را مى خواند. نبود اين فايل در يک سايت به معناى نبودن هيچ گونه محدوديتى براى تمام اسپايدرها است (حالت پيش فرض). موتور جستجوگر بعد از آنکه تمام فايل ها و مسيرهاى ممنوع را دانست. شروع به خواندن مطالب سايت مى کند و البته به محدوديت هاى موجود نيز احترام مى گذارد (اگر يک اسپايدر مودب باشد!).
عده اى از آنها به طور کامل و صد در صد به محتواى اين فايل وفادار نيستند. مثال شکارچى را به ياد آوريد، آيا همه شکارچيان به تمام توصيه هاى زيست بانان عمل مى کنند؟
نوشتن robots.txt
پروتکل روبوتز تنها دو دستور دارد که به کمک آنها محدوديت هاى زير مشخص مى شوند:
• کدام اسپايدرها محدود شوند.
• کدام مسيرها محدود شوند.
user-agent
با اين دستور، روبوت ها مشخص مى شوند. روبوت (اسپايدر) هر موتور جستجوگر نام مشخصى دارد و براى محدود کردن موتورهاى جستجوگر کافى است که نام روبوت هاى مورد نظر را به همراه اين دستور به کار گيريم. اين دستور به صورت زير به کار مى رود:
user-agent: robot name
به عنوان مثال وقتى که روبوت مورد نظر مربوط به گوگل است خواهيم داشت:
user-agent:googlebot
و همين طور اگر روبوت NorthernLight مورد نظر باشد،آنگاه:
user-agent:Gulliver
با هر دستور user-agent: تنها مى توان يک روبوت را مشخص کرد.
disallow:
با اين دستور مسيرهاى ممنوع مشخص مى شوند که به صورت زير به کار مى رود:
disallow:/path/
و مثال هايى از آن به صورت زير مى باشند:
disallow:/sales/
disallow:/shopping_card/
با هر دستور disallow: تنها مى توان يک مسير را مشخص کرد و کابرد آن به صورت زير اشتباه است:
disallow:/sales/,/shopping/
براى محدود کردن هر روبوت ابتدا آنرا مشخص کرده و سپس تمام مسيرهاى محدود شده براى آنرا ذکر مى کنيم:
user-agent: googlebot
disallow:/test/
disallow:/sales/
در مثال زير روبوت موتور جستجوگر آلتاويستا از دسترسى به فولدرهاى 1 ، 2 و 33 ممنوع شده است:
user-agent: scooter
diallow:/1/
disallow:/2/
disallow:/33/
و با دستور زير همه روبوت ها مى توانند محتواى تمام مسيرها را بخوانند:
user-agent:*
disallow:
کاربرد * به همراه user-agent به معناى تمام روبوت ها است. در مثال زير به تمام روبوت ها گفته مى شود که خوش آمديد، اينجا خبرى نيست، لطفا دور شويد (با زبان خوش!).
user-agent:*
disallow:/
کاربرد / به همراه disallow به معناى تمام مسيرها است. همچنين براى نوشتن توضيحات در فايل robots.txt از # به صورت زير استفاده مى شود:
# all robots are allowed
user-agent:*
disallow:
چند مورد از اشتباهات رايج:
User-agent:*
Disallow: slurp
جلوى disallow نمى توان نام روبوت را قرار داد. و يا
User-agent:spot
Disallow: /sara/
Allow: /dara/
فقط disallow داريم و از allow در اين پروتكل خبرى نيست!
و همچنين کاربرد * و / به جاى يکديگر که بسيار هم رايج است:
User-agent:/
Disallow:*
Useragent:slurp
Disallow:*
كاربرد توضيحات به صورت زير اشكالى ندارد اما توصيه مى شود توضيحات را در خطوط جداگانه قرار دهيد:
Disallow: /cgi-bin/ #comments
شما اگر گاليور بوديد و قصد سفر به سايت آدم كوچولوها را داشتيد با ديدن دستورات زير در سايت آنها، چه مى كرديد؟
User-agent:*
Disallow:/
User-agent:Gulliver
Disallow:
. فايل robots.txt را کجا بايد قرار داد؟
cyclosporine eye drops buy cyclomune online