آموزش ساخت robots.txt وردپرس
ساخت robots.txt وردپرس یکی دیگر از مراحلی است که با استفاده از آن میتوانید سایت خود را برای موتورهای جستجو بهینه سازی کنید. در واقع بعد از اینکه اقدام به معرفی سایت وردپرس به گوگل کردید، دومین مرحلهای که در گوگل وبمستر باید انجام دهید ساخت فایل robots.txt برای وردپرس است تا امکان بررسی سایت را به گوگل بدهید.
در صورت وجود نداشتن فایل robots.txt وردپرس گوگل به صورت خودکار به تمامی بخشهای سایت دسترسی دارد، بنابراین همین مسئله باعث میشود به دایرکتوریهایی مثل پوشه افزونهها هم دسترسی وجود داشته باشد و از آنجایی که دسترسی به ربات صرفا برای گوگل نبوده و برخی رباتها به عنوان ربات مخرب شروع به بررسی میکنند باعث صدمه زدن به سایت خواهند شد. بنابراین حتما باید در قدم بعدی اقدام به ساخت robots.txt برای وردپرس کرده و در نهایت آن را به گوگل معرفی کنید.
در این آموزش از وبمستر وردپرس قصد داریم به نحوه ساخت robots.txt برای وردپرس و معرفی فایل robots.txt بپردازیم که با استفاده از این فایل میتوانید دسترسی به پوشهها و فایلهای گوناگون در هاست را برای رباتها تعیین کنید. در نهایت به نحوه بهینه سازی فایل robots.txt در وردپرس پرداخته و به ذکر چند نکته پیرامون آن میپردازیم.
فایل robots.txt چیست و چرا باید از آن استفاده کرد؟
موتورهای جستجوگر که کار بررسی و ایندکس صفحات وبسایت را انجام میدهند و به معروفترین آنها میتوان به گوگل، یاهو، بینگ، MSN و… اشاره کرد با استفاده از spider ،robot یا crawler این کار را انجام میدهند. این موارد صرفا نامی هستند که ما برای رباتهای جستجوگر که کار بررسی سایت را بر عهده دارند انتخاب کردهایم و همگی آنها یک وظیفه دارند و آن هم چیزی نیست جز بررسی و ایندکس صفحات در سایت. هر زمان که این رباتها وارد سایت میشوند شروع به کلیه صفحات کرده و به ترتیب هر لینکی که بر سر راه آنها قرار داشته باشد را بررسی کرده و لینکهای بیشماری را پست سر هم میگذارند تا همه آنها بررسی شوند.
همین مسئله باعث میشود که از خود بپرسید وقتی کلیه پوشهها و فایلها توسط این رباتها بررسی شده و ایندکس میشوند پس امنیت برخی دادهها تضمینی نیست و به راحتی در موتورهای جستجو نمایان خواهند شد. این شد که robots.txt به میان آمد که به وسیله آن بتوان دسترسی رباتها را به بخشهای مختلف سایت مدیریت و کنترل کرد. همانطور که در بالا هم اشاره شد با استفاده از دستوراتی که در این فایل میتوانید تعیین کنید امکان دسترسی به بخشهای مختلف سایت با فایل robots.txt فراهم خواهد بود. در تصویر زیر دو مقایسه برای سایتی که از robots.txt استفاده میکند و سایتی که فاقد آن است صورت گرفته است.
همانطور که در تصویر میبینید سایتی که فاقد فایل robotx.txt است دسترسی به کلیه پوشهها و فایلهای موجود در آن که میتوانند شامل فایلهای عمومی و خصوصی باشند برای تمام crawler ها در دسترس است. پس کافی است یک بار این سایت بررسی شده و در جایی لینکی از این دایرکتوریها وجود داشته باشد تا سریعا ربات وارد آن مسیر شده و کلیه فایلهای موجود در آن را بررسی و ایندکس کند. اما در مقابل میبینیم سایتی که دارای فایل robots.txt میباشد، دسترسی پوشهها و فایلها را برای ربات تعیین کرده است. پس وقتی ربات ابتدا فایل robots.txt را بررسی میکند به مسیرهایی میرسد که اجازه بررسی آنها به وی داده نشده است. بنابراین مسیرهایی که دسترسی به انها را ندارد بررسی نخواهد کرد و صرفا بخشهایی که امکان دسترسی داده شده را اجازه دارد تا crawl کند.
آموزش ساخت robots.txt برای وردپرس
به منظور ساخت robots.txt برای وردپرس ابتدا وارد هاست خود شده و روی گزینه File Manager کلیک کید تا به بخش مدیریت فایلها در هاست هدایت شوید.
بعد از اینکه وارد این بخش شدید به مسیر public_html مراجعه کنید تا به روت هاست هدایت شوید. حال در این مسیر باید فایل robotx.txt خود را بسازید. بنابراین اگر از هاست سی پنل استفاده میکنید روی گزینه File کلیک کنید تا پنجرهای مشابه تصویر زیر باز شده و سپس نام فایل را به صورت robots.txt در فیلد New File Name وارد کنید. در نهایت روی دکمه create new file کلیک کنید تا فایل ساخته شود.
حال که این فایل ساخته شد باید با استفاده از دستوراتی که در این فایل قابل نوشتن هستند امکان دسترسی را برای هر یک از رباتها فراهم کنید. پیش از اینکه شروع به ویرایش فایل کرده و دستورات را در این فایل وارد کنیم لازم است با کلیه این دستورات که در فایل robots.txt قابل استفاده هستند آشنا شوید.
دستورات فایل robots.txt
فایل robots.txt وردپرس به صورت کلی از دو دستور اصلی پیروی میکند و قادر به استفاده از این دو دستور در فایل هستید و سایر دستوراتی که در آن وارد شوند بی معنی هستند. نوع دیگری از دستورات هم وجود دارد که شامل تعیین مسیر، نوع و فرمت فایل، اعمال روی همه و یا به صورت تکی استفاده میشوند که در ادامه به معرفی آنها هم میپردازم. اما دستورات اصلی شامل این هستند که ربات جستجوگر کیست و آیا اینکه اجازه بررسی این مسیر را دارد یا خیر!
- User-agent: این دستور نشان دهنده این است که نام ربات مورد نظر برای دسترسی به مسیر و دستورات تعیین شده را وارد کنید. به عنوان مثال اگر قصد دارید دسترسی ربات یاهو را به صورت کامل قطع کنید باید نام ربات را وارد کنید. یا اگر قصد دارید دسترسی ربات تصاویر گوگل را محدود کنید باید نام این ربات را وارد کنید. برای تعریف دستورات که بین رباتها مشترک هستند نیز میتوانید از کاراکتر * استفاده کنید.
- Disallow: از این دستور هم میتوان برای تعریف مسیرهایی که crawler امکان دسترسی و بررسی آنها را ندارد تعیین کنید.
پس با استفاده از این دو دستور میتوان ابتدا ربات مورد نظر و سپس مسیرهایی که دسترسی ربات به آنها مجاز نیست را تعیین کنید. اما حال این سوال پیش میآید که چند ربات داریم؟ لیست رباتهای جستجوگر شامل چه مواردی هستند؟ آیا رباتهای جستجوگر که باید از آنها استفاده کنیم صرفا شامل گوگل، بینگ، یاهو و… هستند؟
در پاسخ به این سوالات باید گفت که، ما دو نوع ربات داریم که شامل رباتهای مفید و رباتهای بد هستند. رباتهای مفید آنهایی هستند که قصد آنها صرفا بررسی سایت و ایندکس صفحات در نتایج جستجو است. اما در مقابل رباتهایی هم هستند که هدف آنها تخریبی بوده و قصد استفاده نابجا از سایت را دارند که باید دسترسی آنها را محدود کنید.
استفاده از دستور User-agent
با استفاده از این دستور میتوان قوانین تعیین شده برای رباتها را تعیین کرد. این قوانین میتوانند برای یک ربات خاص نوشته شوند و یا اینکه برای کلیه رباتهای جستجوگر از انها استفاده کنید. به عنوان مثال اگر دارای یک پوشه در هاست خود باشید که قصد دارید دسترسی تمام رباتها به این پوشه فراهم نباشد باید در مقابل دستور user-agent از کاراکتر * استفاده کنید که نشان دهد قوانینی که در خط بعدی تعیین میشوند برای کلیه رباتها تعریف شده است. حال برای اینکه دسترسی را محدود کنید کافی است از دستور Disallow استفاده کرده و مسیر پوشه را در مقابل آن قرار دهید. در نمونه زیر من قصد دارم تا دسترسی به پوشه topsima را برای کلیه رباتها محدود کنم. بنابراین باید از دستور زیر در فایل robots.txt استفاده کرد.
User-agent: * Disallow: /topsima/
همانطور که میبینید در خط اول که مربوط به تعیین قانون برای ربات مشخص شده از کاراکتر * استفاده شده است که نشان دهنده تبعیت از این دستور برای تمام رباتها میباشد. در خط دوم نیز با استفاده از دستور Disallow نام پوشهای که امکان بررسی آن برای ربات وجود ندارد را وارد کردهایم. اما اگر تصمیم داشتید تا برای یک ربات این دستور را تعیین کنید کافی است به جای * نام ربات دلخواه را مشابه ربات جستجوگر تصاویر گوگل وارد کنید.
User-agent: Googlebot-image Disallow: /topsima/
در این قانون به ربات گوگل دستور داده شده است که پوشه topsima را بررسی نکند و اجازه دسترسی به آن را ندارد.
لیست دستورات قابل استفاده در فایل robots.txt
تا این مرحله از آموزش یاد گرفتیم که ابتدا با استفاده از دستور user-agent نام رباتی که قصد داریم قوانین را برای آن لحاظ کنیم وارد کرده و سپس با استفاده از دستور Disallow نیز مسیرهایی که ربات امکان بررسی آنها را ندارد وارد کنیم. حال در ادامه به معرفی انواع قوانینی که برای ربات میتوان از آن استفاده کرد میپردازیم.
شاید تا اینجای کار سوالی در ذهنتان ایجاد شده باشد که آیا دستوری هم وجود دارد که با استفاده از آن بتوان تاکید بر روی دسترسی به مسیری را مشخص کرد؟ جواب مثبت است، دستور Allow نیز این امکان را میدهد تا دسترسی به مسیرهایی را برای ربات فراهم کنید، اما از آنجایی که رباتها به صورت پیشفرض دسترسی به تمامی مسیرها را به جز مواردی که برای انها از دستور Disallow استفاده شده است مجاز میدانند برای همین از این دستور زیاد استفاده نمیشود. اما به عقیده برخی افراد استفاده از آن برای تاکید میتواند مفید باشد، چرا که وقتی در لینکها اثری از یک مسیر وجود نداشته باشد، این وظیفه robots.txt است که مسیر را برای ربات مشخص کند.
غیرفعال کردن دسترسی به کل سایت
این دستور امکان دسترسی به کل سایت را برای ربات غیرفعال خواهد کرد. پس در صورتی که از این دستور استفاده کنید، دسترسی به کل سایت برای یک ربات خاص یا کلیه رباتها که در user-agent مشخص کردهاید غیرفعال خواهد شد.
Disallow: /
غیرفعال کردن دسترسی به یک پوشه خاص
این دستور امکان دسترسی به یک پوشه خاص را برای ربات غیرفعال خواهد کرد. پس در صورتی که از این دستور استفاده کنید، دسترسی به پوشه مشخص شده غیرفعال خواهد شد.
Disallow: /topsima/ Disallow: /topsima/files/
غیرفعال کردن دسترسی به یک فایل
این دستور امکان دسترسی به یک پوشه فایل را برای ربات غیرفعال خواهد کرد. پس در صورتی که از این دستور استفاده کنید، دسترسی به فایلی که در مسیر تعیین شده قرار دارد غیرفعال خواهد شد.
Disallow: /seo.pdf Disallow: /topsima/files/project.docs Disallow: /topsima/files/tutorial.mp4
همانطور که در این دستور میبینید در این نوع دستورات باید فرمت فایل و مسیر دقیق ان فراهم شده باشد.
غیرفعال کردن دسترسی به فایلهایی با فرمت خاص
از این دستور میتوان برای غیرفعال کردن دسترسی به فایلهایی با فرمت خاص استفاده کرد. به عنوان مثال شاید قصد داشته باشید از ایندکس شدن فایلهای PDF که در سایت قرار دارند به صورت کامل جلوگیری کنید، برای این منظور میتوانید مشابه کدهای زیر فرمتهای خود را مشخص کنید تا روی کل فایلهایی با این فرمت دستورات اجرا شوند.
Disallow: /*.pdf$ Disallow: /*.gif$ Disallow: /*.docs$
تعریف نقشه سایت برای ربات
یکی از دستورات مفید در فایل robots.txt وردپرس تعریف مسیر نقشه سایت در وردپرس است. در مقالات بعدی به صورت مفصل در رابطه با اینکه نقشه سایت چیست و چگونه آن را بسازیم به صورت مفصل صحبت خواهیم کرد. اما پیش از آن اگر تاکنون از این دستور استفاده نکردهاید پیشنهاد میکنم حتما این دستور را به انتهای فایل robots.txt اضافه کنید.
Sitemap: https://webmasterwp.ir/sitemap_index.xml
آموزش معرفی robots.txt به گوگل
اگر چرخی در کنسول جستجوی گوگل وبمستر زده باشید حتما با گزینهای با عنوان robots.txt برخورد داشتهاید. این بخش از ابزار گوگل وبمستر این امکان را میدهد که فایل robots.txt را به گوگل معرفی کنید تا گوگل بهتر بتواند مسیرهایی که اجازه بررسی به آنها را دارد در خود داشته باشد. برای این منظور ابتدا به آدرس Google Webmaster مراجعه کرده و سپس روی دکمه SIGN IN که در بالای صفحه قرار دارد کلیک کنید تا وارد آن شده و در نهایت روی سایت خود که با استفاده از آموزش ثبت سایت در گوگل وبمستر ساختید کلیک کنید.
حالا مشابه تصویر زیر در بخش مدیریت سایت گوگل مسیر به مسیر Crawl> robots.txt Tester مراجعه کنید.
حال همانطور که در تصویر میبینید در فیلد مشخص شده انتهای صفحه در کادر قرمز که قبل از آن آدرس سایت قرار دارد robots.txt را تایپ کرده و روی دکمه TEST کلیک کنید. در اینجا باید با پیغام سبز رنگ Allowed مواجه شوید، پس در صورت صحیح بودن محتویات فایل robots.txt را وارد ویرایشگری که در بالا قرار دارد کرده و روی دکمه Submit کلیک کنید.
حالا در صورتی که فایل robots.txt از قبل در هاست آپلود شده و قرار داده شده است روی گزینه سوم یعنی submit وارد کنید تا دستورات در گوگل هم ذخیره شوند.
آموزش بهینه سازی فایل robots.txt وردپرس
تا اینجا دانستیم که با استفاده از فایل robots.txt میتوان دسترسی رباتهای جستجوگر را به مسیرهای مختلف از سایت تعیین کرده و مسیرهایی که مایل نیستیم به آنها دسترسی داده شود را در آن تعریف کنیم. بر همین اساس ممکن است فکر کنید برای آدرهایی نظیر دستهبندی مطالب، آرشیو مطالب، برچسب مطالب و… هم میتوان به این صورت عمل کرد.
اما لازم است بدانید که، برای خارج کردن دسترسی چنین آدرسهایی با استفاده از فایل robots.txt صورت نمیگیرد. چرا که این فایل صرفا مسیرهایی واقعی که در داخل File Manager قرار دارند را مدود خواهد کرد. در صورتی که آدرسهایی مثل دستهها و برچسبها در وردپرس در داخل دیتابیس ذخیره شده و به نوعی مسیر مجازی هستند که از سوی دیتابیس تعریف شدهاند و هیچ مسیر و پوشهای مثل category یا tag در داخل file manager هاست قرار ندارد.
در صورتی که قصد عدم دسترسی و ایندکس شدن چنین صفحاتی را دارید باید از خاصیت noindex در سورس صفحات استفاده کنید که افزونه سئو وردپرس چنین امکانی را فراهم کرده و در آموزشهای آتی به معرفی ان خواهم پرداخت.
نکاتی پیرامون فایل robots.txt
نکته اول: صفحاتی مثل wp-login.php و wp-admin به صورت پیشفرض ساختارشان روی حالت noindex قرار دارد پس نیازی به این نیست که با استفاده از فایل robots.txt وردپرس دسترسی به آنها را برای رباتها محدود کنید.
نکته دوم: فایل readme.html را با استفاده از فایل robots.txt در حالت محدود قرار دهید. این فایل نشانگر اطلاعاتی از نسخه مورد استفاده وردپرس میباشد. بنابراین برخی سعی میکنند با استفاده از این فایل اطلاعاتی را که معمولا توسط ربات انجام میگیرد استخراج کرده و بر اساس آن شروع به کارهای مخرب روی سایت شما کنند. درست است که راههای زیادی برای دانستن نسخه وردپرس وجود دارد اما همیشه باید سعی کنید کلیه راهها را ببندید.
Disallow: /readme.html
نکته سوم: دسترسی به پوشه افزونهها را محدود کنید. برای افزونههای وردپرس نیز درست همان اتفاق readme.html رخ میدهد. به عنوان مثال در هر بازه زمانی میشنویم که فلان افزونه به دلیل باگ امنیتی امکان هک سایت را فراهم خواهد کرد، بنا بر همین گزارشاتی که منتشر میشود برخی شروع به انالیز سایتها کرده و در هر سایت که از افزونه مدنظر استفاده شده باشد شروع به تلاش برای نفوذ از راه مورد نظر میکنند.
Disallow: /wp-content/plugins/
نمونه فایل robots.txt وردپرس
یکی از درخواستهایی که کاربران در رابطه با فایل robots.txt دارند این است که به دلیل تفاوت در سایتهای مختلف بر اساس آموزشهای استفاده هنوز به صورت کامل مطمئن نیستند که از چه دستوراتی استفاده کنند. بنابراین درخواست دارند نمونهای از فایل مناسب را معرفی کنیم. در زیر نمونهای از این فایل را مشاهده میکنید که در صورت نیاز میتوانید از آن استفاده کنید، اما دقت داشته باشید در صورتی که مسیرها و فایلهای ذکر شده در سایت شما وجود ندارد آنها را از robots.txt پاک کنید.
User-Agent: * Allow: /?display=wide Allow: /wp-content/uploads/ Disallow: /wp-content/plugins/ Disallow: /readme.html Disallow: /refer/ Allow: /wp-content/plugins/*.css Allow: /wp-content/plugins/*.css?ver=* Allow: /wp-content/plugins/*.js Allow: /wp-content/plugins/*.js?ver=* Allow: /wp-content/plugins/*.png Sitemap: https://webmasterwp.ir/sitemap_index.xml
در این آموزش به معرفی کامل اینکه robots.txt چیست و چگونه اقدام به ساخت robots.txt برای وردپرس بکنیم پرداختیم. سپس به معرفی انواع دستورات که در این فایل قابل استفاده هستند پرداخته و اقدام به معرفی آن به گوگل کردیم. در نهایت به نحوه بهینهسازی فایل robots.txt وردپرس پرداخته و به ذکر نکاتی پیرامون استفاده از آن پرداختیم. در نهایت هم نمونهای از این فایل را برای استفاده قرار دادیم که میتوانید از آن استفاده کنید. امیدوارم این آموزش هم برای شما کاربردی بوده و با استفاده از آن توانسته باشید یک فایل robots.txt مناسب و بهینه برای سایت خود ایجاد کنید. در صورت داشتن سوال یا مشکلی در این زمینه در بخش دیدگاهها مطرح کنید.
سلام اقای صادقی ممنون از آموزش هاتون.
۱-ایا برای هاست دانلود هم نیاز هست که فایل robots.txt بسازیم؟
چون رسانه وردپرس رو به هاست دانلو وصل کردم و فایل های ووکامرس هم در اونجا اپلود می شوند.
سلام و روز بخیر، اگر که صرفا فایلهای رسانه هست نیازی به این کار نیست. برای ووکامرس هم تست کنید ببینید آیا در حالتی که وارد هاست نشدید میتونید فایل را دانلود کنید یا خیر، اگر دانلود نشد و خطای forbidden داد نیازی نیست، اما اگر قابل دانلود بود بهتره برای هاست دانلود هم robots.txt بسازید. همچنین میتونید کد زیر را داخل htaccess. بزارید که داخل هر پوشه فایلهای دایرکتوری نشون داده نشن.