در سالهای اخیر، قطعی یا محدود شدن اینترنت بینالمللی به یکی از بزرگترین دغدغههای صاحبان وبسایت و کسبوکارهای آنلاین در ایران تبدیل شده است. بسیاری از مدیران سایتها تجربه کردهاند که در زمان فعال شدن اینترنت ملی، وبسایت آنها بهطور کامل از دسترس خارج میشود یا بخش زیادی از امکانات آن از کار میافتد.
این موضوع تنها یک مشکل فنی نیست؛ بلکه مستقیماً باعث کاهش فروش، از دست رفتن اعتماد کاربران و حتی نابودی برندهای آنلاین شده است. واقعیت این است که اغلب سایتها بدون اینکه صاحبانشان بدانند، به دهها سرویس خارجی وابسته هستند؛ از فونت و CDN گرفته تا سیستمهای امنیتی و آنالیتیکس.هدف این مقاله ارائه یک راهنمای کاملاً عملی برای طراحی سایتهایی است که حتی در شرایط اینترنت ملی نیز پایدار باقی بمانند. در این راهنما، تمام وابستگیهای خارجی، معماری صحیح سرور، انتخاب هاست، پیادهسازی CDN داخلی و نکات فرانتاند و بکاند بررسی خواهد شد. اگر میخواهید وبسایتی داشته باشید که در شرایط بحرانی هم آنلاین بماند، این مقاله دقیقاً برای شما نوشته شده است.
یکی از مهمترین عوامل پایداری وبسایت در زمان قطعی اینترنت بینالمللی، محل میزبانی سرور است. اگر سایت شما روی سرور خارج از ایران قرار داشته باشد، در زمان فعال شدن اینترنت ملی تقریباً هیچ شانسی برای در دسترس ماندن نخواهد داشت. دلیل این موضوع ساده است؛ مسیر ارتباط کاربران داخلی با دیتاسنترهای خارجی قطع یا بهشدت محدود میشود. استفاده از هاست داخل ایران باعث میشود ترافیک کاربران بدون خروج از شبکه ملی اطلاعات به سرور برسد. این موضوع علاوه بر افزایش سرعت لود صفحات، مهمترین تضمین برای آنلاین ماندن سایت در شرایط بحرانی است. البته انتخاب هاست ایرانی بهتنهایی کافی نیست و کیفیت زیرساخت، پایداری شبکه و قدرت سختافزار نیز اهمیت بالایی دارد.
در پروژههای حرفهای معمولاً از معماری هیبریدی استفاده میشود؛ به این صورت که نسخه اصلی سایت روی سرور ایران قرار دارد و یک نسخه پشتیبان روی سرور خارج از کشور نگهداری میشود. در این مدل، هنگام قطعی اینترنت جهانی، نسخه داخلی فعال باقی میماند و پس از بازگشت اینترنت، همگامسازی اطلاعات انجام میشود. نکته مهم دیگر استفاده از IP ثابت داخلی و تنظیم صحیح DNS است. بسیاری از سایتها علیرغم داشتن هاست ایرانی، به دلیل استفاده از DNS خارجی دچار اختلال میشوند. برای جلوگیری از این مشکل باید از DNSهای داخلی یا سرویسهایی استفاده شود که در شبکه ملی قابل دسترس هستند.

شبکه توزیع محتوا یا CDN یکی از مهمترین ابزارها برای افزایش سرعت و پایداری سایت است. اما استفاده از CDN خارجی در ایران یک ریسک جدی محسوب میشود. در زمان اینترنت ملی، ارتباط با این سرویسها قطع شده و سایت عملاً غیرقابل دسترس میشود. CDN داخلی با نگهداری نسخه کش شده فایلها در دیتاسنترهای داخل کشور باعث میشود کاربران بدون وابستگی به اینترنت جهانی به محتوای سایت دسترسی داشته باشند. این موضوع بهویژه برای فایلهای استاتیک مانند تصاویر، CSS و JavaScript اهمیت زیادی دارد.
زمانی که CDN داخلی بهدرستی پیادهسازی شود، حتی در صورت فشار زیاد روی سرور اصلی، کاربران همچنان نسخه کش شده صفحات را مشاهده میکنند. این ویژگی برای فروشگاههای آنلاین و سایتهای پرترافیک حیاتی است.استفاده از CDN داخلی باید همراه با تنظیم صحیح Cache-Control و TTL باشد. بسیاری از سایتها به دلیل تنظیمات اشتباه کش، در زمان قطعی اینترنت با محتوای ناقص یا قدیمی نمایش داده میشوند.
بزرگترین دلیل از کار افتادن سایتها در اینترنت ملی، وابستگی به منابع خارجی است. حتی اگر سرور داخل ایران باشد، وجود یک فایل جاوااسکریپت یا فونت خارجی میتواند کل صفحه را مختل کند.یکی از رایجترین این وابستگیها فونت گوگل است. بسیاری از قالبها بهصورت پیشفرض فونتها را از Google Fonts بارگذاری میکنند. در زمان قطعی اینترنت جهانی، این فونتها لود نمیشوند و باعث بههمریختگی کامل ظاهر سایت میشوند. راهحل اصولی این است که فونتها دانلود شده و مستقیماً روی هاست خود سایت قرار بگیرند.
مسئله بعدی کتابخانههای جاوااسکریپت است. بعضی توسعهدهندگان فایلهایی مانند jQuery یا Bootstrap را از CDN خارجی فراخوانی میکنند. این کار در ایران بسیار پرریسک است. تمام کتابخانهها باید بهصورت محلی میزبانی شوند تا سایت کاملاً مستقل از اینترنت جهانی اجرا شود.سرویسهای آماری خارجی نیز مشکلساز هستند. Google Analytics در بسیاری از مواقع مسدود میشود و اگر اسکریپت آن در بخش حیاتی سایت قرار داشته باشد، ممکن است کل اجرای JavaScript متوقف شود. جایگزینهای self-hosted بهترین گزینه برای این شرایط هستند.
نقشههای گوگل نیز نمونه دیگری از این وابستگیها هستند. در سایتهایی که آدرس یا لوکیشن اهمیت دارد، استفاده از نقشههای ایرانی راهکار مطمئنتری محسوب میشود.همین موضوع درباره Recaptcha نیز صدق میکند. فرمهایی که وابسته به Recaptcha گوگل هستند، در اینترنت ملی عملاً بلااستفاده میشوند. استفاده از کپچای داخلی یا روشهای سادهتر اعتبارسنجی میتواند این مشکل را برطرف کند.
فرانتاند اولین بخشی است که کاربر با آن ارتباط برقرار میکند و دقیقاً همان جایی است که بیشترین وابستگی به منابع خارجی ایجاد میشود. بسیاری از سایتها از نظر سرور مشکلی ندارند اما به دلیل طراحی نادرست فرانتاند، در زمان اینترنت ملی کاملاً از کار میافتند.اولین اصل در طراحی فرانتاند پایدار، self-host کردن تمام فایلهاست. تمام CSSها، جاوااسکریپتها، فونتها و آیکونها باید روی هاست خود سایت قرار داشته باشند. هیچ فایل حیاتی نباید از دامنه خارجی بارگذاری شود. حتی یک درخواست ناموفق میتواند باعث شود مرورگر اجرای باقی اسکریپتها را متوقف کند.
موضوع بعدی Minify و Bundle کردن فایلهاست. هرچه تعداد درخواستها کمتر باشد، احتمال خطا کاهش پیدا میکند. ترکیب فایلهای جاوااسکریپت و CSS در یک یا چند فایل اصلی باعث میشود سایت سریعتر لود شود و وابستگیهای پراکنده از بین برود.Lazy Load تصاویر نیز نقش مهمی در پایداری دارد. زمانی که اینترنت کند یا محدود است، بارگذاری همزمان تعداد زیادی تصویر میتواند باعث Timeout شود. با پیادهسازی Lazy Load، تصاویر تنها زمانی لود میشوند که کاربر به آن بخش اسکرول کند. یکی دیگر از اشتباهات رایج، استفاده از iframeهای خارجی است. ویدیوهای یوتیوب، نقشه گوگل یا ابزارهای چت خارجی در اینترنت ملی یا لود نمیشوند یا باعث کندی شدید صفحه میشوند. برای جلوگیری از این مشکل باید از سرویسهای داخلی یا نسخههای جایگزین استفاده شود.
در طراحی حرفهای، حتی فایلهای فونت آیکون مثل Font Awesome نیز بهصورت محلی ذخیره میشوند. بسیاری از قالبها این فایلها را از CDN خارجی دریافت میکنند که باید اصلاح شود.در نهایت، تست فرانتاند بدون اینترنت بینالملل یک مرحله حیاتی است. با قطع دستی اتصال خارجی و بررسی Network در مرورگر میتوان تمام درخواستهای خارجی را شناسایی و حذف کرد.

بکاند سایت قلب سیستم است و اگر درست طراحی نشده باشد، حتی با بهترین فرانتاند نیز سایت دوام نخواهد آورد. مهمترین اصل در بکاند مقاوم، حذف وابستگی به APIهای خارجی است.بسیاری از سایتها برای ارسال پیامک، پرداخت، احراز هویت یا حتی ثبت لاگ از سرویسهای خارجی استفاده میکنند. در اینترنت ملی این ارتباطها قطع شده و فرآیندهای اصلی سایت متوقف میشوند. تمام این سرویسها باید نسخه داخلی داشته باشند یا حداقل مکانیزم fallback برای آنها تعریف شود.
استفاده از سیستم کش داخلی نیز نقش بسیار مهمی دارد. با پیادهسازی Redis یا Memcached میتوان فشار روی دیتابیس را کاهش داد و حتی در زمان کندی شبکه، پاسخها را سریعتر به کاربران ارائه داد.در پروژههای بزرگ، استفاده از صف پردازش یا Queue باعث میشود عملیات سنگین بهصورت غیرهمزمان اجرا شوند. این کار مانع از قفل شدن سیستم در شرایط بحرانی میشود.همچنین داشتن نسخه replica از دیتابیس روی سرور داخلی باعث میشود حتی در صورت قطع ارتباط با سرور خارجی، اطلاعات حیاتی در دسترس باقی بماند. این معماری برای فروشگاههای آنلاین و سیستمهای رزرو بسیار مهم است.
نکته دیگر ذخیره فایلها روی سرور داخلی است. بسیاری از سایتها تصاویر و فایلها را روی فضای ابری خارجی نگه میدارند. در اینترنت ملی این فایلها لود نمیشوند و صفحات ناقص نمایش داده میشوند. تمام فایلهای مهم باید روی فضای داخلی یا CDN ایرانی ذخیره شوند.
یکی از اشتباهات بزرگ مدیران سایت این است که فقط در شرایط عادی سایت را بررسی میکنند. تست واقعی زمانی انجام میشود که اینترنت بینالملل قطع باشد. برای شبیهسازی این وضعیت میتوان دسترسی به دامنههای خارجی را از طریق فایل hosts یا تنظیمات فایروال مسدود کرد. سپس با ابزار Developer Tools مرورگر تمام درخواستهای شبکه بررسی میشود. هر فایلی که از خارج لود میشود باید شناسایی و جایگزین شود.همچنین تست فرمها، سیستم ورود کاربران، پرداختها و پنل مدیریت در این شرایط ضروری است. بسیاری از مشکلات فقط در سناریوهای واقعی ظاهر میشوند.توصیه میشود حداقل هر چند ماه یکبار این تست انجام شود، زیرا قالبها و افزونهها ممکن است در بهروزرسانیهای جدید دوباره وابستگی خارجی اضافه کنند.
برای اینکه تمام مفاهیمی که تا اینجا گفته شد جنبه عملی پیدا کند، بهتر است یک معماری واقعی را بررسی کنیم. فرض کنید قصد دارید یک وبسایت فروشگاهی یا خدماتی طراحی کنید که حتی در شرایط محدودیت اینترنت نیز فعال بماند.در این مدل، هسته اصلی سایت روی سرور داخل ایران قرار میگیرد. دیتابیس اصلی نیز در همان دیتاسنتر میزبانی میشود تا تمام تراکنشهای کاربران بدون خروج از کشور انجام شود. تصاویر، فایلها و منابع استاتیک از طریق CDN داخلی توزیع میشوند تا فشار از روی سرور اصلی برداشته شود.
در کنار این ساختار، یک سرور خارج از کشور بهعنوان نسخه پشتیبان نگهداری میشود. این سرور بهصورت دورهای با نسخه داخلی همگامسازی میشود اما در زمان اینترنت ملی نقشی در ارائه سرویس ندارد. پس از بازگشت اینترنت جهانی، اطلاعات بین دو سرور هماهنگ میشود.تمام فونتها، کتابخانههای جاوااسکریپت، فایلهای CSS و حتی آیکونها بهصورت محلی میزبانی میشوند. هیچ درخواست خارجی در سورس سایت وجود ندارد. نقشه از سرویس داخلی دریافت میشود و سیستم کپچا نیز نسخه بومی دارد.
برای ارسال پیامک، احراز هویت و پرداخت نیز تنها از سرویسدهندههای داخلی استفاده میشود. سیستم کش روی سرور فعال است تا صفحات پرترافیک بدون مراجعه مداوم به دیتابیس نمایش داده شوند.در چنین معماریای حتی اگر اینترنت بینالمللی بهطور کامل قطع شود، کاربران داخلی بدون مشکل به سایت دسترسی خواهند داشت و عملیات اصلی کسبوکار ادامه پیدا میکند.

بسیاری از طراحان وب تصور میکنند اگر هاست داخل ایران باشد، سایت بهصورت خودکار در اینترنت ملی فعال خواهد بود. این یکی از بزرگترین اشتباهات رایج است. در واقع بیش از نیمی از مشکلات سایتها به فرانتاند و وابستگیهای خارجی مربوط میشود.اشتباه دیگر استفاده از قالبها و افزونههای نالشده است. این محصولات معمولاً دارای ارتباط مخفی با سرورهای خارجی هستند و در شرایط محدودیت اینترنت باعث بروز خطاهای عجیب میشوند.
برخی توسعهدهندگان نیز بدون بررسی، اسکریپتهای آماده را از سایتهای خارجی کپی میکنند. این اسکریپتها اغلب وابسته به CDN یا API خارجی هستند و در زمان بحران کل سیستم را مختل میکنند.نادیده گرفتن تست در شرایط واقعی نیز خطای بزرگی است. بسیاری از سایتها روی کاغذ مشکلی ندارند اما در عمل، هنگام قطعی اینترنت، بخشهای حیاتی مثل ورود کاربران یا ثبت سفارش از کار میافتد.
در پایان باید گفت طراحی سایت پایدار نیازمند نگاه سیستمی است، نه صرفاً انتخاب یک هاست ایرانی. همه اجزای سایت باید مستقل از اینترنت جهانی عمل کنند.سرور باید داخل کشور باشد، DNS داخلی تنظیم شود، تمام فایلها بهصورت محلی میزبانی شوند، هیچ فونت یا اسکریپت خارجی استفاده نشود، نقشه و کپچا نسخه داخلی داشته باشد، سرویس پیامک و پرداخت بومی باشد و سیستم کش فعال باشد.فرانتاند باید سبک، بدون iframe خارجی و با حداقل درخواست شبکه طراحی شود. بکاند باید دارای صف پردازش، کش و مکانیزم fallback باشد. همچنین داشتن نسخه پشتیبان خارج از کشور برای مواقع عادی توصیه میشود.اجرای این موارد باعث میشود سایت شما حتی در سختترین شرایط نیز آنلاین باقی بماند.
واقعیت این است که اینترنت ملی یک اتفاق مقطعی نیست و احتمال تکرار آن همیشه وجود دارد. کسبوکارهایی که از همین حالا برای این شرایط آماده نشوند، در آینده با خسارتهای جدی مواجه خواهند شد.طراحی سایت مقاوم در برابر اینترنت ملی یک انتخاب نیست، بلکه یک ضرورت است. با حذف وابستگیهای خارجی، استفاده از زیرساخت داخلی، طراحی اصولی فرانتاند و بکاند و انجام تستهای دورهای میتوان سایتی ساخت که حتی در زمان محدودیت اینترنت نیز پایدار باقی بماند.اگر وبسایت شما منبع درآمد یا اعتبار برندتان است، بهتر است همین امروز معماری آن را بازبینی کنید و وابستگیهای خطرناک را حذف نمایید.
خیر. هاست ایرانی تنها یکی از اجزای پایداری سایت است. بسیاری از سایتها با وجود میزبانی داخلی، به دلیل استفاده از فونت گوگل، CDN خارجی، Recaptcha یا اسکریپتهای خارجی دچار اختلال میشوند. برای فعال ماندن سایت در اینترنت ملی باید تمام وابستگیهای خارجی حذف شود و فرانتاند و بکاند بهصورت مستقل طراحی شوند.
بله. در اکثر مواقع، CDNهای خارجی در زمان محدودیت اینترنت از دسترس خارج میشوند. اگر دامنه سایت پشت Cloudflare باشد، کل سایت Down خواهد شد حتی اگر سرور داخل ایران باشد. بهترین راهکار استفاده از CDN داخلی یا حذف کامل CDN خارجی است.
بهترین روش دانلود فونتها و میزبانی آنها روی هاست خود سایت است. با این کار هیچ درخواست خارجی برای بارگذاری فونت ارسال نمیشود و طراحی سایت در اینترنت ملی بدون مشکل باقی میماند.
وردپرس ذاتاً مشکلی ندارد، اما بسیاری از قالبها و افزونهها وابسته به سرویسهای خارجی هستند. اگر وردپرس با قالب سبک، فونت داخلی، افزونههای بومی و بدون API خارجی پیادهسازی شود، میتواند در اینترنت ملی کاملاً پایدار باشد.
با استفاده از Developer Tools مرورگر و بررسی تب Network میتوان تمام درخواستها را مشاهده کرد. هر فایلی که از دامنه غیرایرانی بارگذاری شود باید حذف یا جایگزین گردد. همچنین میتوان با قطع اینترنت بینالملل، سایت را بهصورت عملی تست کرد.
داشتن سرور خارجی بهعنوان بکاپ یا برای کاربران بینالمللی مفید است، اما نسخه اصلی سایت باید روی سرور داخلی باشد. سرور خارجی تنها نقش پشتیبان دارد و نباید وابستگی حیاتی ایجاد کند.