📡 دسترس‌پذیری و قطعی اینترنت

در دسترس ماندن سایت هنگام قطعی اینترنت بین‌الملل (و حفظ ایندکس گوگل)

🕑 زمان مطالعه: ۶ دقیقه 🔄 آخرین بازبینی: ۲۵ مرداد ۱۴۰۵ 🎓 سطح: متوسط
در دسترس ماندن سایت هنگام قطعی اینترنت بین‌الملل (و حفظ ایندکس گوگل)

در اختلال اینترنت بین‌الملل، دو چیز هم‌زمان تهدید می‌شود: دسترسی کاربر ایرانی و دسترسی خزنده گوگل. اینجا معماری‌ای را می‌بینید که هر دو را زنده نگه می‌دارد.

تخفیف‌های امروز۱ از ۳
ایران سرور۲۵٪تخفیفسرور اختصاصی اوپال ۲، پلاتینیوم ۳، آمتیس ۲ایران سرور · بدون تاریخ انقضافقط برای پلن‌های «اوپال 2»، «پلاتینیوم 3» و «آمتیس2» سرور اختصاصی ایران (پلن‌های استاندارد)
IranDedicated
رفتن به سایت و استفاده
همه کدهای تخفیف ←
📋 فهرست مطالب (۱۲ بخش)
  1. چرا سایت هنگام قطعی اینترنت بین‌الملل از دسترس خارج می‌شود؟
  2. پنج وابستگی پنهانی که سایت داخلی را هم از کار می‌اندازد
  3. مسئلهٔ فراموش‌شده: سرورهای DNS شما کجا هستند؟
  4. راه‌حل عملی
  5. سه معماری عملی برای در دسترس ماندن
  6. ۱) میزبانی کاملاً داخلی — ساده‌ترین و مطمئن‌ترین
  7. ۲) اصل خارجی + آینهٔ داخلی
  8. ۳) اصل داخلی + شبکهٔ توزیع محتوا برای کاربر خارجی
  9. چطور مطمئن شویم گوگل هنوز سایت را می‌بیند؟
  10. کد وضعیت درست در زمان اختلال
  11. فهرست بازبینی نهایی
  12. ادامهٔ این مسیر

قطعی یا اختلال اینترنت بین‌الملل در ایران دیگر یک اتفاق نادر نیست و هر بار که رخ می‌دهد، دو مشکل هم‌زمان سراغ صاحبان سایت می‌آید: کاربران داخلی نمی‌توانند سایت را باز کنند، و همان‌قدر خطرناک‌تر، خزندهٔ گوگل هم ممکن است به صفحات دسترسی نداشته باشد. در این راهنما دقیقاً بررسی می‌کنیم چه معماری‌ای باعث می‌شود سایت شما در هر دو حالت زنده بماند و رتبه‌ای که با ماه‌ها کار به دست آورده‌اید از دست نرود.

چرا سایت هنگام قطعی اینترنت بین‌الملل از دسترس خارج می‌شود؟

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

نتیجهٔ مستقیم این وضعیت را می‌توان در یک جدول ساده دید:

محل میزبانی دسترسی کاربر ایرانی دسترسی خزندهٔ گوگل
سرور یا هاست داخل ایران برقرار معمولاً برقرار
سرور خارج از کشور قطع یا بسیار کند برقرار
سرور خارج + شبکهٔ توزیع محتوای ایرانی برقرار برای محتوای کش‌شده برقرار

نکتهٔ کلیدی: اگر مخاطب اصلی شما داخل ایران است، میزبانی داخلی در زمان اختلال تنها گزینه‌ای است که هر دو طرف — کاربر و گوگل — را راضی نگه می‌دارد.

پنج وابستگی پنهانی که سایت داخلی را هم از کار می‌اندازد

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

  • فونت و آیکون از سرویس‌های خارجی: فراخوانی فونت از سرویس‌های خارجی باعث می‌شود صفحه تا رسیدن مهلت انتظار سفید بماند. فونت را روی سرور خودتان بگذارید.
  • کتابخانه‌های جاوااسکریپت از CDN خارجی: jQuery، Bootstrap و مشابه آن‌ها را به‌صورت محلی میزبانی کنید.
  • کد تحلیل آمار و ابزارهای تبلیغاتی: این اسکریپت‌ها را با ویژگی async یا defer بارگذاری کنید تا مسدودکنندهٔ رندر نباشند.
  • سیستم ضدربات و کپچای خارجی: در زمان اختلال، فرم تماس و ثبت‌نام کاملاً از کار می‌افتد. جایگزین داخلی یا کپچای خودمیزبان انتخاب کنید.
  • سرویس ارسال ایمیل خارجی: ایمیل‌های تراکنشی سایت در صف می‌مانند. یک مسیر ارسال جایگزین داخلی تعریف کنید.

یک آزمون ساده وجود دارد: در ابزار توسعه‌دهندهٔ مرورگر، زبانهٔ شبکه را باز کنید و ببینید صفحه‌تان چند درخواست به دامنه‌های غیر از دامنهٔ خودتان می‌فرستد. هر کدام از این درخواست‌ها یک نقطهٔ شکست بالقوه است.

مسئلهٔ فراموش‌شده: سرورهای DNS شما کجا هستند؟

حتی اگر سایت روی هاست ایران باشد، اگر مدیریت DNS دامنه را به یک سرویس خارجی سپرده باشید، درخواست‌کنندهٔ داخلی نمی‌تواند نام دامنه را به آی‌پی تبدیل کند و کاربر خطای «سایت پیدا نشد» می‌گیرد. این خطا دقیقاً شبیه از کار افتادن سرور به نظر می‌رسد، در حالی که سرور سالم است.

راه‌حل عملی

  1. دست‌کم دو سرور نام (Name Server) داشته باشید که یکی از آن‌ها روی زیرساخت داخلی میزبانی شود.
  2. مقدار TTL رکوردهای اصلی را پیش از هر تغییر معماری به ۳۰۰ ثانیه کاهش دهید تا جابه‌جایی سریع ممکن شود.
  3. بعد از پایدار شدن وضعیت، دوباره TTL را به مقدار عادی برگردانید تا فشار روی سرور نام کم شود.

سه معماری عملی برای در دسترس ماندن

۱) میزبانی کاملاً داخلی — ساده‌ترین و مطمئن‌ترین

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

۲) اصل خارجی + آینهٔ داخلی

در این معماری، نسخهٔ اصلی سایت روی سرور خارجی می‌ماند و یک نسخهٔ همگام‌شده روی سرور داخلی نگهداری می‌شود. با استفاده از یک DNS با قابلیت تشخیص موقعیت جغرافیایی، کاربر ایرانی به نسخهٔ داخلی و کاربر خارجی به نسخهٔ اصلی هدایت می‌شود.

همگام‌سازی فایل‌ها معمولاً با یک زمان‌بند ساده انجام می‌شود:

rsync -avz --delete -e "ssh -p 22" 
  root@origin-server:/var/www/html/ /var/www/html/

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

۳) اصل داخلی + شبکهٔ توزیع محتوا برای کاربر خارجی

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

چطور مطمئن شویم گوگل هنوز سایت را می‌بیند؟

در دسترس بودن برای کاربر، تضمین ایندکس شدن نیست. این چهار بررسی را انجام دهید:

  1. آزمون زندهٔ سرچ کنسول: در ابزار بررسی نشانی، گزینهٔ آزمایش نشانی فعال را بزنید. اگر تصویر رندرشده درست بود، مسیر خزنده سالم است.
  2. گزارش آمار خزش: در بخش تنظیمات سرچ کنسول، نمودار درخواست‌های خزش را ببینید. افت ناگهانی و افزایش خطاهای میزبان یعنی مشکل از دسترسی است، نه از محتوا.
  3. لاگ سرور: روی سرور لینوکسی، حضور خزنده را مستقیم بررسی کنید:
    grep -i "googlebot" /var/log/nginx/access.log | tail -50
  4. بررسی مسدود نبودن آی‌پی‌های خارجی: اگر روی سرور یا پنل میزبانی، محدودسازی جغرافیایی فعال کرده‌اید، آن را غیرفعال کنید. این تنظیم شایع‌ترین دلیل ناپدید شدن ناگهانی صفحات از نتایج است.

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

کد وضعیت درست در زمان اختلال

اگر مجبور شدید بخشی از سایت را موقتاً غیرفعال کنید، کد وضعیتی که برمی‌گردانید تعیین می‌کند گوگل صفحه را نگه دارد یا حذف کند:

وضعیت کد درست نتیجه در ایندکس
قطعی موقت چند ساعته 503 همراه با هدر Retry-After صفحه در ایندکس می‌ماند
حذف دائمی صفحه 410 حذف سریع و آگاهانه
انتقال دائمی نشانی 301 انتقال اعتبار به نشانی جدید
خطای ناخواسته سرور 500 در صورت تکرار، افت رتبه

در وردپرس، حالت تعمیر پیش‌فرض همین کد ۵۰۳ را برمی‌گرداند؛ اما اگر صفحهٔ سفارشی ساخته‌اید، حتماً مطمئن شوید کد وضعیت را دستی تنظیم کرده باشید.

فهرست بازبینی نهایی

  • محل میزبانی متناسب با محل مخاطب اصلی انتخاب شده است.
  • هیچ فونت، اسکریپت یا استایلی از دامنهٔ خارجی بارگذاری نمی‌شود.
  • دست‌کم یک سرور نام روی زیرساخت داخلی فعال است.
  • محدودسازی جغرافیایی روی فایروال یا پنل غیرفعال است.
  • نسخهٔ پشتیبان روزانه در محلی جدا از سرور اصلی نگهداری می‌شود.
  • یک سرویس پایش بیرونی، هر چند دقیقه یک بار وضعیت سایت را گزارش می‌دهد.
  • صفحهٔ خطای موقت، کد ۵۰۳ برمی‌گرداند نه ۲۰۰.

ادامهٔ این مسیر

هر سه گامِ فنیِ بعدی جداگانه و گام‌به‌گام نوشته شده‌اند:

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

پرسش‌های متداول

اگر سایتم روی هاست ایران باشد، گوگل می‌تواند آن را ایندکس کند؟
بله. خزنده گوگل از خارج به سرورهای داخل ایران دسترسی دارد و میزبانی داخلی به‌خودی‌خود مانع ایندکس شدن نیست. مشکل معمولاً از محدودسازی جغرافیایی روی فایروال سرور یا سرویس امنیتی شرکت میزبان می‌آید که آی‌پی‌های خارجی را مسدود می‌کند. این تنظیم را غیرفعال کنید و با ابزار بررسی نشانی در سرچ کنسول، آزمایش زنده بگیرید.
در زمان قطعی باید سایت را روی حالت تعمیر بگذارم؟
فقط اگر مجبور باشید و حتماً با کد وضعیت ۵۰۳ همراه با هدر Retry-After. اگر صفحه تعمیر با کد ۲۰۰ برگردد، گوگل آن را محتوای واقعی صفحه می‌داند و ممکن است نسخه ایندکس‌شده را با صفحه خالی جایگزین کند.
چرا سایتم روی هاست ایران است اما باز هم باز نمی‌شود؟
به احتمال زیاد صفحه شما فونت، کتابخانه جاوااسکریپت یا اسکریپت آماری را از دامنه‌های خارجی بارگذاری می‌کند و مرورگر تا رسیدن مهلت انتظار معطل می‌ماند. زبانه شبکه در ابزار توسعه‌دهنده مرورگر را باز کنید و هر درخواستی که به دامنه‌ای غیر از دامنه خودتان می‌رود را محلی کنید.
سرورهای DNS چه ربطی به قطعی دارند؟
اگر مدیریت DNS دامنه روی سرویسی خارجی باشد، در زمان اختلال، درخواست‌کننده داخلی نمی‌تواند نام دامنه را به آی‌پی تبدیل کند و کاربر خطای پیدا نشدن سایت می‌گیرد؛ حتی اگر سرور کاملاً سالم باشد. دست‌کم یکی از سرورهای نام خود را روی زیرساخت داخلی قرار دهید.
آیا می‌توانم برای گوگل نسخه دیگری از سایت نمایش دهم تا ایندکس حفظ شود؟
خیر. نمایش محتوای متفاوت به خزنده نسبت به کاربر عادی، از نگاه گوگل پوشاندن محتوا است و می‌تواند به جریمه دستی منجر شود. راه درست، در دسترس نگه داشتن همان محتوای واقعی برای هر دو گروه است.
پارس پکدیتاسنتر داخلی، پرداخت ریالینقد و بررسی شرکت مشاهده سایت
ایران سروردیتاسنتر داخلی، پرداخت ریالینقد و بررسی شرکت مشاهده سایت
این آموزش را بفرستید: ✈ تلگرام 💬 واتس‌اپ
✨
دربارهٔ تهیهٔ این مطلب

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

آموزش‌های مرتبط