هاست ایران میزبان فا
آموزش های وردپرس

آموزش ساخت فایل robots.txt برای وردپرس و بهینه سازی آن

ساخت robots.txt وردپرس و بهینه سازی robots txt میتونه به شما کمک کنه تا دسترسی لازم برای موتورهای جستجو را برای دایرکتوری یا همون پوشه‌های موجود در هاستتون تعیین کنید تا با اینکار اجازه اینکه موتورهای جستجو میتونند تا چه آدرس‌هایی را مورد بررسی قرار بدن و چه آدرس‌هایی رو نمیتونن بررسی کرده و در خودشون ایندکس کنند را تعیین کنید. مهم‌ترین خاصیتی که با ساخت robots.txt وردپرس میتونید به دست بیارید اینه که در واقع یک حریم خصوصی برای هاست خودتون تعیین می‌کنید تا به این وسیله موتورهای جستجو نتونن تا پوشه‌ای از هاست شما که شامل تصاویر خصوصی و فایل‌هایی که براتون جنبه خصوصی را دارند بررسی کنند. و اما برای ربات های جستجوگر هم این امر باعث میشه تا سایت‌هایی که دارای فایل robots.txt دارند را بهتر درک کرده و تو جاهایی که بهشون دسترسی داده نشده کمتر سرک بکشند. به همین خاطره که گاهی اوقات میبینیم که وقتی دنبال یک نتیجه از سایتی هستیم با پیغام به علت robots txt این سایت توضیحی برای این نتیجه در دسترس نیست مواجه میشیم.

پس تا اینجا متوجه شدید که فایل robots.txt وردپرس این وظیفه را داره تا دسترسی ربات‌های موتورهای جستجوگر همچون گوگل را به محتویات سایت شما کنترل کنه و به مسیرهایی از هاست که نمیخواین تا دسترسی داشته باشند دسترسی نداشته باشند. ربات‌های جستجوگر به محض ورود به سایتی ابتدا این فایل را بررسی می‌کنند تا ببینند به چه دایرکتوری‌هایی دسترسی دارند و بعد از اینکه وظیفه و مسیرشون مشخص شد شروع به بررسی کامل یک سایت می‌کنند.

ساخت robots.txt وردپرس و بهینه سازی robots.txt

برای ساخت فایل robots.txt وردپرس ابتدا وارد هاست خودتون بشید و بعد از ورود روی File Manager کلیک کنید تا به فایل منیجر هاست هدایت شده و بتونید فایل‌های موجود در هاست را کنترل کنید.

افزودن منو به قالب وردپرس

بعد از کلیک روی این دکمه به مسیر /public_html/ مراجعه کنید تا به مسیری که وردپرس در اون نصب هست برسید. اگر وردپرس روی دامنه اصلی شما نصب شده کافیه توی همین مسیر باشید اما اگر در پوشه جدایی اونو نصب کردید باید وارد همون پوشه از هاست خودتون بشید. حالا که به مسیر درست رسیدید با استفاده از برنامه notepad یا هر نرم‌افزار ویرایشگر متن که دارید یک فایل با نام robots.txt و همین فرمت بسازید و با کلیک روی دکمه آپلود در فایل منیجر هاست اونو به این مسیر اضافه کنید. یا اینکه با کلیک روی دکمه FILE+ کلیک کنید تا پنجره‌ای مشابه تصویر زیر براتون باز بشه و بعدش نام فایل را در فیلد New File Name با نام robots.txt وارد کنید و در نهایت روی دکمه Create New File کلیک کنید تا فایل شما ساخته شود.

آموزش ساخت robots.txt وردپرس

حالا که فایل را ایجاد کردید بر اساس توضیحاتی که در ادامه میدم میتونید تا با دستورات و قوانینی که این فایل داره دسترسی برای موتورهای جستجو توسط این فایل را به پوشه‌های مختلف از هاست خودتون کنترل کنید.

دقت کنید که فایل robots.txt وردپرس همونطور که گفتم شامل یک فایل متنی با فرمت txt. هستش که در اون نمیتونید از دستوراتی که در زبان‌هایی مثل HTML و CSS استفاده کنید. بلکه باید هر دستور را در یک سطر وارد کنید و اینکه در این فایل شما صرفا محدود به چند دستور ساده هستید که در ادامه به معرفی اونها خواهم پرداخت.

به طور کلی فایل robots.txt از دو دستور و قانون پیروی میکنه که عبارتند از:

  • User-agent: این دستور نشان دهنده اینه که میتونید تعیین کنید چه نوع رباتی قادر به دسترسی به دایرکتوری‌های تعیین شده در هاست شما خواهد بود. منظور از نوع ربات اینه که ربات کدوم سایت و یا موتور جستجو میتونه تا از این دستورات پیروی کنه
  • Disallow: این دستور هم نشون دهنده اینه که ربات اجازه ورود به چه مسیرهایی در هاست شما را نخواهد داشت.

بنابراین شما با استفاده از این دو دستور میتونید تا قوانین مختلفی را برای هریک از ربات‌های موتورهای جستجو و سایت‌ها تعیین کنید تا عدم دسترسی به دایرکتوری‌های گوناگون در هاست خودتون را تعیین کنید. اما برای استفاده از هر ربات ابتدا لازمه تا با لیست ربات‌هایی که تا به امروز ساخته شدند آشنا شوید. برای این کار میتونید با کلیک روی دکمه زیر کلیه ربات‌های اینترنتی که تا به امروز برای خزش سایت‌ها ساخته شدند دسترسی داشته باشید.

مشاهده کلیه ربات‌های اینترنتی

User-agent: با استفاده از این دستور میتونید تا یک قانون را برای همه ربات ها و یا یک ربات خاص تعیین کنید. به عنوان مثال اگر شما داخل هاستتون پوشه ای با نام mizbanfa دارید و میخواین که دسترسی به این پوشه برای کلیه ربات‌ها فراهم نباشه کافیه تا در سطر اول User-agent را وارد کرده و مقدار اون را روی کاراکتر * تعیین کنید و بعدش با دستور /disallow: /mizbanfa دسترسی به این پوشه را برای کل ربات‌ها غیرفعال کنید. در این صورت هر رباتی که وارد سایت شما بشه از این قانون تبعیت کرده و وارد پوشه mizbanfa در هاست شما نخواهد شد. پس به صورت کلی ساختاری که برای این حالت تعیین می‌کنید باید دستور زیر را در فایل robots.txt وارد کنید. برای این کار کافیه تا روی فایل robots.txt که در هاست شما قرار داره راست کلیک کرده و گزینه Edit را انتخاب کنید.

تعیین سطح دسترسی به ربات خاص با فایل robots.txt وردپرس

همه ما ممکنه تا گاهی به این نیاز پیدا کنیم تا تصویری را در هاست خودمون آپلود کنیم و در اختیار دیگران قرار بدیم که نمیخوایم این تصویر در دسترس عموم کاربران قرار بگیره و به عبارت دیگه دیگران وارد حریم خصوصی ما نشن، بنابراین برای اینکه این تصویر توسط موتورهای جستجو ایندکس نشه باید از طریق فایل robots.txt اقدام کنیم. خب حالا شاید بپرسید که برای اینکار باید از کجا شروع کیم.

خب همونطور که در سایت robotstxt.org دیدید ما یک لیست بزرگ از ربات‌های مختلف را داریم. گوگل هم بر همین اساس دارای ربات‌های گوناگونی هستش که هر کدوم از این ربات‌ها وظیفه بررسی و خزش محتوای خاصی از سایت‌ها را دارند. به عنوان مثال معروف‌ترین ربات گوگل که با نام Googlebot شناخته شده وظیفه بررسی و ایندکس صفحات را داره که بعد از ثبت سایت در گوگل کار خودش را برای سایت ما آغاز میکند. یا ربات Googlebot-image وظیفه بررسی و ایندکس تصاویر را داره که در این مثال ما باید از این بات برای غیرفعال کردن دسترسی این بات به تصویر خودمون استفاده کنیم.

بنابراین مشابه مثال قبل ابتدا با استفاده از دستور User-agent ربات خودمون را تعیین می‌کنیم. در اینجا چون شامل یک ربات هست دیگه نباید از ستاره استفاده کرد و باید نام ربات را بنویسیم بعدش در خط بعدی هم با استفاده از دستور Disallow دسترسی به پوشه‌ای که تصویر در اون قرار داره را لغو می‌کنیم. به صورت کلی دستور ما مشابه زیر خواهد بود.

در اینجا mizbanfa هم همون پوشه ای هست که تصویر در این مسیر از هاست قرار داره. بنابراین بعد از ذخیره کردن فایل دیگه ربات گوگل همچین آدرسی را مورد بررسی قرار نداده و تصویر شما توسط گوگل ایندکس نخواهد شد.

لیست کلیه دستورات قابل استفاده در robots.txt

تا اینجای کار دونستید که برای تعیین دسترسی برای هر ربات کافیه تا با دستور user-agent اونو تعیین کنید. اگر ربات خاصی مد نظرتونه نام ربات را وارد کنید اما اگر همه ربات‌ها مدنظر شماست کافیه تا مقدار این دستور را روی * قرار بدین. برای هر قانونی که تعیین میکنید باید از user-agent جدا استفاده کنید و سپس مسیری که میخواهید تا دسترسی به اون را لغو کنید را بر اساس زیر وارد کنید.

اگر قصد دارید تا دسترسی به کل سایت را غیرفعال کنید میتونید از مشابه دستور زیر برای Disallow استفاده کنید.

برای عدم دسترسی به یک پوشه خاص کافیه تا نام اون پوشه و یا زیر پوشه‌های اونو وارد کنید.

برای محدود کردن به دسترسی به یک فایل میتونید تا به شکل زیر عمل کنید.

برای محدود کردن فایل‌هایی به فرمت خاص در کل سایت میتونید تا از دستور زیر استفاده کنید.

ثبت فایل robots.txt در گوگل

برای ثبت این فایل ابتدا باید وارد آدرس https://www.google.com/webmasters بشید و سپس روی دکمه Sign In کلیک کنید تا وارد کنسول جستجوی گوگل شده و سپس سایت خودتون را که با استفاده از آموزش ثبت سایت وردپرسی در گوگل ثبت کردید انتخاب کنید.

معرفی سایت وردپرس به گوگل

بعد از اینکه سایت خودتون را انتخاب کردید مشابه تصویر زیر به مسیر Crawl> robots.txt Tester مراجعه کنید.

ثبت robots.txt در گوگل

مشابه تصویر در فیلد مشخص شده عبارت robots.txt را وارد کنید و روی دکمه TEST کلیک کنید تا با پیغام سبز رنگ Allowed مواجه بشید. اگر درست بود حالا محتویات فایل robots.txt را وارد ویرایشگری که میبینید بکنید و روی دکمه Submit کلیک کنید تا پنجره زیر براتون باز بشه.

ثبت robots.txt در گوگل

خب در اینجا ما چون از قبل فایلرا در هاست اپلود کردیم با کلیک روی دکمه Submit گزینه سوم را انتخاب کنید.

بهینه سازی فایل robots.txt وردپرس

حالا که با ساختار فایل robots.txt وردپرس آشنا شدید در ادامه به معرفی راه‌هایی برای بهینه سازی robots.txt می‌پردازم تا با استفاده از این راه‌ها سئو وردپرس خودتون را بهبود دهید.

یکی از باورهای غلط که در بین وبمستران مشاهده میشه اینه که با استفاده از این فایل باید صفحات بی کیفیت مثل آرشیو و دسته‌بندی را از دسترسی به ربات‌های جستجوگر غیرفعال کنند. باید گفت که در رابطه با نه تنها وردپرس بلکه هیچ CMS دیگه ای این گفته درست نیست. چرا که آدرس‌هایی مثل آرشیو، برچسب، دسته‌بندی و… در وردپرس در حکم یک پوشه یا دایرکتوری نیستند که با استفاده از این روش بتونید دسترسی به اونها را غیرفعال کنید. بلکه این آدر‌ها از طریق دیتابیس تعیین شده‌اند و عملا پوشه‌ای با نام category یا tag در هاست شما وجود نداره که با استفاده از این روش بخواهید دسترسی را محدود کنید.

اگر که شما قصد دارید تا صفحات خاصی را از دسترسی ربات‌های جستجوگر غیرفعال کنید کافیه تا با استفاده از افزونه‌هایی نظیر سئو وردپرس این کار را انجام بدین که قابلیت Noindex در اونها قرار داره که در مقاله‌ای جامع به معرفی این کارها خواهم پرداخت.

چند نکته درباره فایل robots.txt

نکته اول: صفحاتی مثل صفحه ورود وردپرس و صفحه پیشخوان وردپرس که به ترتیب در آدرس‌های wp-login.php و wp-admin در دسترس هستند به صورت پیش‌فرض در حالت Noindex هستند، بنابراین نیازی نیست تا با استفاده از فایل robots.txt دسترسی به این دو صفحه را محدود کنید.

نکته دوم: نقشه سایت یا Sitemap خود را در این فایل مشابه نمونه زیر وارد کنید تا وقتی ربات‌های جستجوگر فایل robots.txt را بررسی می‌کنند نقشه سایت را مشاهده کرده و قبل از هر صفحه از سایت این صفحه را مورد بررسی قرار دهند تا سرعت ایندکس صفحات شما بیشتر شود. برای این کار کافیه تا دستور زیر را در خط انتهایی این فایل وارد کنید.

نکته سوم: فایل readme.html را با استفاده از فایل robots.txt در حالت محدود قرار دهید. چرا که برخی افراد سعی می‌کنند تا با استفاده از این فایل اطلاعاتی مثل نسخه مورد استفاده از وردپرس و… را که معمولا توسط ربات این کارها انجام میگیره به دست آورده و با استفاده از آن شروع به کارهای مخرب روی سایت شما بکنند. هرچند که راه‌های بسیار زیادی برای دونستن نسخه مورد استفاده وجود داره اما اگر سایر راه‌ها را بسته باشید و تنها این راه بر سر راه فرد قرار گرفته باشه با این روش هم دیگه قادر نخواهد بود تا نسخه وردپرس مورد استفاده شما را بدونه و برای این کار کافیه تا دستور زیر را برای کلیه ربات‌ها تعیین کنید.
نکته چهارم: دسترسی به دایرکتوری افزونه‌های وردپرس را محدود کنید. با استفاده از این کار دایرکتوری که افزونه‌های وردپرس در اون قرار دارند ایمن شده و مشابه همون فایل readme.html براش اتفاق افتاده و میشه امنیت سایت خودتون را افزایش بدین. برای این کار کافیه تا دستور زیر را به فایل robots.txt اضافه کنید تا دسترسی به پوشه افزونه های وردپرس از ربات‌ها مصون بماند.

نمونه یک فایل robots.txt مناسب

احتمالا تا اینجای آموزش این سوال برای شما هم پیش اومده که یک فایل مناسب و نمونه فایل robots.txt که باید ازش استفاده کنیم به چه صورتی میتونه باشه؟ در پاسخ به این سوال میتونید از نمونه زیر استفاده کنید و بعدش با شخصی سازی اون و اعمال تغییرات بر اساس همین آموزش دسترسی به پوشه‌ها مختلف در هاست خودتون را کنترل کنید.

امیدوارم که این آموزش هم مورد توجه و پسند شما قرار گرفته باشه و با استفاده از اون تونسته باشید تا نسبت به ساخت فایل robots.txt , بهینه سازی این فایل اقدام کنید. اگر در رابطه با این آموزش سوال و یا مشکلی برای شما پیش اومده میتونید در بخش دیدگاه‌ها مطرح کنید تا در کوتاه ترین زمان ممکن پاسخگوی شما باشم.
آموزش ساخت فایل robots.txt برای وردپرس و بهینه سازی آن
3 (60%) 21 votes
برچسب ها
هاست ایران میزبان فا

عباس صادقی

حدود 5 سالی است که در زمینه وردپرس فعالیت می‌کند، علاقه مند است که با تولید محتوای کاربردی در میزبان فا به افزایش دانش هموطنان خود کمک کند و باعث گسترش جهان شود؛ او یک آزاد کار است، از دانشگاه انصراف داده و علاقه‌ای به ادامه تحصیلات آکادمیک ندارد.

نوشته های مشابه

‫۳۶ نظرها

  1. اگه می تونید یه مقاله در مورد اینکه چجوری باید به بعضی ها دسترسی های خاصی بدیم بذارید
    مثلا برای یه فرد تعیین کنیم فقط بتونه به چند افزونه دسترسی داشته باشه

  2. سلام وقت بخیر خوبید ان شالله.این رو تایید نکنید لطفا خواستم از طریق تماس با ما ارسال کنم که به مشکل خوردم نشد متاسفانه . من دنبال یه قالبی شبیه به این قالب هستم شما جایی دیدید؟میتونید طراحی کنید با قیمت ارزون 🙂

    divar.ir/blog

    خیلی ممنونم
    باتشکر
    شایان

    1. سلام و وقت بخیر،
      با همین قالب فعلی که در پایگاه دانش میزبان‌فا استفاده میشه میتونید با همین شکل و شمایل یک وبلاگ ایجاد کنید. ما از قالب جنه استفاده می‌کنیم.
      در حال حاضر برنامه‌ای برای طراحی سایت یا قالب در میزبان‌فا نداریم، میتونید از شرکت‌های طراحی سایت این درخواست را ارسال کنید که به صورت اختصاصی مشابه همین قالب را براتون راه‌اندازی کنند.
      موفق باشید 🙂

  3. سلام من چون قالبم خاصه نمیخوام پوشه قالبمو بررسی کنه بنظرتون اگه پوشه wp-theme رو محدود کنم بضررمه ؟ ممنون میشم زود بگین

        1. مشکلی که پیش میاد اینه که شما به ربات گوگل دسترسی را دادین، بنابراین این مسیر را چک میکنه، چون با خطا مواجه میشه امتیاز منفی برای سایت خواهد داشت.

  4. سلام اکثر خطاهای من تو گوگل وبمستر ناشی از wp-includes هستش اگه تو ربات دسترسیش رو قطع کنم مشکلی پیش میاد
    نمونه خطاهایی که پیش میاد:
    wp-includes/customize/class-wp-customize-nav-menu-location-control.php
    wp-includes/rest-api/fields/class-wp-rest-user-meta-fields.php
    wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php

    1. سلام و وقت بخیر،
      پوشه wp-includes نیازی به دسترسی توسط ربات‌های گوگل نداره و اگر سایت‌های بزرگ وردپرسی رو بررسی کنید میبینید که دسترسی به این پوشه منع شده

      1. سلام، وقت بخیر، یعنی دسترسی به wp-includes را محدود کتیم؟ این محدودیت سازی ها تاثیری بر روی سئو سایت نداره؟

  5. داش عباس خیلی ممنونم واقعا از زحمتت و پاسخگویی بی منتت
    الان با راهنمایی شما
    User-agent: *

    Disallow: /wp-content/plugins
    Disallow: /wp-content/cache
    Disallow: /wp-admin/
    Disallow: /wp-includes/
    Disallow: /readme.html

    Allow: /wp-admin/admin-ajax.php
    Allow: /wp-content/uploads/

    به این شکل ربات رو نوشتم،فقط اتفاقی داشتم پوشه افزونه ها رو نگاه میکردم دیدم یه فایل htaccess توش هست که داخلش
    Options -Indexes نوشته بود فقط،این اثر رباته یا اشتباها تو اون پوشه هستش؟
    بازم ممنون

    1. خواهش می‌کنم ناصر جان، این کد که داخل فایل htaccess. هست احتمالا توسط یه افزونه امنیتی که استفاده می‌کنی اضافه شده که وظیفش اینه که از خوندن و مشاهده صفحه پوشه‌ها جلوگیری میکنه که اگر کسی وارد آدرس پوشه افزونه‌ها(site.com/wp-content/plugins) شد نتونه پوشه افزونه‌ها و فایل‌های داخل این مسیر رو ببینه. چیز خوبی هست، بهتره ازش استفاده کنی.

  6. دم شما گرم خدایی
    الان من سایت خودتون رو هم چک کردم یه خطایی که هست
    wp-admin/admin-ajax.php
    برای مثال این آدرس رو چک کن
    https://mizbanfa.net/wp-admin/admin-ajax.php
    لود نمیشه و صفحه رو که باز میکنی صفر میاره،اینم از سری خطاهای وبمستره که آورده بود برام یکی دو تا سایت دیگه رو هم چک کردم الان این ایراده به نظرت؟

    1. وردپرس تا نسخه 4.4 از دسترسی گوگل به admin-ajax.php جلوگیری می‌کرد و به همین خاطر لازم بود تا به صورت دستی این دسترسی داده بشه، بعد از نسخه 4.4 طبق تیکتی که تیم یوست برای وردپرس ارسال کردن این مورد برطرف شده و دسترسی بهش داده میشه.
      اگر خطای دسترسی ajax از گوگل دریافت می‌کنید بهتره به صورت دستی این کار رو انجام بدین، قرار دادنش مشکلی ایجاد نمیکنه.

  7. معذرت میخوام واقعا کامنت ها هم طولانی شد، اما چجوری میشه این رو درستش کرد،ینی همینجوری بمونه موردی نداره؟یا منظورتون از اینکه دستی دسترسی بدم باید دقیقا چیکار کنم؟تو ربات که دسترسی مجازه ولی همون تو باز شدن 0 هستش

  8. سلام .من تمامی کارهایی که شما گفتید رو مو به مو انجام دادم. اما سایتم هیچ صفحه ایش index نشده
    و فقط submit شده. خیلی عجیبه

  9. سلام
    میخواستم بدانم از نظر شما فایل robots.txt به صورت زیر مناسب هست به خصوص اون قسمت که گفته شده Disallow: */comments/ آیا منطقی هست ؟

    Sitemap: http://site.com/sitemap.xml
    # Google Image
    User-agent: Googlebot-Image
    Disallow:
    Allow: /*
    # Google AdSense
    User-agent: Mediapartners-Google*
    Disallow:
    # digg mirror
    User-agent: duggmirror
    Disallow: /
    # global
    User-agent: *
    Disallow: /cgi-bin/
    Disallow: /wp-admin/
    Disallow: /wp-includes/
    Disallow: /wp-content/plugins/
    Disallow: /wp-content/cache/
    Disallow: /wp-content/themes/
    Disallow: /trackback/
    Disallow: /feed/
    Disallow: /comments/
    Disallow: /category/*/*
    Disallow: */trackback/
    Disallow: */feed/
    Disallow: */comments/
    Disallow: /comments/feed
    Disallow: /*?
    Allow: /wp-content/uploads/

    1. سلام، این فایل زیاد درست نیست و دسترسی به بعضی بخش‌ها بسته شده در صورتی که بهشون نیازی نیست. کامنت‌ها جزوی از محتوای صفحه شما به حساب میان و میتونن توی جستجو کردن کمک کنن، به خصوص با آپدیت جدید که توضیحات متا صفحات رو گوگل خودش توی نتایج بر اساس جستجوی کاربر نشون میده.

  10. سلام خیلی مفید بود
    من دوتا سوال داشتم
    شما توی نمونه فایل قسمت پلاگین رو Disallow کردین ولی وقتی این قسمت رو قرار میدیم گوگل سایت رو به صورت ریسپانسیو نمیشناسه در صورتی که سایت ریسپانسیو هست
    و سوال بعدی اینکه من تمام این کاراو انجام دادم و در آخر submit هم زدم ولی هنوز همون فایل robots قبلی رو اجرا میکنه یعنی تغییرات اعمال نمیشه
    مشکل از کجاس ؟

    1. سلام، اگر که با محدود کردن افزونه‌ها این حالت رخ میده و با ابزار fetch as google چیزی که به کاربر نشون داده میشه و چیزی که گوگل نشون میده متفاوت هست این کار رو انجام ندین.
      چک کنید که فایل robots.txt رو هم آپدیت کرده باشید. گاهی اوقات کمی زمان میبره که اصلاح بشه.

  11. سلام وقت بخیر .
    خسته نباشید ببخشید این پاسخ دیدگاه ها به ایمیل من میاد همیشه باید چه کار کنم که دیگه نیاد؟
    تشکر

  12. سلام
    اگه با یه افزونه ادرس پوشه ادمین رو تغییر بدیم باید تو فایل روبات ادرس تغییر داده شده رو بدیم یا همون wp-admin ؟

    1. سلام، وقتی آدرس پوشه ادمین رو تغییر میدین برای زمانی هست که میخواین تو وردپرس لاگین کنید. یعنی وقتی که لاگین می‌کنید صفحه پیشخوان وردپرس با wp-admin در دسترس هست و فقط موقع ورود آدرس عوض میشه.
      نیازی به معرفی آدرس نیست و همین wp-admin باید باشه.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

بستن