💻 دسته‌بندی وب‌سایت‌ها و PHP

وب‌سایت‌ها و PHP

هر آنچه برای مدیریت اسکریپت‌های PHP، رفع خطاهای سرور، نصب لاراول و OpenCart، اتصال API و اپلیکیشن موبایل نیاز دارید — به زبان ساده و کاربردی.
همین حالا مشکل سایت خود را حل کنید!

✓ رفع خطاهای رایج ✓ آموزش نصب اسکریپت‌ها ✓ مدیریت htaccess ✓ اتصال API
۱۸
مقاله تخصصی
۴
گروه آموزشی
+۱۰۰
مقاله در کل وبلاگ
رایگان
دسترسی کامل

مقالات آموزشی وب‌سایت‌ها و PHP

مقالات به چهار گروه دسته‌بندی شده‌اند. روی هر عنوان کلیک کنید تا محتوای کامل باز شود.

💚 به سرویس‌های مکمل هم نیاز دارید؟

در کنار هاست رایگان، می‌توانید از پنل پیامک رایگان و ثبت دامنه ارزان پارسه دو هم استفاده کنید.

🔧

رفع خطاهای رایج

حل خطاهای 404، 403، 500 و محدودیت حافظه PHP

۱ چرا با خطای ۴۰۴ (404 Not Found) مواجه می‌شویم؟ ▾

معرفی

خطای 404 Not Found یکی از پرتکرارترین خطاهایی است که کاربران هنگام بازدید از یک وب‌سایت با آن روبه‌رو می‌شوند. این خطا نشان می‌دهد سرور نتوانسته فایل یا صفحه‌ای که مرورگر درخواست کرده را پیدا کند.

برای مثال، فرض کنید دامنه شما example.com باشد و فایل‌های سایت در پوشه اصلی هاست قرار گرفته باشند. اگر کاربر آدرس https://example.com/blog/images/gallery/photo.jpg را وارد کند، سرور تلاش می‌کند فایل مربوط به این مسیر را در ساختار سایت پیدا کند. اگر یکی از پوشه‌های مسیر وجود نداشته باشد یا فایل photo.jpg در محل موردنظر قرار نگرفته باشد، سرور پاسخ 404 Page Not Found را نمایش می‌دهد.

البته این رفتار می‌تواند با فایل htaccess و قوانین بازنویسی URL تغییر کند. بنابراین همیشه نمایش خطای ۴۰۴ به معنای حذف شدن فایل نیست و ممکن است تنظیمات سایت یا قوانین بازنویسی باعث آن شده باشند.

دلایل رایج خطای ۴۰۴

۱. بررسی مسیر اصلی دامنه

در پنل مدیریت هاست VCP می‌توانید دامنه‌های خود و مسیر پوشه‌ای که هر دامنه به آن متصل است را بررسی کنید. ابتدا مطمئن شوید پوشه مربوط به دامنه وجود دارد، فایل‌های سایت در همان مسیر قرار گرفته‌اند، فایل اصلی مانند index.html یا index.php در محل صحیح آپلود شده و دامنه به پوشه درست متصل شده است.

۲. بررسی وجود فایل یا صفحه موردنظر

اگر خطای ۴۰۴ فقط برای یک فایل خاص نمایش داده می‌شود، بررسی کنید که فایل واقعاً روی هاست وجود داشته باشد. همچنین اگر لینک به یک تصویر، فایل CSS، JavaScript یا سایر منابع سایت اشاره می‌کند، وجود همان فایل را نیز بررسی کنید.

۳. اطمینان از آپلود کامل فایل‌ها

یکی از دلایل متداول خطای ۴۰۴، ناقص بودن فایل‌های آپلودشده است. اگر سایت خود را از یک هاست دیگر منتقل کرده‌اید، باید تمام فایل‌ها و پوشه‌های موردنیاز را منتقل کنید. پوشه‌هایی مانند images، css، js، uploads و assets نیز ممکن است ضروری باشند.

۴. حساسیت به حروف بزرگ و کوچک

سرورهای لینوکس نسبت به حروف بزرگ و کوچک در نام فایل‌ها حساس هستند. برای مثال logo.png و Logo.png دو فایل متفاوت محسوب می‌شوند. پیشنهاد می‌شود در نام‌گذاری فایل‌ها از الگوی ثابت با حروف کوچک، اعداد و خط تیره استفاده کنید.

۵. پوشه اصلی سایت را داخل URL قرار ندهید

فایل‌های سایت ممکن است در پوشه‌ای مثل htdocs قرار داشته باشند، اما نام آن پوشه لزوماً بخشی از URL نیست. آدرس عمومی معمولاً https://example.com/images/logo.png است، نه https://example.com/htdocs/images/logo.png.

۶. بررسی نحوه استفاده از URLها

در HTML می‌توان یک فایل را با روش‌های مختلفی فراخوانی کرد. استفاده از مسیرهای نسبی می‌تواند هنگام انتقال صفحات به پوشه‌های مختلف مشکل‌ساز شود. برای مثال اگر صفحه شما در https://example.com/blog/article.html قرار دارد و از images/logo.png استفاده می‌کنید، مرورگر فایل را در https://example.com/blog/images/logo.png جستجو می‌کند.

۷. بررسی قوانین فایل htaccess

فایل htaccess ابزار مهمی برای مدیریت رفتار سایت است. با این حال، یک قانون نادرست می‌تواند URLهای صحیح را نیز به صفحه ۴۰۴ هدایت کند. اگر اخیراً این فایل را تغییر داده‌اید و پس از آن صفحات با خطای ۴۰۴ مواجه شده‌اند، قوانین بازنویسی را بررسی کنید.

نکته: قبل از تغییر یا حذف htaccess، بهتر است از فایل فعلی نسخه پشتیبان تهیه کنید.

چرا هنگام خطای ۴۰۴ با خطای CORS مواجه می‌شویم؟

گاهی علاوه بر خطای ۴۰۴، در کنسول مرورگر پیام‌هایی مربوط به CORS مشاهده می‌شود. اگر مرورگر برای دریافت یک فایل مانند JavaScript، تصویر یا API درخواست ارسال کند و URL با خطای ۴۰۴ مواجه شود، سرور به جای فایل موردنظر، صفحه خطای ۴۰۴ را برمی‌گرداند. بنابراین بهتر است ابتدا خطای ۴۰۴ اصلی را برطرف کنید.

چگونه URL دارای خطای ۴۰۴ را پیدا کنیم؟

در مرورگرهای مبتنی بر Chromium مانند Chrome و Brave کلید F12 را فشار دهید، وارد بخش Network شوید، صفحه را دوباره بارگذاری کنید و درخواست‌هایی را که با وضعیت 404 نمایش داده می‌شوند پیدا کنید.

جمع‌بندی: خطای 404 Not Found معمولاً زمانی نمایش داده می‌شود که سرور نتواند منبع مورد درخواست را پیدا کند. با این حال، علت آن همیشه حذف شدن فایل نیست و مواردی مانند مسیر اشتباه، نام‌گذاری نادرست، تفاوت حروف بزرگ و کوچک، آپلود ناقص و تنظیمات htaccess نیز می‌توانند باعث آن شوند. با پیدا کردن URL دقیق دارای خطا، معمولاً می‌توان علت را سریع شناسایی و برطرف کرد.
۲ خطای 403 Forbidden چیست و چگونه آن را برطرف کنیم؟ ▾

معرفی

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

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

۱. فایل‌های سایت در مسیر اشتباه قرار گرفته‌اند

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

راه حل: فایل‌های وب‌سایت خود را دقیقاً در مسیر اصلی دامنه آپلود کنید. برای مثال اگر دامنه شما به پوشه public_html یا htdocs متصل شده، فایل‌هایی مانند index.php، index.html و wp-config.php باید داخل همان پوشه قرار داشته باشند.

۲. فایل صفحه اصلی سایت وجود ندارد

هنگامی که کاربر آدرس سایت شما را باز می‌کند، سرور به دنبال فایل پیش‌فرض برای نمایش صفحه اصلی می‌گردد. معمولاً سرور این فایل‌ها را بررسی می‌کند: index.php، index.html، index.htm. اگر هیچ‌کدام وجود نداشته باشند، ممکن است سرور به جای نمایش سایت، خطای 403 نمایش دهد.

نکته: نام فایل‌ها در بسیاری از سرورها به حروف کوچک و بزرگ حساس است. Index.php با index.php یکسان نیست.

۳. محدودیت نام فایل یا پوشه توسط قوانین امنیتی

برخی سیستم‌های امنیتی هاست برای جلوگیری از سوءاستفاده، دسترسی به بعضی نام‌ها یا مسیرهای حساس را محدود می‌کنند. مثلاً پوشه includes اغلب برای فایل‌های تنظیمات استفاده می‌شود و نباید مستقیماً باز شود. راه حل: نام پوشه را به scripts، functions یا pages تغییر دهید.

۴. مسدود شدن IP توسط تنظیمات سایت

گاهی یک قانون داخل فایل htaccess باعث می‌شود IP شما اجازه دسترسی به سایت را نداشته باشد. این اتفاق ممکن است به دلایل نصب افزونه امنیتی، تنظیمات اشتباه یا باقی ماندن قوانین قدیمی رخ دهد.

راه حل: فایل htaccess را باز کنید و به دنبال قوانینی مانند deny from یا allow from باشید. اگر قصد محدودیت IP ندارید، خطوط مربوطه را حذف کنید.

دلایل دیگر ایجاد خطای 403

سطح دسترسی اشتباه فایل‌ها

مجوز فایل‌ها و پوشه‌ها باید صحیح باشد. معمولاً فایل‌ها 644 و پوشه‌ها 755 مناسب هستند.

تنظیمات اشتباه htaccess

یک دستور اشتباه می‌تواند باعث مسدود شدن کل سایت شود. اگر بعد از تغییر این فایل خطای 403 دریافت کردید، نام فایل را موقتاً تغییر دهید و سایت را بررسی کنید.

افزونه‌های امنیتی وردپرس

در وردپرس، افزونه‌های امنیتی ممکن است IP کاربران یا مسیرهای خاص را مسدود کنند. برای بررسی، افزونه‌های امنیتی را موقتاً غیرفعال کنید.

جمع‌بندی: خطای 403 Forbidden معمولاً به معنی خراب بودن سایت نیست، بلکه نشان می‌دهد سرور اجازه دسترسی به یک مسیر یا فایل را صادر نکرده است. رایج‌ترین دلایل شامل قرار گرفتن فایل‌ها در مسیر اشتباه، نبود فایل index، تنظیمات نادرست htaccess، محدودیت‌های امنیتی و مسدود شدن IP است.
۳ خطای HTTP 500 چیست و چگونه آن را برطرف کنیم؟ ▾

معرفی

خطای HTTP 500 Internal Server Error یکی از خطاهای رایج در وب‌سایت‌ها است که زمانی نمایش داده می‌شود که سرور هنگام پردازش درخواست کاربر با یک مشکل داخلی مواجه شود. این پیام به تنهایی اطلاعات دقیقی درباره علت ارائه نمی‌دهد، اما معمولاً دو دلیل اصلی دارد: خطا در کدهای PHP سایت یا تنظیمات اشتباه در فایل htaccess.

دلایل اصلی ایجاد خطای HTTP 500

۱. خطا در کدهای PHP

یکی از رایج‌ترین دلایل خطای 500، وجود مشکل در اجرای یک فایل PHP است. این مشکل ممکن است به دلایل زیر ایجاد شود:

  • خطای برنامه‌نویسی در کد PHP
  • ناسازگاری نسخه PHP با اسکریپت سایت
  • نصب افزونه یا قالب مشکل‌دار
  • ناقص بودن فایل‌های برنامه
  • استفاده از توابع حذف‌شده در نسخه‌های جدید PHP

برای پیدا کردن علت اصلی باید نمایش خطاهای PHP را فعال کنید.

فعال کردن نمایش خطاهای PHP

  1. وارد پنل مدیریت هاست شوید
  2. به بخش تنظیمات PHP یا مدیریت نسخه PHP بروید
  3. دامنه موردنظر را انتخاب کنید
  4. گزینه نمایش خطاهای PHP (Display Errors) را فعال کنید
  5. تنظیمات را ذخیره کنید
  6. دوباره سایت را بازخوانی کنید

فعال کردن حالت Debug در وردپرس

در فایل wp-config.php مقدار define('WP_DEBUG', false); را به define('WP_DEBUG', true); تغییر دهید.

بررسی کدهایی که خطاها را مخفی می‌کنند

گاهی در فایل‌های PHP دستورهایی وجود دارد که نمایش خطا را غیرفعال می‌کنند:

ini_set('display_errors', 0);
ini_set('display_startup_errors', 0);
error_reporting(0);

چگونه خطای اصلی PHP را رفع کنیم؟

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

۲. مشکل در فایل htaccess

یکی دیگر از دلایل رایج خطای HTTP 500، وجود دستور اشتباه در فایل htaccess است. این فایل برای تنظیم رفتار سرور Apache استفاده می‌شود و یک خطای کوچک می‌تواند باعث از کار افتادن سایت شود.

برای آزمایش، فایل htaccess را به .htaccess.backup تغییر نام دهید و سایت را دوباره باز کنید. اگر خطای 500 برطرف شد، مشخص می‌شود که مشکل از این فایل بوده است.

پیدا کردن خط مشکل‌دار با روش تست مرحله‌ای

اگر نمی‌دانید کدام خط باعث مشکل شده، نیمی از دستورات را موقتاً غیرفعال کنید، سایت را بررسی کنید و به همین ترتیب بخش مشکل‌دار را پیدا کنید.

دلایل دیگر خطای HTTP 500

  • محدودیت منابع هاست: مصرف بیش از حد RAM، CPU یا تعداد پردازش‌ها
  • مجوز اشتباه فایل‌ها: فایل‌ها 644 و پوشه‌ها 755
  • فایل‌های ناقص یا خراب: آپلود ناقص فایل‌ها
جمع‌بندی: برای رفع خطای 500 ابتدا باید پیام خطای واقعی را پیدا کنید، سپس فایل یا تنظیمات مشکل‌دار را اصلاح کنید. بررسی لاگ‌های خطا، نسخه PHP و فایل htaccess از اولین اقدامات است.
۴ خطای Allowed memory size exhausted در PHP ▾

معرفی

هنگام اجرای یک اسکریپت PHP روی وب‌سایت، ممکن است با خطایی مشابه پیام زیر مواجه شوید:

Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 74 bytes) in /folder/path/to/file

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

دلیل ایجاد خطا

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

عوامل مصرف زیاد حافظه PHP

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

چگونه مشکل را پیدا کنیم؟

۱. بررسی افزونه‌ها

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

۲. بررسی قالب

قالب فعلی را موقتاً تغییر دهید و عملکرد سایت را بررسی کنید.

۳. بررسی گزارش خطاها

لاگ‌های خطای PHP می‌توانند اطلاعات بیشتری درباره فایل یا بخش مشکل‌دار ارائه دهند.

آیا می‌توان مقدار حافظه PHP را افزایش داد؟

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

راهکارهای کاهش مصرف حافظه PHP

  • افزونه‌ها و قالب‌های اضافی را حذف کنید
  • همیشه از نسخه‌های به‌روز نرم‌افزارها استفاده کنید
  • فایل‌ها و تصاویر را بهینه کنید
  • کدهای غیرضروری را حذف کنید
  • پایگاه داده را مرتب بررسی و بهینه‌سازی کنید
  • از اسکریپت‌های استاندارد و بهینه استفاده کنید
جمع‌بندی: خطای Allowed memory size exhausted زمانی رخ می‌دهد که یک اسکریپت PHP بیشتر از مقدار حافظه مجاز استفاده کند. مهم‌ترین دلایل شامل افزونه‌های سنگین، قالب‌های غیربهینه، کدنویسی نامناسب، پردازش‌های سنگین و افزایش حجم اطلاعات سایت است.
۵ چرا در انتهای URL عبارت ?i=1 را مشاهده می‌کنم؟ ▾

معرفی

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

عبارت ?i=1 چیست؟

?i=1 یک پارامتر موقت در URL است که ممکن است در جریان بررسی امنیتی درخواست کاربر ایجاد شود. هدف از این بررسی، تشخیص درخواست‌های واقعی مرورگر از برخی درخواست‌های خودکار، ربات‌ها یا ترافیک غیرعادی است. پس از تکمیل بررسی امنیتی، معمولاً کاربر به آدرس اصلی سایت بازگردانده می‌شود.

چرا ?i=1 به URL اضافه می‌شود؟

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

  • ارسال یک درخواست آزمایشی به مرورگر
  • بررسی امکان استفاده از کوکی‌ها
  • بررسی رفتار مرورگر
  • ثبت مرحله یا تعداد دفعات انجام بررسی
  • بارگذاری مجدد صفحه برای تکمیل فرآیند اعتبارسنجی

اگر بررسی در مرحله اول با موفقیت انجام نشود و سیستم مجبور به تکرار شود، ممکن است پارامترهایی مانند ?i=2 یا ?i=3 نیز مشاهده شوند.

آیا لازم است کاری انجام دهم؟

در حالت عادی خیر. اگر فقط یک بار ?i=1 را مشاهده کرده‌اید و بعد از چند لحظه سایت به شکل عادی باز می‌شود، نیازی به انجام هیچ کاری نیست. این پارامتر معمولاً موقتی است و پس از تکمیل بررسی امنیتی، URL اصلی سایت بدون این عبارت نمایش داده می‌شود.

اگر ?i=1 دائماً نمایش داده شود چه کنیم؟

  • فعال بودن کوکی‌ها: مطمئن شوید مرورگر اجازه ذخیره و استفاده از کوکی‌ها را می‌دهد
  • افزونه‌های مرورگر: برخی افزونه‌های حریم خصوصی می‌توانند در عملکرد سیستم‌های امنیتی اختلال ایجاد کنند
  • پاک کردن کش و کوکی‌ها: پاک کردن داده‌های مربوط به سایت و ورود مجدد
  • استفاده از مرورگر به‌روز: نسخه‌های قدیمی مرورگر ممکن است ناسازگار باشند

آیا ?i=1 روی سایت تأثیر منفی دارد؟

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

آیا ?i=1 به سئو آسیب می‌زند؟

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

آیا همه بازدیدکنندگان ?i=1 را مشاهده می‌کنند؟

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

آیا این موضوع به معنای هک شدن سایت است؟

خیر. صرف مشاهده ?i=1، ?i=2 یا پارامترهای مشابه در URL به معنی هک شدن، ویروسی شدن یا وجود مشکل امنیتی در سایت نیست. این پارامتر می‌تواند بخشی از یک فرآیند محافظتی باشد.

جمع‌بندی: عبارت‌هایی مانند ?i=1 که گاهی در انتهای URL سایت مشاهده می‌شوند، معمولاً مربوط به فرآیندهای موقت بررسی امنیتی هستند و به خودی خود نشانه خرابی یا هک شدن سایت نیستند. اگر این پارامتر به صورت مداوم نمایش داده می‌شود، ابتدا کوکی‌های مرورگر، افزونه‌های امنیتی، کش و تنظیمات مرورگر را بررسی کنید.
🚀

نصب اسکریپت‌ها

نصب لاراول، OpenCart و مدیریت فایل htaccess

۶ آموزش نصب لاراول روی هاست ▾

معرفی

لاراول یکی از محبوب‌ترین فریم‌ورک‌های PHP برای توسعه وب‌سایت‌های مدرن است. با این حال، ساختار لاراول با بسیاری از پروژه‌های ساده PHP تفاوت دارد و هنگام انتقال آن به هاست باید به محل قرارگیری فایل‌های پروژه، پوشه public، فایل .env، وابستگی‌های Composer و تنظیمات سرور توجه ویژه‌ای داشته باشید.

ساختار پروژه لاراول

پس از ایجاد یک پروژه لاراول، ساختار کلی آن معمولاً به شکل زیر است:

my-laravel-app/
├── app/
├── bootstrap/
├── config/
├── database/
├── public/
│   └── index.php
├── resources/
├── routes/
├── storage/
└── vendor/
└── .env

یکی از مهم‌ترین نکات ساختار لاراول، پوشه public است. این پوشه ریشه قابل دسترسی از طریق وب برنامه محسوب می‌شود. در مقابل، فایل‌هایی مانند .env، کدهای اصلی برنامه، تنظیمات، وابستگی‌ها و فایل‌های داخلی لاراول نباید مستقیماً از طریق URL قابل دسترسی باشند.

مرحله اول: آماده سازی پروژه

نصب وابستگی‌های Composer

composer install --no-dev

استفاده از --no-dev باعث می‌شود بسته‌هایی که صرفاً برای محیط توسعه موردنیاز هستند نصب نشوند.

ساخت فایل‌های Frontend

npm install
npm run build

پس از ساخت نسخه نهایی، نیازی به انتقال پوشه node_modules به هاست ندارید.

هشدار: پوشه node_modules را روی هاست آپلود نکنید.

مرحله دوم: آپلود پروژه

پس از آماده سازی پروژه، فایل‌های آن را از طریق FTP یا File Manager هاست به حساب میزبانی خود منتقل کنید. ساختار پروژه پس از انتقال باید منظم و مشابه ساختار اصلی لاراول باشد.

توجه داشته باشید فایل .env یک فایل مخفی محسوب می‌شود و ممکن است برخی نرم‌افزارهای FTP آن را نمایش ندهند. برای اطلاعات بیشتر آموزش FTP را ببینید.

مرحله سوم: تنظیم فایل htaccess

یکی از مهم‌ترین بخش‌های نصب لاراول، تنظیم صحیح Rewrite است. اگر ریشه وب دامنه مستقیماً به پوشه پروژه لاراول اشاره کند، باید درخواست‌های ورودی به پوشه public هدایت شوند.

RewriteEngine On
RewriteRule ^(.*)$ public/$1 [L]
نکته مهم: لاراول نیز به صورت پیش‌فرض یک فایل htaccess در پوشه public دارد. این فایل را حذف یا با فایل ریشه جایگزین نکنید.

مرحله چهارم: تنظیم دسترسی فایل‌های Storage

php artisan storage:link

این دستور یک لینک بین public/storage و storage/app/public ایجاد می‌کند. اگر امکان ایجاد این لینک روی سرویس شما وجود نداشته باشد، می‌توان از Rewrite استفاده کرد.

مرحله پنجم: تنظیم فایل .env

APP_ENV=production
APP_DEBUG=false
APP_URL=https://example.com

برای Session و Cache:

SESSION_DRIVER=file
CACHE_STORE=file

برای اتصال دیتابیس:

DB_CONNECTION=mysql
DB_HOST=YOUR_DATABASE_HOST
DB_PORT=3306
DB_DATABASE=YOUR_DATABASE_NAME
DB_USERNAME=YOUR_DATABASE_USER
DB_PASSWORD=YOUR_DATABASE_PASSWORD
نکته مهم: مقدار DB_HOST را همیشه localhost قرار ندهید. مقدار صحیح باید بر اساس اطلاعات پنل هاست مشخص شود.

اگر دسترسی SSH یا Terminal نداریم چه کنیم؟

در این شرایط نمی‌توانید دستورات Artisan را مستقیماً روی سرور اجرا کنید. می‌توانید پایگاه داده را روی سیستم خود آماده کرده و از طریق phpMyAdmin فایل SQL را روی هاست وارد کنید. برای اطلاعات بیشتر آموزش MySQL را ببینید.

قابلیت‌های وابسته به محدودیت هاست

  • Cron و Scheduler: نیاز به امکان اجرای Cron Job دارد
  • Queue و پردازش پس‌زمینه: نیاز به منابع مناسب دارد
  • WebSocket و Real-Time: نیاز به زیرساخت WebSocket دارد

مشکلات رایج

  • خطای 500: تنظیمات اشتباه .env، نسخه نامناسب PHP، نبودن vendor
  • تغییرات نمایش داده نمی‌شود: اجرای php artisan optimize:clear
  • فایل‌ها وجود ندارند: محدودیت حجم آپلود، قطع اتصال FTP، مخفی بودن فایل‌های نقطه‌ای
جمع‌بندی: نصب لاراول روی هاست تنها به آپلود فایل‌های پروژه محدود نمی‌شود. مهم‌ترین نکته این است که فایل‌های داخلی برنامه نباید مستقیماً از طریق وب قابل دسترسی باشند و درخواست‌های سایت باید به بخش عمومی لاراول یعنی public هدایت شوند.
۷ آموزش نصب OpenCart روی هاست ▾

معرفی

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

نصب OpenCart با Softaculous

اگر سرویس هاست شما دارای Softaculous Apps Installer باشد، نصب OpenCart بسیار ساده خواهد بود:

  1. وارد کنترل پنل هاست شوید
  2. بخش Softaculous را باز کنید
  3. از قسمت فروشگاه‌ها، OpenCart را انتخاب کنید
  4. روی گزینه نصب (Install) کلیک کنید
  5. اطلاعات مربوط به دامنه، نام فروشگاه و حساب مدیریت را وارد کنید
  6. فرآیند نصب را تکمیل کنید

تنظیم مسیر دایرکتوری داده OpenCart

OpenCart برای ذخیره اطلاعات مهمی مانند فایل‌های کش، فایل‌های موقت، فایل‌های آپلود شده و اطلاعات داخلی سیستم به یک پوشه جداگانه نیاز دارد. در نصب‌های معمولی، Softaculous ممکن است این پوشه را به صورت پیش‌فرض خارج از مسیر اصلی سایت ایجاد کند، مثلاً ocartdata.

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

تغییر مسیر پوشه داده در Softaculous

در هنگام نصب OpenCart از طریق Softaculous، قسمت Data Directory را پیدا کنید و به جای مقدار پیش‌فرض ocartdata، مسیر کامل‌تر را وارد کنید. برای مثال: htdocs/ocartdata

رفع خطای open_basedir در OpenCart

در برخی نسخه‌های OpenCart ممکن است هنگام باز کردن فروشگاه با خطایی مشابه زیر مواجه شوید:

Warning: is_dir(): open_basedir restriction in effect

یا:

The "/" directory does not exist

این خطا معمولاً مربوط به محدودیت امنیتی PHP با نام open_basedir است.

روش رفع خطای open_basedir در OpenCart

به مسیر system/library/template/twig.php بروید و فایل را باز کنید. در حدود خط ۳۹، کدی مشابه زیر را پیدا کنید:

$this->loader = new \Twig\Loader\FilesystemLoader('/', $this->root);

آن را به شکل زیر تغییر دهید:

$this->loader = new \Twig\Loader\FilesystemLoader('./', $this->root);

نکات مهم پس از نصب OpenCart

  • فعال کردن SSL: حتماً سایت خود را با HTTPS فعال کنید. برای اطلاعات بیشتر آموزش SSL را ببینید.
  • تغییر اطلاعات ورود مدیریت: نام کاربری و رمز عبور پیش‌فرض را تغییر دهید
  • حذف فایل‌های اضافی نصب: پوشه‌های اضافی را حذف کنید
  • بروزرسانی OpenCart: از آخرین نسخه پایدار استفاده کنید

مشکلات رایج نصب OpenCart

  • خطای دسترسی به پوشه Storage: مسیر اشتباه Data Directory یا سطح دسترسی نادرست
  • صفحه سفید بعد از نصب: خطای PHP، ناسازگاری نسخه PHP
  • خطای Permission Denied: سطح دسترسی فایل‌ها 644 و پوشه‌ها 755
جمع‌بندی: OpenCart یک گزینه مناسب برای راه‌اندازی فروشگاه اینترنتی حرفه‌ای است. مهم‌ترین مواردی که باید بررسی کنید شامل تنظیم صحیح مسیر Data Directory، قرار دادن فایل‌های فروشگاه در مسیر درست، رفع محدودیت‌های احتمالی PHP مانند open_basedir، استفاده از نسخه مناسب PHP و رعایت نکات امنیتی پس از نصب است.
۸ نحوه تنظیم قوانین سفارشی در فایل htaccess ▾

معرفی

فایل htaccess یکی از ابزارهای قدرتمند در هاست‌های مبتنی بر Apache است که به شما اجازه می‌دهد رفتار وب‌سایت خود را کنترل و شخصی‌سازی کنید. با استفاده از قوانین موجود در این فایل می‌توانید امکانات مختلفی را به سایت خود اضافه کنید، از جمله:

  • ایجاد آدرس‌های اینترنتی زیباتر (URL Friendly)
  • تنظیم ریدایرکت صفحات
  • ایجاد صفحات خطای سفارشی
  • افزایش تنظیمات امنیتی
  • محدود کردن دسترسی به بخش‌های خاص سایت
  • مدیریت نحوه پردازش فایل‌ها توسط سرور

ایجاد فایل htaccess در پوشه سایت

برای استفاده از قوانین سفارشی، ابتدا باید فایل htaccess را در پوشه اصلی وب‌سایت خود ایجاد کنید. در ساختار هاست، هر دامنه معمولاً دارای یک پوشه مخصوص برای فایل‌های سایت است، مثلاً htdocs/.

در این پوشه می‌توانید یک فایل جدید با نام .htaccess ایجاد کنید و قوانین موردنظر خود را داخل آن قرار دهید.

نکته مهم هنگام ساخت فایل htaccess

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

اگر اسکریپت شما فایل htaccess دارد

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

فایل اصلی htaccess هاست را تغییر ندهید

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

آیا حذف فایل htaccess باعث خراب شدن سایت می‌شود؟

اگر به اشتباه فایل htaccess را حذف کردید، معمولاً جای نگرانی نیست. حذف این فایل اغلب فقط باعث تغییر در برخی تنظیمات پیش‌فرض مانند صفحات خطا یا قوانین بازنویسی URL می‌شود و به خودی خود باعث حذف اطلاعات سایت یا خراب شدن فایل‌های اصلی نمی‌شود.

نکات مهم قبل از تغییر قوانین htaccess

  • از فایل فعلی نسخه پشتیبان تهیه کنید
  • کدها را از منابع معتبر دریافت کنید
  • هر تغییر را جداگانه بررسی کنید
  • در صورت ایجاد خطای 500، آخرین تغییرات را حذف یا اصلاح کنید
جمع‌بندی: فایل htaccess ابزاری کاربردی برای مدیریت بهتر وب‌سایت و تنظیم رفتار سرور است. با استفاده صحیح از این فایل می‌توانید امکاناتی مانند ریدایرکت‌ها، URLهای بهینه، تنظیمات امنیتی و صفحات خطای اختصاصی را به سایت خود اضافه کنید.
۹ محدودیت‌های Site.pro Website Builder ▾

معرفی

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

اگر هنگام استفاده از سایت‌ساز Site.pro در هاست خود با پیام «از مدیر بخواهید این ویژگی را فعال کند» مواجه شده‌اید، این پیام به معنی وجود مشکل در سایت شما نیست. این مورد معمولاً به دلیل محدود بودن امکانات نسخه‌ای از سایت‌ساز است که روی سرویس میزبانی فعال شده است.

چرا این پیام نمایش داده می‌شود؟

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

تفاوت نسخه محدود و نسخه کامل

نسخه محدود سایت‌ساز معمولاً برای ساخت صفحات ساده و معرفی اولیه وب‌سایت مناسب است. در این نسخه امکانات پایه مانند ایجاد صفحات ساده، ویرایش ظاهر سایت، اضافه کردن متن و تصویر و استفاده از قالب‌های آماده در اختیار کاربر قرار می‌گیرد. اما نسخه کامل Site.pro امکانات بیشتری ارائه می‌دهد که برای وب‌سایت‌های حرفه‌ای، فروشگاه‌ها و پروژه‌های بزرگ‌تر مناسب‌تر است.

آیا امکان فعال کردن تمام امکانات وجود دارد؟

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

راهکارهای جایگزین برای ساخت سایت

  • وردپرس: یکی از پرکاربردترین سیستم‌های مدیریت محتوا با انعطاف‌پذیری بالا، افزونه‌های فراوان و مناسب برای سایت‌های شرکتی، وبلاگ و فروشگاه. برای اطلاعات بیشتر آموزش وردپرس را ببینید.
  • طراحی سایت اختصاصی: برای پروژه‌های حرفه‌ای‌تر که ظاهر و امکانات سایت دقیقاً مطابق نیاز ساخته می‌شود
  • سایت‌سازهای آنلاین: سایت‌سازهای مختلفی وجود دارند که بدون نیاز به دانش برنامه‌نویسی امکان ساخت سایت را فراهم می‌کنند. برای اطلاعات بیشتر آموزش سایت‌ساز را ببینید.
جمع‌بندی: پیام «از مدیر بخواهید این ویژگی را فعال کند» در Site.pro معمولاً به دلیل محدودیت امکانات نسخه مورد استفاده نمایش داده می‌شود و نشان‌دهنده خرابی سایت یا مشکل در هاست نیست. اگر به امکانات حرفه‌ای‌تر نیاز دارید، می‌توانید از نسخه کامل Site.pro یا سیستم‌های مدیریت محتوایی مانند وردپرس استفاده کنید.
🔌

API و اتصالات

اتصال API، اپلیکیشن موبایل و سیستم امنیتی هاست

۱۰ چرا دسترسی به API در وب‌سایت من کار نمی‌کند؟ ▾

معرفی

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

هنگام دسترسی به API چه اتفاقی می‌افتد؟

یک مرورگر معمولی می‌تواند JavaScript را اجرا کند، کوکی‌ها را ذخیره کند و اطلاعات موردنیاز یک سیستم امنیتی را در درخواست‌های بعدی ارسال کند. اما بسیاری از API Clientها و ابزارهای خودکار مانند اسکریپت‌های PHP، Python، cURL یا سرویس‌های خارجی، مرورگر واقعی محسوب نمی‌شوند و ممکن است قابلیت اجرای JavaScript یا مدیریت کوکی موردنیاز سیستم امنیتی را نداشته باشند.

در چنین شرایطی، درخواست API ممکن است به جای دریافت پاسخ مورد انتظار، با خطاهایی مانند 403 Forbidden مواجه شود. گاهی نیز به جای دریافت پاسخ JSON، یک صفحه HTML مربوط به بررسی امنیتی دریافت می‌شود.

چه نوع APIهایی ممکن است تحت تأثیر قرار بگیرند؟

  • REST API: اگر سرویس دیگری قصد دارد از طریق اینترنت به Endpointهای آن متصل شود
  • APIهای وردپرس: ابزارها و افزونه‌هایی که از API یا XML-RPC استفاده می‌کنند
  • Webhookها: سرویس خارجی که پس از رخ دادن یک رویداد، درخواست HTTP به سایت شما ارسال می‌کند
  • سرویس‌های شخص ثالث: سیستم پرداخت، نرم‌افزار مدیریت، اپلیکیشن موبایل
  • درخواست‌های cURL: ابزارهایی که مرورگر واقعی نیستند

چگونه تشخیص دهیم مشکل از سیستم امنیتی است؟

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

  • URL مربوط به API را در مرورگر باز کنید
  • همان URL را با cURL درخواست کنید
  • کد وضعیت HTTP را بررسی کنید
  • نوع پاسخ دریافتی را بررسی کنید (JSON یا HTML)
  • Headerهای HTTP را مقایسه کنید

راهکارهای رفع مشکل API

۱. استفاده از سرویس میزبانی مناسب برای API

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

۲. درخواست‌های خروجی ارسال کنید

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

۳. به جای Webhook ورودی، از دریافت دوره‌ای اطلاعات استفاده کنید

در برخی پروژه‌ها می‌توان معماری سیستم را تغییر داد. به جای دریافت Webhook، سایت شما در زمان‌های مشخص اطلاعات سرویس خارجی را بررسی می‌کند و تغییرات جدید را دریافت می‌کند.

۴. استفاده از یک سرور واسط

در پروژه‌های حرفه‌ای، می‌توان یک سرور یا سرویس واسط برای دریافت درخواست‌های API در نظر گرفت.

۵. بررسی تنظیمات امنیتی و Firewall

گاهی مشکل API به دلیل سیستم امنیتی عمومی نیست و یک قانون Firewall، ModSecurity، WAF یا محدودیت IP باعث مسدود شدن درخواست می‌شود.

آیا می‌توان مشکل را با افزودن هدر CORS حل کرد؟

لزوماً خیر. CORS بیشتر مربوط به محدودیت‌های مرورگر در درخواست‌های Cross-Origin است و با سیستم‌های تشخیص ربات یا بررسی امنیتی سرور یکسان نیست.

جمع‌بندی: اگر API سایت شما در مرورگر کار می‌کند اما درخواست‌های برنامه‌نویسی شده، cURL، Webhook یا سرویس‌های خارجی با خطاهایی مانند 403 Forbidden مواجه می‌شوند، احتمال دارد یک لایه امنیتی درخواست خودکار را مسدود کرده باشد. برای پروژه‌هایی که وابستگی زیادی به APIهای ورودی، Webhook، ربات‌ها یا ارتباط دائمی بین چند سرویس دارند، انتخاب یک سرویس میزبانی متناسب با نیاز پروژه بسیار مهم است.
۱۱ چرا اپلیکیشن موبایل من به وب‌سایت متصل نمی‌شود؟ ▾

معرفی

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

هنگام اتصال اپلیکیشن به سایت چه اتفاقی می‌افتد؟

اپلیکیشن‌های موبایل معمولاً مانند مرورگرهای وب رفتار نمی‌کنند. یک مرورگر مانند Chrome، Firefox یا Safari می‌تواند JavaScript را اجرا کند، کوکی‌ها را مدیریت کند و فرآیندهای امنیتی موردنیاز یک وب‌سایت را انجام دهد. اما یک اپلیکیشن موبایل که با زبان‌ها و فریم‌ورک‌هایی مانند Kotlin، Java، Swift، Flutter، React Native یا .NET MAUI توسعه داده شده است، معمولاً برای ارتباط با سرور از درخواست‌های مستقیم HTTP یا HTTPS استفاده می‌کند.

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

چرا مرورگر موبایل سایت را باز می‌کند اما اپلیکیشن نمی‌تواند؟

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

نکته: باز شدن سایت در مرورگر موبایل، لزوماً به معنای قابل دسترس بودن API یا Endpoint آن برای اپلیکیشن نیست.

چه اپلیکیشن‌هایی ممکن است تحت تأثیر قرار بگیرند؟

  • اپلیکیشن اختصاصی سایت (اندروید و iOS)
  • اپلیکیشن‌های وردپرسی
  • اپلیکیشن‌های محتوایی (اخبار، مقالات، محصولات)
  • اپلیکیشن‌هایی که از API استفاده می‌کنند

چه چیزی ممکن است باعث خطای اتصال شود؟

  • محدودیت‌های امنیتی سرور
  • Firewall یا WAF
  • مسدود شدن IP
  • تنظیمات نادرست API
  • خطای SSL یا گواهی HTTPS
  • آدرس اشتباه Endpoint
  • خطای احراز هویت
  • تنظیمات CORS
  • قوانین htaccess
  • محدودیت User-Agent
  • محدودیت درخواست‌های HTTP
  • پاسخ نادرست سرور

چگونه مشکل را تشخیص دهیم؟

بررسی کد وضعیت HTTP:

  • 200 OK: موفقیت درخواست
  • 403 Forbidden: سرور درخواست را مجاز نمی‌داند
  • 404 Not Found: URL یا Endpoint وجود ندارد
  • 500 Internal Server Error: خطای داخلی سرور یا برنامه

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

راهکارهای حل مشکل

۱. سایت را از داخل مرورگر بررسی کنید

URL مربوط به API یا صفحه موردنظر را در مرورگر موبایل باز کنید.

۲. API را به صورت مستقیم آزمایش کنید

Endpoint مربوطه را جداگانه آزمایش کنید و بررسی کنید که آیا پاسخ مورد انتظار مانند JSON دریافت می‌شود.

۳. HTTPS و گواهی SSL را بررسی کنید

اپلیکیشن‌های موبایل نسبت به تنظیمات HTTPS حساس هستند. مطمئن شوید گواهی SSL معتبر است، دامنه با HTTPS باز می‌شود و زنجیره گواهی کامل است. برای اطلاعات بیشتر آموزش SSL را ببینید.

۴. API را برای استفاده توسط اپلیکیشن طراحی کنید

GET    /api/products
GET    /api/products/10
POST   /api/login
POST   /api/orders

پاسخ API به شکل مشخص و قابل پیش‌بینی ارائه شود:

{
"success": true,
"data": []
}

۵. تنظیمات CORS را بررسی کنید

اگر اپلیکیشن شما از یک محیط وب مانند WebView استفاده می‌کند، ممکن است CORS نیز در روند ارتباط نقش داشته باشد.

اگر خطای 403 دریافت می‌کنیم چه کنیم؟

خطای 403 Forbidden به این معنی است که سرور درخواست را دریافت کرده اما دسترسی به منبع موردنظر را مجاز نمی‌داند. موارد زیر را بررسی کنید:

  • آیا IP اپلیکیشن یا سرور مسدود شده است؟
  • آیا Firewall درخواست را متوقف کرده است؟
  • آیا Endpoint نیاز به احراز هویت دارد؟
  • آیا Headerهای موردنیاز ارسال می‌شوند؟
  • آیا User-Agent درخواست محدود شده است؟
  • آیا htaccess دسترسی به مسیر را محدود کرده است؟
  • آیا سیستم امنیتی سرور درخواست‌های خودکار را شناسایی می‌کند؟

آیا هاست مناسب اپلیکیشن موبایل است؟

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

جمع‌بندی: اگر اپلیکیشن موبایل شما نمی‌تواند به سایت یا API متصل شود، ابتدا باید مشخص کنید مشکل دقیقاً در کدام بخش ایجاد شده است. باز شدن سایت در Chrome یا Safari به تنهایی کافی نیست؛ زیرا اپلیکیشن ممکن است درخواست‌های خود را به شکل متفاوتی ارسال کند.
۱۲ سیستم امنیتی هاست و تأثیر آن بر دسترسی به وب‌سایت ▾

معرفی

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

در سرویس‌های میزبانی VCP نیز مکانیزم‌های امنیتی برای محافظت از منابع سرور و افزایش پایداری سرویس‌ها استفاده می‌شود. این سیستم‌ها باعث می‌شوند وب‌سایت شما در برابر بسیاری از درخواست‌های غیرمجاز و فعالیت‌های مخرب محافظت شود. البته فعال بودن این نوع سیستم‌های امنیتی ممکن است روی برخی دسترسی‌های خاص مانند ابزارهای خودکار، APIها یا درخواست‌های بدون مرورگر تأثیر بگذارد.

سیستم امنیتی چگونه کار می‌کند؟

سیستم امنیتی هنگام ورود بازدیدکنندگان به سایت، برخی موارد را بررسی می‌کند تا مطمئن شود درخواست توسط یک مرورگر واقعی ارسال شده است:

  • امکان اجرای JavaScript در مرورگر
  • پذیرش Cookieها
  • بررسی رفتار درخواست کاربر
  • تشخیص درخواست‌های غیرعادی و خودکار

این فرآیند به صورت خودکار انجام می‌شود و بیشتر کاربران عادی که با مرورگرهایی مانند Chrome، Firefox، Edge یا Safari وارد سایت می‌شوند، متوجه آن نخواهند شد.

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

چه مواردی ممکن است با سیستم امنیتی سازگار نباشد؟

برنامه‌های موبایل و دسکتاپ

  • اپلیکیشن‌های موبایل اندروید و iOS که مستقیماً اطلاعات سایت را دریافت می‌کنند
  • نرم‌افزارهای دسکتاپی که محتوای سایت را به صورت خودکار دریافت می‌کنند
  • برنامه‌های مبتنی بر PWA که بدون مرورگر کامل کار می‌کنند

توجه داشته باشید که مرورگرهای موبایل به صورت عادی بدون مشکل کار می‌کنند.

API و درخواست‌های خودکار

  • APIهای REST
  • XML-RPC وردپرس
  • درخواست‌های cURL و wget
  • ربات‌ها و اسکریپت‌های خودکار
  • Webhook سرویس‌های خارجی

ابزارهای بررسی و اعتبارسنجی سایت

  • ابزارهای تست و بررسی وب‌سایت
  • برخی ابزارهای تحلیل سئو
  • سیستم‌های اعتبارسنجی دامنه
  • ابزارهای بررسی خودکار Webmaster

درخواست‌های بین دامنه‌ای (Cross-Origin)

  • درخواست‌های AJAX از دامنه‌های دیگر
  • دریافت مستقیم فایل‌ها و تصاویر سایت در وب‌سایت‌های دیگر
  • استفاده غیرمجاز از منابع سایت (Hotlinking)

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

درخواست‌های خروجی از سایت

  • اتصال به APIهای خارجی
  • دریافت اطلاعات از سرویس‌های دیگر
  • ارتباط با پایگاه‌های داده خارجی
  • درخواست‌های سمت سرور

درخواست‌های JavaScript در همان دامنه

  • درخواست‌های AJAX داخل سایت
  • برنامه‌های تک صفحه‌ای (SPA)
  • دریافت اطلاعات از APIهای داخلی سایت
اصل مهم: هر چیزی که توسط یک کاربر واقعی با مرورگر استاندارد یا از طریق ارتباطات خروجی سایت انجام شود، معمولاً بدون مشکل فعالیت خواهد کرد.

خطاهای رایج هنگام دسترسی محدود شده

  • خطای 403 Forbidden: رایج‌ترین خطا زمانی که یک درخواست توسط سیستم امنیتی مسدود شده باشد
  • پیام نیاز به فعال بودن JavaScript: اگر مرورگر یا ابزار مورد استفاده امکان اجرای JavaScript را نداشته باشد
  • خطای Access-Control-Allow-Origin: هنگام درخواست‌های بین دو دامنه مختلف

مزایای استفاده از سیستم امنیتی

محافظت در برابر ربات‌های مخرب

  • حملات خودکار
  • تلاش‌های مکرر برای ورود
  • ارسال اسپم
  • اسکن‌های مخرب

جلوگیری از مصرف بیش از حد منابع

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

سازگاری با موتورهای جستجو

موتورهای جستجوی معتبر مانند گوگل و بینگ از JavaScript و Cookie پشتیبانی می‌کنند؛ بنابراین خزنده‌های اصلی معمولاً می‌توانند سایت را بررسی و صفحات آن را ایندکس کنند.

آیا امکان غیرفعال کردن سیستم امنیتی وجود دارد؟

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

جمع‌بندی: سیستم‌های امنیتی هاست نقش مهمی در محافظت از وب‌سایت‌ها در برابر ربات‌ها و درخواست‌های مخرب دارند. این سیستم‌ها برای کاربران عادی که با مرورگر وارد سایت می‌شوند مشکلی ایجاد نمی‌کنند، اما ممکن است روی برخی ابزارهای خودکار و دسترسی‌های غیرمرسوم تأثیر بگذارند.
⚙️

مدیریت و سئو

گوگل سرچ کنسول، هشدارهای امنیتی، Ping و مدیریت سایت

۱۳ نحوه تأیید وب‌سایت در کنسول جستجوی گوگل ▾

معرفی

کنسول جستجوی گوگل (Google Search Console) یکی از ابزارهای کاربردی و رایگان گوگل برای مدیران وب‌سایت‌هاست. با استفاده از این ابزار می‌توانید وضعیت حضور سایت خود در نتایج جستجوی گوگل را بررسی کنید، مشکلات مربوط به خزش و ایندکس صفحات را شناسایی کنید و اطلاعات ارزشمندی درباره عملکرد سایت به دست آورید.

انتخاب روش مناسب برای افزودن وب‌سایت

گوگل دو روش اصلی در اختیار شما قرار می‌دهد:

  • Domain Property (ویژگی دامنه): تمام نسخه‌های دامنه و زیردامنه‌ها در یک Property مدیریت می‌شوند. برای تأیید، باید یک رکورد TXT در DNS دامنه اضافه کنید.
  • URL-prefix Property (ویژگی پیشوند URL): فقط URLهایی که با همان پیشوند شروع می‌شوند در Property قرار می‌گیرند. برای تأیید می‌توان از فایل HTML استفاده کرد.

قبل از تأیید، آدرس اصلی خود را مشخص کنید

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

http://example.com
http://www.example.com
https://example.com
https://www.example.com

بهتر است تنها یک نسخه به عنوان آدرس اصلی انتخاب شود و سایر نسخه‌ها به آن ریدایرکت شوند. پیشنهاد می‌شود نسخه HTTPS را به عنوان آدرس اصلی انتخاب کنید.

آموزش تأیید سایت با فایل HTML

مرحله اول: ورود به Google Search Console

وارد Google Search Console شوید و با حساب گوگل خود وارد شوید. سپس از منوی مربوط به Property، گزینه Add Property را انتخاب کنید.

مرحله دوم: انتخاب URL-prefix

در صفحه افزودن Property، گزینه URL-prefix را انتخاب کنید و آدرس کامل وب‌سایت خود را وارد کنید. دقت کنید پروتکل (http یا https) را به درستی وارد کنید.

مرحله سوم: انتخاب روش HTML File

پس از وارد کردن آدرس، گوگل روش‌های مختلف تأیید مالکیت را نمایش می‌دهد. گزینه HTML file را انتخاب کنید. گوگل یک فایل HTML اختصاصی در اختیار شما قرار می‌دهد که نام آن معمولاً مشابه googlexxxxxxxxxxxxxxxx.html است.

مرحله چهارم: ورود به فایل منیجر هاست

وارد پنل مدیریت هاست VCP شوید. از بخش File Manager وارد فایل‌های وب‌سایت شوید. فایل HTML دانلودشده از Google Search Console را در پوشه اصلی سایت آپلود کنید. برای اطلاعات بیشتر آموزش FTP را ببینید.

نکته: فایل تأیید گوگل باید مستقیماً در ریشه وب‌سایت قرار داشته باشد و نباید آن را داخل یک پوشه فرعی آپلود کنید.

مرحله پنجم: بررسی فایل تأیید

پس از آپلود فایل، ابتدا آن را در مرورگر باز کنید. اگر فایل به درستی قرار گرفته باشد، باید بتوانید آن را از طریق URL مربوطه مشاهده کنید.

مرحله ششم: تأیید مالکیت

پس از اطمینان از قرار گرفتن فایل در محل صحیح، به Google Search Console برگردید و روی گزینه Verify کلیک کنید.

تأیید سایت از طریق رکورد DNS

اگر به تنظیمات DNS دامنه دسترسی دارید، می‌توانید از روش DNS Verification استفاده کنید. گوگل یک رکورد TXT در اختیار شما قرار می‌دهد که باید در بخش DNS دامنه اضافه کنید:

google-site-verification=xxxxxxxxxxxxxxxx

برای اطلاعات بیشتر آموزش دامنه و DNS را ببینید.

مشکلات رایج هنگام تأیید سایت

  • فایل HTML پیدا نمی‌شود: بررسی کنید فایل دقیقاً در ریشه سایت قرار گرفته باشد
  • آدرس سایت اشتباه وارد شده: اگر سایت با HTTPS فعال است، نسخه صحیح را وارد کنید
  • سایت هنوز در دسترس نیست: مطمئن شوید دامنه به درستی به هاست متصل شده
  • ریدایرکت‌های سایت مشکل دارند: تنظیمات HTTP، HTTPS و www را بررسی کنید
  • فایل توسط تنظیمات امنیتی مسدود شده: بررسی کنید فایل HTML بدون محدودیت قابل دسترسی باشد

بعد از تأیید سایت چه کارهایی می‌توان انجام داد؟

  • بررسی وضعیت ایندکس صفحات
  • شناسایی صفحات ایندکس‌نشده
  • ثبت نقشه سایت XML
  • بررسی کلمات کلیدی و عبارت‌های جستجوشده
  • مشاهده تعداد کلیک‌ها و نمایش‌های سایت
  • بررسی میانگین رتبه صفحات
  • شناسایی خطاهای فنی و مشکلات خزش
  • بررسی وضعیت Core Web Vitals
جمع‌بندی: تأیید مالکیت سایت در Google Search Console یکی از اولین کارهایی است که بهتر است پس از راه‌اندازی یک وب‌سایت انجام دهید. این فرآیند پیچیده نیست و در بیشتر موارد می‌توان تنها با قرار دادن یک فایل HTML در ریشه سایت، مالکیت آن را تأیید کرد.
۱۴ چگونه نام سایت خود را در نتایج جستجوی گوگل تغییر دهیم؟ ▾

معرفی

گاهی ممکن است هنگام جستجوی یک وب‌سایت در گوگل، علاوه بر عنوان صفحه، یک نام دیگر در بالای نتیجه جستجو نمایش داده شود. این نام معمولاً مربوط به نام سایت (Site Name) است. اگر نام نمایش داده شده با برند یا نام واقعی وب‌سایت شما مطابقت ندارد، احتمالاً نام سایت به درستی تنظیم نشده است.

نام سایت (Site Name) چیست؟

گوگل علاوه بر اطلاعاتی مانند عنوان صفحه (Title)، توضیحات متا (Meta Description) و آدرس صفحه، از اطلاعات دیگری نیز برای شناخت بهتر وب‌سایت استفاده می‌کند. یکی از این اطلاعات، نام سایت یا Site Name است که به موتورهای جستجو کمک می‌کند نام اصلی برند یا وب‌سایت شما را تشخیص دهند.

تفاوت بین Title و Site Name:

  • Title: عنوان یک صفحه مشخص از سایت است
  • Site Name: نام کلی و برند اصلی وب‌سایت شما است

چرا نام اشتباه در نتایج گوگل نمایش داده می‌شود؟

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

چگونه نام سایت خود را کنترل کنیم؟

بهترین روش برای کنترل نامی که گوگل از سایت شما نمایش می‌دهد، اضافه کردن اطلاعات مربوط به Site Name در ساختار سایت است. این اطلاعات معمولاً از طریق استاندارد Open Graph در کد HTML صفحات قرار می‌گیرد:

<meta property="og:site_name" content="VCP - هاست رایگان">

این کد باید بین تگ‌های <head> و </head> قرار گیرد. برای نتیجه بهتر، این تگ در تمام صفحات سایت قرار داده شود و مقدار آن در همه صفحات یکسان باشد.

تغییر نام سایت در وردپرس

اگر سایت شما با وردپرس ساخته شده است، می‌توانید نام سایت را از طریق تنظیمات وردپرس یا افزونه‌های سئو مدیریت کنید. افزونه‌های محبوب سئو مانند Yoast SEO امکان تنظیم اطلاعات مربوط به برند و نام سایت را فراهم می‌کنند. برای اطلاعات بیشتر آموزش وردپرس را ببینید.

برای تنظیم نام سایت در وردپرس:

  1. وارد پنل مدیریت وردپرس شوید
  2. به بخش تنظیمات افزونه سئو خود بروید
  3. قسمت مربوط به اطلاعات سایت یا Site Representation را باز کنید
  4. نام وب‌سایت را وارد و ذخیره کنید

همچنین می‌توانید از مسیر زیر نام اصلی سایت را بررسی کنید:

پیشخوان وردپرس
← تنظیمات
← عمومی
← عنوان سایت

نکات مهم برای نمایش بهتر نام سایت در گوگل

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

آیا می‌توان نام سایت را به صورت مستقیم تغییر داد؟

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

تأثیر نام سایت بر سئو

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

جمع‌بندی: نام سایت یا Site Name بخشی از اطلاعاتی است که موتورهای جستجو برای شناخت بهتر وب‌سایت شما استفاده می‌کنند. اگر گوگل نام اشتباهی را نمایش می‌دهد، معمولاً به دلیل نبود اطلاعات کافی درباره برند سایت است. با اضافه کردن تگ og:site_name، تنظیم صحیح وردپرس و ایجاد یک ساختار سئو مناسب، می‌توانید کنترل بیشتری روی نحوه نمایش نام وب‌سایت خود داشته باشید.
۱۵ چرا هشدار «سایت فریبنده پیش رو» نمایش داده می‌شود؟ ▾

معرفی

گاهی هنگام ورود به یک وب‌سایت، ممکن است به جای نمایش صفحه اصلی، یک صفحه هشدار قرمز رنگ مشاهده کنید که پیامی مشابه «سایت فریبنده پیش رو» نمایش می‌دهد. این هشدار ممکن است در مرورگرهایی مانند Google Chrome، Firefox و Microsoft Edge نمایش داده شود.

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

پیام «سایت فریبنده پیش رو» به چه معناست؟

مرورگرهای مدرن برای محافظت از کاربران، از سیستم‌های امنیتی مختلفی استفاده می‌کنند که وب‌سایت‌های خطرناک را شناسایی و مسدود می‌کنند. یکی از مهم‌ترین این سیستم‌ها Google Safe Browsing است که توسط گوگل برای بررسی امنیت صفحات وب استفاده می‌شود. همچنین مرورگر Microsoft Edge از سیستم امنیتی Microsoft Defender SmartScreen استفاده می‌کند.

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

چرا وب‌سایت من با هشدار امنیتی مواجه شده است؟

۱. وجود بدافزار یا محتوای مخرب در سایت

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

۲. استفاده از نرم‌افزارها یا افزونه‌های آسیب‌پذیر

نسخه‌های قدیمی سیستم‌های مدیریت محتوا مانند وردپرس، افزونه‌ها و قالب‌ها ممکن است دارای مشکلات امنیتی باشند. مواردی مانند افزونه‌های قدیمی، قالب‌های غیرمعتبر، اسکریپت‌های آسیب‌پذیر و فایل‌های بدون محافظت می‌توانند باعث ایجاد هشدار امنیتی شوند.

۳. تشخیص اشتباه (False Positive)

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

چگونه هشدار را برطرف کنیم؟

۱. جزئیات هشدار را بررسی کنید

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

۲. بررسی سایت با Google Search Console

در پنل Search Console وارد بخش Security Issues (مشکلات امنیتی) شوید. در این قسمت گوگل مشکلاتی که در سایت شناسایی کرده است را نمایش می‌دهد. ممکن است مواردی مانند بدافزار، صفحات فیشینگ، دانلودهای خطرناک و کدهای مخرب نمایش داده شوند. برای اطلاعات بیشتر تأیید سایت در Google Search Console را ببینید.

۳. رفع مشکلات اعلام شده

  • حذف فایل‌های آلوده
  • پاک‌سازی کدهای مخرب
  • حذف افزونه‌های مشکل‌دار
  • بروزرسانی سیستم سایت
  • تغییر رمزهای عبور
  • بررسی فایل‌های مشکوک

۴. درخواست بررسی مجدد

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

جلوگیری از ایجاد دوباره هشدار امنیتی

  • بروزرسانی نرم‌افزارها: سیستم مدیریت محتوا، قالب‌ها و افزونه‌ها را همیشه به آخرین نسخه ارتقا دهید
  • اسکن دوره‌ای سایت: از ابزارهای امنیتی و اسکنرهای بدافزار استفاده کنید
  • رمزهای قوی: برای مدیریت هاست، پنل وردپرس، FTP و ایمیل مدیریت از رمزهای پیچیده استفاده کنید
  • ایمن کردن فرم‌ها: از HTTPS استفاده کنید و ورودی کاربران را بررسی کنید. برای اطلاعات بیشتر آموزش SSL را ببینید.

اگر بعد از رفع مشکل، هشدار همچنان باقی ماند چه کنیم؟

  • هنوز کش سیستم امنیتی به‌روزرسانی نشده است
  • سرویس امنیتی دیگری سایت را مسدود کرده است
  • مشکل در بخشی از سایت باقی مانده است

در این شرایط وضعیت سایت را دوباره در Google Search Console بررسی کنید، درخواست بررسی مجدد ارسال کنید و سایر سرویس‌های امنیتی مانند SmartScreen را نیز بررسی کنید.

جمع‌بندی: هشدار «سایت فریبنده پیش رو» ممکن است در نگاه اول نگران‌کننده باشد، اما در بیشتر موارد قابل حل است. این هشدار معمولاً به دلیل وجود بدافزار، مشکلات امنیتی، فایل‌های آلوده یا حتی تشخیص اشتباه ایجاد می‌شود. با بررسی سایت در Google Search Console، پاک‌سازی فایل‌های مشکل‌دار، بروزرسانی نرم‌افزارها و رعایت نکات امنیتی می‌توانید سایت خود را دوباره ایمن کنید.
۱۶ چرا نمی‌توانم وب‌سایت خود را پینگ کنم؟ آیا سرور از کار افتاده است؟ ▾

معرفی

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

نمونه خطای Ping در ویندوز

اگر در ویندوز دستور ping example.com را اجرا کنید، ممکن است نتیجه‌ای مشابه زیر مشاهده کنید:

Pinging example.com [IP Address] with 32 bytes of data:

Request timed out.
Request timed out.
Request timed out.
Request timed out.

Ping statistics:
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss)

این نتیجه فقط نشان می‌دهد که سرور به درخواست Ping پاسخ نمی‌دهد؛ اما اطلاعاتی درباره فعال بودن یا نبودن وب‌سایت ارائه نمی‌کند.

چگونه بفهمیم سایت واقعاً فعال است؟

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

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

چرا بعضی سرورها به Ping پاسخ نمی‌دهند؟

افزایش امنیت سرور

محدود کردن پاسخ Ping می‌تواند از شناسایی آسان زیرساخت شبکه توسط افراد غیرمجاز جلوگیری کند.

کاهش خطر برخی حملات شبکه

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

جلوگیری از نمایش اطلاعات شبکه

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

آیا بسته شدن Ping روی عملکرد سایت تأثیر دارد؟

خیر. پروتکل Ping فقط برای آزمایش ارتباط شبکه استفاده می‌شود و ارتباطی با عملکرد معمول وب‌سایت ندارد. بازدیدکنندگان سایت از طریق پروتکل‌های دیگری مانند HTTP و HTTPS به وب‌سایت متصل می‌شوند. بنابراین ممکن است Ping سایت ناموفق باشد، اما سایت کاملاً بدون مشکل برای کاربران باز شود.

تفاوت Ping با بررسی واقعی سایت

بسیاری از کاربران تصور می‌کنند Ping موفق = سایت فعال است و Ping ناموفق = سایت خراب است. اما این تصور همیشه درست نیست. ممکن است یک سرور Ping را مسدود کرده باشد اما سایت را بدون مشکل نمایش دهد، یا برعکس به Ping پاسخ دهد اما سرویس وب آن دچار مشکل باشد. به همین دلیل برای بررسی سایت باید سرویس اصلی وب را آزمایش کرد، نه فقط پاسخ Ping را.

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

  • بررسی DNS دامنه: مطمئن شوید دامنه به درستی به هاست متصل شده است. برای اطلاعات بیشتر آموزش دامنه و DNS را ببینید.
  • بررسی وضعیت هاست: وضعیت سرویس میزبانی، فضای مصرفی و محدودیت‌های منابع را بررسی کنید
  • بررسی خطاهای سایت: خطاهایی مانند 403، 404 و 500 می‌توانند نشان‌دهنده مشکل در تنظیمات سایت یا فایل‌ها باشند
  • بررسی SSL: اگر سایت با HTTPS باز نمی‌شود، گواهی SSL و تنظیمات امنیتی را بررسی کنید
جمع‌بندی: عدم پاسخ سرور به دستور Ping همیشه نشانه خرابی هاست یا از کار افتادن وب‌سایت نیست. بسیاری از سرویس‌های میزبانی برای دلایل امنیتی، پاسخ Ping را غیرفعال می‌کنند. بنابراین بهترین روش بررسی وضعیت سایت، باز کردن آن در مرورگر و استفاده از ابزارهای بررسی دسترسی وب است.
۱۷ آیا می‌توانم تبلیغات خودم را در وب‌سایتم قرار دهم؟ ▾

معرفی

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

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

چه نوع تبلیغاتی مجاز است؟

شما می‌توانید تبلیغات مربوط به موارد زیر را در وب‌سایت خود قرار دهید:

  • محصولات و خدمات خودتان
  • کسب‌وکارهای دیگر
  • سیستم‌های همکاری در فروش
  • شبکه‌های تبلیغاتی معتبر
  • خدمات آنلاین و دیجیتال

مسئولیت محتوای تبلیغات با چه کسی است؟

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

  • محتوای صفحات سایت
  • تبلیغات نمایش داده شده
  • لینک‌های قرار داده شده
  • فایل‌ها و خدمات معرفی‌شده

بنابراین پیشنهاد می‌شود قبل از استفاده از هر شبکه تبلیغاتی یا سرویس تبلیغاتی، قوانین آن را بررسی کنید.

از تبلیغات معتبر استفاده کنید

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

  • فایل‌های مخرب یا آلوده
  • صفحات جعلی و فیشینگ
  • نرم‌افزارهای ناامن
  • تبلیغات گمراه‌کننده
  • محتوای غیرقانونی

تبلیغات نامناسب علاوه بر آسیب به اعتبار سایت، ممکن است باعث ایجاد مشکلات امنیتی برای بازدیدکنندگان شود.

آیا تبلیغات روی سرعت سایت تأثیر می‌گذارد؟

بله، برخی تبلیغات می‌توانند باعث کاهش سرعت بارگذاری سایت شوند. برای عملکرد بهتر:

  • تعداد تبلیغات را بیش از حد افزایش ندهید
  • از کدهای تبلیغاتی بهینه استفاده کنید
  • تبلیغات را از سرویس‌های معتبر دریافت کنید
  • سرعت سایت را پس از اضافه کردن تبلیغات بررسی کنید
جمع‌بندی: قرار دادن تبلیغات در وب‌سایت شخصی شما کاملاً امکان‌پذیر است و می‌تواند یک روش مناسب برای درآمدزایی باشد. با این حال، انتخاب تبلیغات معتبر و توجه به کیفیت محتوا اهمیت زیادی دارد. شما مسئول محتوایی هستید که در سایت خود نمایش می‌دهید، بنابراین همیشه تبلیغاتی را انتخاب کنید که برای کاربران امن، قانونی و قابل اعتماد باشند.
۱۸ آیا می‌توانم برای دریافت اسکریپت با پشتیبانی تماس بگیرم؟ ▾

معرفی

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

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

مسئولیت نصب و مدیریت اسکریپت‌ها با چه کسی است؟

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

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

اگر در نصب اسکریپت مشکل داشتم چه کاری انجام دهم؟

۱. مستندات رسمی اسکریپت را مطالعه کنید

بسیاری از نرم‌افزارها دارای راهنماهای نصب و آموزش‌های کامل هستند که مشکلات رایج را توضیح می‌دهند.

۲. انجمن‌ها و منابع تخصصی را بررسی کنید

در بسیاری از موارد، کاربران دیگر قبلاً با همان مشکل مواجه شده‌اند و راه‌حل آن را منتشر کرده‌اند.

۳. از پشتیبانی توسعه‌دهنده اسکریپت کمک بگیرید

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

چه مواردی مربوط به پشتیبانی هاست است؟

پشتیبانی هاست معمولاً برای مواردی مانند موارد زیر در دسترس است:

  • مشکل در دسترسی به هاست
  • خطاهای مربوط به سرور
  • مشکلات اتصال FTP
  • مشکلات پایگاه داده
  • تنظیمات سرویس میزبانی
  • بررسی وضعیت منابع هاست

اما مشکلات مربوط به ساختار داخلی یک اسکریپت یا تغییرات برنامه‌نویسی، خارج از محدوده پشتیبانی استاندارد هاستینگ است.

چگونه بهترین کمک را دریافت کنیم؟

هنگام درخواست راهنمایی، بهتر است اطلاعات کاملی ارائه دهید، مانند:

  • متن دقیق خطا
  • نام اسکریپت یا سیستم مدیریت محتوا
  • نسخه PHP مورد استفاده
  • زمان شروع مشکل
  • تغییراتی که قبل از ایجاد خطا انجام داده‌اید

این اطلاعات باعث می‌شود بررسی مشکل سریع‌تر و دقیق‌تر انجام شود.

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

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

پاسخ به سوالات رایج درباره وب‌سایت‌ها و PHP

چرا خطای 404 نمایش داده می‌شود؟

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

چگونه خطای 403 را برطرف کنم؟

ابتدا مسیر فایل‌ها، وجود فایل index، مجوزهای 644 و 755 و قوانین htaccess را بررسی کنید.

علت خطای HTTP 500 چیست؟

خطای 500 معمولاً به دلیل خطای PHP، ناسازگاری نسخه PHP، افزونه مشکل‌دار یا htaccess نادرست رخ می‌دهد.

چگونه لاراول را روی هاست نصب کنم؟

ابتدا composer install --no-dev را اجرا کنید، فایل‌ها را در htdocs آپلود کنید، htaccess را تنظیم کنید و .env را پیکربندی نمایید. برای اطلاعات بیشتر آموزش FTP و آموزش MySQL را ببینید.

چرا API سایت من کار نمی‌کند؟

سیستم‌های امنیتی هاست ممکن است درخواست‌های خودکار مانند cURL، Webhook و اپلیکیشن موبایل را مسدود کنند. برای اطلاعات بیشتر محدودیت‌های منصفانه را ببینید.

چگونه سایت را در Google Search Console تأیید کنم؟

با افزودن Property از نوع URL-prefix یا Domain و تأیید مالکیت از طریق فایل HTML یا رکورد DNS. برای اطلاعات بیشتر آموزش دامنه و DNS را ببینید.

آماده شروع سفر وب‌مستری خود هستید؟

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