تغییر آدرس سایت از Http به Https در وردپرس

HTTPS در وردپرس

تبدیل پروتکل HTTP به HTTPS یکی از حیاتی‌ترین اقداماتی است که هر مدیر سایتی باید برای امنیت، سئو و جلب اعتماد کاربران انجام دهد. این تغییر نه تنها داده‌های ارسالی بین کاربر و سرور را رمزنگاری می‌کند، بلکه تاثیر مستقیمی روی رتبه سایت شما در نتایج جستجو دارد.

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

اهمیت استفاده از پروتکل امن و مکانیزم SSL

استفاده از HTTPS دیگر یک انتخاب نیست، بلکه یک استاندارد اجباری در وب مدرن محسوب می‌شود. مرورگرهایی مثل کروم، سایت‌های فاقد گواهی امنیتی را با برچسب Not Secure نمایش می‌دهند که باعث کاهش نرخ کلیک و اعتماد کاربران می‌شود. علاوه بر این، امنیت داده‌های حساس مانند اطلاعات کاربری و پرداخت‌ها تنها با این پروتکل تضمین می‌شود.

پروتکل HTTPS در واقع همان HTTP است که روی بستر امن SSL یا TLS سوار شده است. وقتی کاربری وارد سایت شما می‌شود، یک “دست‌تکانی” یا Handshake بین مرورگر او و سرور شما اتفاق می‌افتد. در این مرحله، کلیدهای رمزنگاری تبادل می‌شوند تا تمام داده‌هایی که از آن لحظه به بعد رد و بدل می‌شوند، برای هکرها و شنودکنندگان میان‌راهی غیرقابل فهم باشد.

تاثیرات مستقیم بر سئو و سرعت

گوگل رسما اعلام کرده است که HTTPS یک سیگنال رتبه‌بندی است. اما موضوع فقط رتبه نیست؛ با فعالسازی SSL، شما می‌توانید از پروتکل HTTP/2 و نسخه جدیدتر آن یعنی HTTP/3 استفاده کنید. این پروتکل‌ها به جای باز کردن چندین اتصال برای بارگذاری المان‌های سایت، همه را در یک اتصال ارسال می‌کنند که سرعت لود سایت را به شکل چشم‌گیری افزایش می‌دهد.

پیش نیازهای نصب HTTPS روی وردپرس

پیش نیازهای فعالسازی اس اس ال

قبل از هر کاری، شما به یک گواهی SSL معتبر نیاز دارید. امروزه اکثر شرکت‌های میزبانی این گواهی را به صورت رایگان (Let's Encrypt) یا تجاری ارائه می‌دهند. جالب است بدانید که هنگام خرید هاست وردپرس معمولا این گواهی به صورت خودکار روی سرویس شما فعال است و فقط کافی است آن را در پنل مدیریت هاست (سی‌پنل یا دایرکت‌ادمین) تایید کنید. پس از اطمینان از نصب گواهی روی سرویس میزبانی، نوبت به تنظیمات داخلی وردپرس می‌رسد.

انواع گواهی های امنیتی

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

  • گواهی DV (Domain Validation): ارزان‌ترین و سریع‌ترین نوع که فقط مالکیت دامنه را تایید می‌کند.
  • گواهی OV (Organization Validation): برای شرکت‌ها و سازمان‌ها که نیاز به تایید هویت حقوقی دارند.
  • گواهی EV (Extended Validation): بالاترین سطح اعتبار که فرآیند تایید هویت بسیار سخت‌گیرانه‌ای دارد.

تغییر تنظیمات اصلی وردپرس

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

  1.  به بخش تنظیمات و سپس زیرمنوی عمومی بروید
  2. دو فیلد «نشانی وردپرس (URL)» و «نشانی سایت (URL)» را پیدا کنید.
  3. عبارت http را در ابتدای هر دو آدرس به https تغییر دهید.
  4. در انتهای صفحه روی ذخیره تغییرات کلیک کنید.

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

هدایت خودکار ترافیک از طریق فایل htaccess

برای اینکه تمام بازدیدکنندگان و ربات‌های گوگل به نسخه امن سایت منتقل شوند، باید یک تغییر مسیر (Redirect 301) دائمی ایجاد کنید. این کار با ویرایش فایل .htaccess در پوشه اصلی سایت (public_html) انجام می‌شود. ریدایرکت ۳۰۱ به موتورهای جستجو می‌فهماند که آدرس قدیمی برای همیشه به آدرس جدید منتقل شده است و تمام اعتبار سئو باید به آدرس جدید منتقل شود.

کد زیر را باید به ابتدای فایل .htaccess اضافه کنید:


RewriteEngine On

RewriteCond %{HTTPS} off

RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

این قطعه کد بررسی می‌کند که اگر درخواست روی پروتکل ناامن بود، آن را به نسخه امن منتقل کند. اگر شما از سرور مجازی استفاده می‌کنید و مدیریت وب‌سرور (مانند آپاچی یا انجین‌اکس) با خودتان است، دقت کنید که ماژول rewrite حتما فعال باشد تا این دستورات به درستی اجرا شوند. همچنین در سرورهای لینوکسی که از وب‌سرور Nginx استفاده می‌کنند، کد ریدایرکت باید در فایل تنظیمات بلوک سرور (server block) قرار بگیرد که ساختار متفاوتی دارد.

اصلاح لینک های قدیمی در دیتابیس

حتی پس از تغییر آدرس در تنظیمات، ممکن است لینک تصاویری که قبلا در نوشته‌ها آپلود کرده‌اید همچنان با http باقی مانده باشند. این موضوع باعث بروز خطای Mixed Content می‌شود. برای حل این مشکل به صورت اصولی، استفاده از ابزار قدرتمند WP-CLI بهترین گزینه است. این ابزار به شما اجازه می‌دهد بدون آسیب زدن به داده‌های سریالیزه شده (Serialized Data)، تمام آدرس‌ها را یکپارچه کنید.

روش جایگزین با افزونه Better Search Replace

اگر دسترسی به ترمینال ندارید، افزونه Better Search Replace جایگزین مناسبی است. برخلاف افزونه‌های سنگین که لینک‌ها را به صورت موقت و در لحظه لود صفحه تغییر می‌دهند، این افزونه تغییرات را یک بار برای همیشه در دیتابیس می‌نویسد. پس از نصب:

  1. در بخش Search برای عبارت http://your-site.com جستجو کنید.
  2. در بخش Replace عبارت https://your-site.com را قرار دهید.
  3. تمام جداول را انتخاب کرده و تیک گزینه “Run as dry run” را بزنید تا ابتدا تست شود.
  4. در صورت صحیح بودن آمار، تیک تست را برداشته و عملیات نهایی را انجام دهید.
تنظیمات HTTPS در وردپرس

تنظیمات پیشرفته و امنیت سطح بالا با HSTS

اگر می‌خواهید امنیت سایت خود را به بالاترین سطح برسانید، باید از قابلیتی به نام HSTS یا HTTP Strict Transport Security استفاده کنید. این یک هدر امنیتی است که به مرورگر کاربر دستور می‌دهد تا برای یک مدت زمان مشخص (مثلا یک سال)، حتی اگر کاربر آدرس را با http تایپ کرد، مرورگر قبل از ارسال درخواست به سمت سرور، آن را به صورت خودکار به https تبدیل کند.

این کار از حملاتی مثل SSL Stripping جلوگیری می‌کند. برای فعالسازی آن، می‌توانید کد زیر را به فایل .htaccess خود اضافه کنید:

 Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" 

هشدار: قبل از فعالسازی HSTS، مطمئن شوید که گواهی SSL شما به درستی کار می‌کند، زیرا اگر مشکلی وجود داشته باشد، دسترسی کاربران به سایت شما کاملا قطع خواهد شد و تا اتمام زمان تعیین شده (max-age) مرورگر اجازه ورود به سایت را نخواهد داد.

اقدامات لازم در گوگل سرچ کنسول

پس از اتمام مراحل فنی، باید تغییرات را به گوگل اعلام کنید تا اعتبار سئو (Link Juice) از آدرس قدیمی به جدید منتقل شود. گوگل نسخه HTTP و HTTPS سایت شما را دو سایت کاملا متفاوت در نظر می‌گیرد.

  • ثبت Property جدید: اگر سایت خود را با متد URL Prefix ثبت کرده‌اید، باید نسخه https را به عنوان یک Property جدید اضافه کنید. اما اگر از متد Domain Property استفاده کرده‌اید، نیازی به تغییر نیست.
  • بررسی نقشه سایت: مطمئن شوید افزونه سئوی شما (مثل Yoast یا Rank Math) نقشه‌های سایت را با آدرس‌های جدید تولید کرده است. سپس لینک نقشه سایت جدید را در سرچ کنسول معرفی کنید.
  • فایل robots.txt: بررسی کنید که اگر آدرس نقشه سایت در فایل robots.txt وجود دارد، آن را به HTTPS تغییر دهید.
  • تغییر آدرس در گوگل آنالیتیکس: در بخش تنظیمات Property و View در گوگل آنالیتیکس، آدرس سایت را از حالت پیش‌فرض به HTTPS تغییر دهید تا آمارها به درستی ثبت شوند.

عیب یابی و حل مشکلات رایج

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

خطای Redirect Loop (حلقه ریدایرکت)

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

خطای Mixed Content

اگر پس از انجام تمام مراحل، همچنان آیکون قفل در مرورگر به رنگ سبز در نمی‌آید یا با علامت هشدار همراه است، احتمالا هنوز برخی فایل‌های CSS، جاوا اسکریپت یا تصاویر با پروتکل http فراخوانی می‌شوند. این منابع معمولا در کدهای قالب یا افزونه‌ها به صورت دستی (Hardcoded) وارد شده‌اند.

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

عدم نمایش فونت ها یا آیکون ها

گاهی اوقات پس از انتقال، فونت‌های سایت (مثل FontAwesome) بارگذاری نمی‌شوند. این به دلیل سیاست‌های امنیتی مرورگرها برای جلوگیری از فراخوانی فونت از دامنه‌های دیگر (CORS) است. مطمئن شوید که در کدهای CSS، آدرس فونت‌ها با HTTPS یا به صورت نسبی (Relative Path) درج شده باشد.

تاثیر CDN بر اجرای درست HTTPS

استفاده از CDN و تاثیر آن بر SSL

اگر از سرویس‌هایی مثل کلودفلر (Cloudflare) یا سایر CDNها استفاده می‌کنید، باید تنظیمات SSL را در پنل آن‌ها نیز بررسی کنید. در کلودفلر، چهار حالت برای SSL وجود دارد:

  1. Off: کلا خاموش.

  2. Flexible: ارتباط کاربر با کلودفلر امن است، اما ارتباط کلودفلر با سرور شما ناامن (HTTP) است. این حالت امنیت کاملی ندارد اما برای سرورهایی که SSL ندارند استفاده می‌شود.

  3. Full: ارتباط در هر دو طرف امن است، اما کلودفلر اعتبار گواهی سرور شما را چک نمی‌کند.

  4. Full (Strict): امن‌ترین حالت که در آن گواهی سرور شما باید معتبر و دارای تاریخ انقضا باشد.

پیشنهاد می‌شود همیشه از حالت Full (Strict) استفاده کنید تا امنیت سرتاسری برقرار باشد.

چک لیست نهایی پس از انتقال

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

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

سوالات متداول

01آیا تغییر به پروتکل امن باعث افت سئوی سایت می‌شود؟

خیر، دقیقا برعکس است. گوگل به صراحت اعلام کرده که HTTPS یکی از فاکتورهای مثبت برای رتبه‌بندی است. اگر انتقال و ریدایرکت ۳۰۱ را به درستی انجام دهید، ممکن است در روزهای اول نوسان کمی در رتبه‌ها مشاهده کنید، اما در بلندمدت جایگاه سایت شما بهبود خواهد یافت.

02تفاوت گواهی رایگان و گواهی پولی در چیست؟

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

03چرا با وجود نصب گواهی همچنان خطای ناامن بودن سایت را می‌بینم؟

این موضوع معمولا به دلیل وجود محتوای ترکیبی یا Mixed Content رخ می‌دهد. به این معنی که هسته سایت شما روی HTTPS است اما برخی فایل‌ها هنوز از آدرس‌های قدیمی HTTP فراخوانی می‌شوند که باید طبق آموزش بالا اصلاح شوند.

04آیا استفاده از افزونه برای این انتقال روش مناسبی است؟

افزونه‌هایی مانند Really Simple SSL کار را آسان می‌کنند، اما پیشنهاد حرفه‌ای ما این است که تغییرات را به صورت دستی در دیتابیس اعمال کنید. افزونه‌ها با اصلاح لحظه‌ای لینک‌ها، کمی از منابع سرور را مصرف می‌کنند.

نظرات کاربران

شما میتوانید دیدگاه خود را در مورد این مطلب با ما با اشتراک بگذارید.

logo
ثبت نام ناحیه کاربری راهنمای خرید پرداخت قسطی
ناحیه کاربری
ثبت نامناحیه کاربریداشبورد ابریارسال تیکتتماس تلفنی
تماس با ما
مشاوره تلفنی 1779 | 79625000
واحد مارکتینگ داخلی 1
واحد مشتریان داخلی 2
مالی و اداری داخلی 3
منابع انسانی داخلی 4