حمید رضا یزدانی
حمید رضا یزدانی
خواندن ۴ دقیقه·۵ سال پیش

سرورهای افرانت و robots.txt

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

اما اینها چه ربطی به افرانت داره؟!

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

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

بعد از چند روز دیدم یا قمر بنی هاشم، نقشه های سایت یا همون sitemap.xml و فایل دسترسی رباتهای خزنده یا همون robots.txt کلا از دسترس ربات گوگل خارج هستن.

با این ابزار قدیمی خود گوگل تونستم متوجه این موضوع بشم:

نتیجه این شد که سایت در یک سری موارد رتبه یک رو از دست بده و حتی منتقل بشه به صفحات 7 و 8 گوگل.

همه چیز رو بررسی کردم، همه فایلهایی ک لازم بود روی سرور موجود بود!

بعنوان اولین اقدام، سطح دسترسی این فایلها رو از 644 به 755 تغییر دادم ولی انگار نه انگار...

شروع کردم به گشتن، هیچ منبعی پیدا نشد و تیکت میزدیم به شرکتی که نمایندگی افرانت رو داشت و ازش خدمات میگرفتیم، اما اینقدر از مرحله پرت بودن که میگفتن فایل در دسترسه و مشکل از گوگله!!!

جوابهای اپراتورهای اون شرکت رو میتونید در زیر ببینید:

با سلام و احترام؛
لطفا تصویر خطای گوگل را ارسال نمایید.
موفق باشید.
با توجه به در دسترس بودن سایت در نقاط مختلف و صحیح بودن دسترسی فایل مشکلی از سمت سرور وجود ندارد.
محدودیتی در دسترسی مشاهده نمیشود، لازم به ذکر است resolver های سرور اصلاح شد و فایروال ریست شد، لطفا بررسی نمایید.

و جالب اینکه حتی پیشنهاد دادن که کلا سایت رو از وبمستر حذف و مجددا اضافه کنید!

خلاصه با چند تا ابزار بررسی کردم اولیش سایت زیر بود که باتی با مشخصات بات گوگل رو میفرسته به سایت برای بررسی:

https://technicalseo.com/tools/robots-txt/

و وبسایت دوم که بات خودش رو داره برای اینکار:

https://sitechecker.pro/tool/crawl-report-domain/

ابزار اول خطا میداد ولی ابزار دوم سایت رو براحتی بررسی میکرد...

و دینگگگگگگ !!!!

بله، مشکل از سرور بود، ظاهرا افرانت به یه دلیلی (که احتمالا اتک بوده) دسترسی یه سری ربات رو به سرورهاش مسدود کرده بوده و از قضا ربات گوگل هم رفته جزء این موراد به لطف متخصصین :)

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

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

مشکل با خرنده گوگل

البته این که سایت مپ یا robots.txt برای گوگل در دسترس نباشه علل زیادی میتونه داشته باشه. لیست این موارد رو میتونید در ادامه ببینید و یک راه حل ساده برای هر کدوم (البته مبنای این مقاله وردپرس هست):

مشکل از سرور باشه

توضیحش رو دادم و بهتره تا حصول اطمینان از این مسئله حسابی پیگیری باشید چون اغلب قبول نمیکنن که مشکل از سرور هست

اصلا فایلی ندارید

فایل رو ایجاد کنید

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

User-agent: * Disallow: /wp-login.php* Disallow: /cart Disallow: /checkout Disallow: /my-account Allow: /wp-admin/admin-ajax.php Allow: /wp-content/uploads Allow: /wp-content/plugins/ Allow: /wp-content/themes/ Allow: /wp-includes/js/ Sitemap: https://your_domain.com/sitemap_index.xml

توجه: your_domain نام دامنه سایت شماست و sitemap_index.xml آدرسی هست که یواست برای سایت مپ در نظر میگیره.

برای سایت مپ هم که میتونید از افزونه یواست استفاده کنید.

خودتون دسترسی رو محدود کردید

افزونه هایی ک برای امنیت استفاده میشن مثل wordfence یا افزونه های مشابه داخل تنظیماتشون یک سری گزینه دارن که باید دقیق بررسیشون کنید.

بازم خودتون خرابکاری کردید

فایل .htaccess که در ریشه پوشه public_html هست میتونه باعث این مشکل شده باشه. البته این فایل بصورت پیشفرض همچین کاری نمیکنه و ممکنه شما با تغییرات دستی و یا تنظیم یک سری موارد از داخل افزونه ها این فایل رو تغییر داده باشید.

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

# BEGIN WordPress RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] # END WordPress

مشکل از سطح دسترسی فایل باشه:

پیشفرض دسترسی به این فایلها 644 هست. اون رو به 755 یا 777 تغییر بدید و تست کنید. البته این روش زیاد کاربردی نیست و دسترسی در این سطح به یک فایل یه کم بی احتیاطی هست. در این مقاله از ویکی پدیا میتونید این دسترسی ها رو بهتر متوجه بشید.

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

robots txt
خلوت گزیده را به تماشا چه حاجت است؟!
شاید از این پست‌ها خوشتان بیاید