با استفاده از تکنیک هایی که تاکنون مطرح شده است تمام سعی ما براین بود که هر چه بیشتر از صفحات سایت خود را به بایگانی موتورهای جستجوگر وارد کنیم. در این راه هر بار که متوجه ورود صفحه دیگری از سایت به بایگانی یک موتور جستجوگر می شدیم، هیجان زده احتمالا از خوشحالی فریاد می زدیم! (من که این گونه هستم، شما را نمی دانم!).
اما این تنها روی اول سکه است. روی دیگر سکه این است که گاهی دوست نداریم موتورهای جستجوگر بعضی از صفحات یک سایت را بخواند و سعی می کنیم آنها را از دسترسی به محتوای بعضی از صفحات دور نگه داریم. مثلا می توانید صفحات زیر ساخت سایت خود را از دسترسی موتورهای جستجوگر دور نگه دارید.
دو پروتکل عمده برای منع کردن موتورهای جستجوگر از بایگانی منابع وب وجود دارد:
• پروتکل 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/
در مثال زیر روبوت موتور جستجوگر آلتاویستا از دسترسی به فولدرهای ۱ ، ۲ و ۳۳ ممنوع شده است:
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: /Jacky/
Allow: /Jill/
فقط disallow داریم و از allow در این پروتکل خبری نیست!
کاربرد توضیحات به صورت زیر اشکالی ندارد اما توصیه می شود توضیحات را در خطوط جداگانه قرار دهید:
Disallow: /cgi-bin/ #comments
شما اگر گالیور بودید و قصد سفر به سایت آدم کوچولوها را داشتید با دیدن دستورات زیر چه می کردید؟
User-agent:*
Disallow:/
User-agent:Gulliver
Disallow:
فایل robots.txt را کجا باید قرار داد؟
از مثالهای زیر کمک گرفته و فایل را در محل مناسب آن قرار دهید.
http://www.iranseo.com/robots.txt
http://www.iranseo.com:6446/robots.txt
http://iranseo.com/robots.txt
و نکات دیگر:
• حتی اگر سایت شما هیچ گونه محدودیتی ندارد توصیه می شود که این فایل را بر روی سرور خود قرار دهید. در این صورت کافیست که به صورت زیر عمل کنید:
user-agent:*
diallow:
بودن این فایل به صورت ذکر شده و نبودن آن در هر دو صورت برای موتورهای جستجوگر یک معنا دارد:
آزادی در دسترسی به محتوای سایت
اما وجود robots.txt می تواند نشان از حرفه ای بودن سایت باشد و شاید در رتبه بندی سایت هم مورد لحاظ قرار گیرد.
آزادی در پرتو یک قانون بدون محدودیت بهتر است از آزادی ناشی از بی قانونی!
• همواره یک مسیر را ممنوع کنید و نه یک فایل را.
گیریم که شما فایل rtg.html را برای گوگل به صورت زیر محدود کرده باشید:
user-agent:googlebot
diallow:/project/html-resources/rtg.html
user-agent:*
disallow:
همانطور که می دانید تنها موتورهای جستجوگر فایل robots.txt را نمی خوانند و در واقع همه کاربران با خواندن این فایل می توانند بفهمند که شما چه فایلی را محدود کرده اید و به راحتی می توانند به آن مراجعه کنند. مثلا آدرس آن می تواند آدرس زیر باشد:
http://www.your-site-name.com/project/html-resources/rtg.html
در حالیکه اگر شما یک مسیر را محدود کرده باشید کاربران چون نام فایل های موجود در آن فولدر را نمی دانند، نمی توانند سر از کار شما در بیاورند (سخت تر می توانند). کمی بعد با علت این کار بیشتر آشنا می شوید.
• تمام مسیرهای درون این فایل را با حروف کوچک انگلیسی بنویسید. وب سرورهای نصب شده بر روی سیستم های عامل یونیکس به بزرگی و کوچکی حروف در URL حساس هستند.
• هر سایت تنها می تواند یک فایل robots.txt داشته باشد.
• بعد از آنکه فایل robots.txt را بر روی سرور سایت خود قرار دادید با بررسی Server Logs سایت خود می توانید بفهمید که آیا موتورهای جستجوگر به محدودیت هایی که تعریف کرده اید وفادار بوده اند یا خیر.
اگر یک موتور جستجوگر به محتوای آن توجه نکرده باشد، می توانید با آنها مکاتبه کرده و علت را جویا شوید و از آنها بخواهید که فایل های مسیر مورد نظر را از بایگانی خود حذف کنند.
• در ابتدا و انتهای تمام مسیرهای قرار گرفته در Disallow از / استقاده کنید.
آیا با این پروتکل می توان دسترسی به صفحه اصلی را هم محدود کرد؟
بعد از آنکه فایل روبوتز مربوط به سایت خود را نوشتید می توانید صحت آنرا بررسی کنید برای این کار عبارت robots validator را در گوگل جستجو کنید و سایت مناسبی را برای این کار برگزینید.
محتوای www.bbc.co.uk/robots.txt در زیر آورده شده است.
www.bbc.co.uk/robots.txt
User-agent: *
Disallow: /cgi-bin
Disallow: /cgi-perl
Disallow: /cgi-store
Disallow: /furniture
Disallow: /navigation
Disallow: /images
Disallow: /weather/broadband/
Disallow: /education/bitesize
Disallow: /education/dev
Disallow: /education/navigation
Disallow: /education/nav
Disallow: /education/ximages
Disallow: /education/images
Disallow: /worldservice/images/
Disallow: /worldservice/ssi/
Disallow: /films/gateways
Disallow: /worldservice/psims/
Disallow: /nav/
Disallow: /includes/
Disallow: /print/
Disallow: /eoltools/
Disallow: /paintingtheweather/zoom/
برای یافتن این فایل روی سایت های ایرانی، بررسی های زیادی انجام دادم اما متاسفانه سایتی که
این فایل را داشته باشد، نیافتم.
پروتکل robots meta tag
با استفاده از robots.txt توانستیم بعضی از مسیرهای سایت خود را برای همه و یا تنی چند از موتورهای جستجوگر محدود کنیم. می توان با استفاده از یکی از شناسه های HTML هم محدودیت هایی را برای یک صفحه تعریف کرد.
این شناسه میزان دسترسی به یک صفحه را معین می کند و به یکی از چهار صورت زیر به کار می رود:
<meta name=”robots” content=”index,follow”>
<meta name=”robots” content=”noindex,follow”>
<meta name=”robots” content=”index,nofollow”>
<meta name=”robots” content=”noindex,nofollow”>
Index
به معنای این است که موتور جستجوگر می تواند محتوای صفحه را بایگانی کند. آوردن no بر سر آن به معنای این است که موتور جستجوگر نمی تواند محتوای صفحه را بایگانی کند.
Follow
به این معناست که موتور جستجوگر می تواند لینک های موجود در صفحه را دنبال کند. آوردن no بر سر آن به این معنا است که موتور جستجوگر نباید لینک های صفحه را دنبال کند.
با استفاده از این شناسه محدودیت ها به تمام موتورهای جستجوگر اعمال می شود و نمی توان محدودیت های موردی اعمال کرد: همه یا هیچ کدام!
اگر در صفحه ای از این شناسه استفاده نشده باشد، به معنای index, follow است. یعنی محتوای صفحه خوانده شود و لینک های آن دنبال گردد (حالت پیش فرض).
می دانید هر یک از چهار ترکیب یاد شده برای چه صفحاتی مناسب می باشند؟
برخی از موتورهای جستجوگر نیز META robots مخصوص به خود دارند ( نظیر گوگل) که می توانید از آنها نیز استفاده کنید. برای اطلاع از چگونگی استفاده از آنها می توانید از Help همان موتور جستجوگر کمک بگیرید.
آیا می دانید کاربرد هر یک از چهار ترکیب یاد شده برای چه صفحاتی مناسب است؟