آموزش ریدایرکت سایت از http به https [تضمینی؛ بدون افت رتبه]

نویسنده: علی طباطبایی| آخرین بروزرسانی: ۲۶ اردیبهشت ۱۳۹۸| گروه: آموزش سئو| تعداد نظرات: 27 دیدگاه

(22 رای - میانگین : 5٫00 از 5)

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

With the launch of Chrome 68, Google now will call out sites with unencrypted connections as “Not Secure” in the URL bar.

با راه اندازی کروم ورژن ۶۸(به بالا)، گوگل ارتباطات رمزگذاری نشده با سایت ها را در نوار آدرس خود  “نا امن” می نامد.

در ابتدا اگر گواهینامه ssl خود را دریافت نکرده اید، جهت دریافت ssl رایگان به مقاله روبرو مراجعه نمایید : ssl رایگان

گواهینامه ssl خود را فعال نمایید و ادامه مقاله را مرحله به مرحله دنبال کنید.

مراحل انتقال سایت از http به https

تفاوتی نمی کند که از هاست دایرکت ادمین استفاده می کنید و یا هاست cpanel (و یا هاست های مختلف دیگر). این مراحل برای تمامی وبسایت ها یکسان است. بدون مقدمه چینی به سراغ مراحل تبدیل و ریدایرکت http به https می رویم.

ریدایرکت http به https

۱ – ویرایش تمامی لینک هایی که در وبسایت با پروتکل http هستند

همیشه بهترین عملکرد استفاده از آدرس دهی نسبی(relative URLS) است اما ممکن است طراح وبسایت شما به صورت مطلق آدرس دهی ها را انجام داده باشد. بنابراین هنگام انتقال سایت از http به https حتما میبایست این نوع لینک ها را به ورژن جدید سایت (https) انتقال دهید. جهت انجام اینکار می بایست تمامی لینک های موجود در وبسایت و پایگاه داده که در ابتدای آنها http قرار دارد پیدا شوند و با https جایگزین شوند.(بهتر است قبل از اجرای این بخش از پایگاه داده خود بک آپ تهیه کنید)

اگر از سیستم مدیریت محتوای (CMS) وردپرس استفاده می کنید، افزونه WP Migrate DB را نصب و فعال نمایید(مشاهده افزونه). پس از فعال سازی، در بخش “ابزار” های وردپرس می توانید این افزونه را مشاهده نمایید.در تب Migrate، ابتدا گزینه زیر را فعال کنید:

 سپس در باکس های زیر آدرس های قدیمی و جدید را وارد نمایید:

در قسمت New URL می بایست آدرس وبسایت با https را وارد نمایید و در قسمت Old URL آدرس وبسایت با http. فراموش نکنید که هر دو ورژن وبسایت با www و بدون www را با آدرس های جدید [با https] جایگزین نمایید :

http://mydomain.com to https://mydomain.com

http://www.mydomain.com to https://www.mydomain.com

در انتها بر روی 

افرادی که از پلتفرم های اختصاصی و یا CMS های دیگر (نظیر جوملا، دروپال و …) استفاده می کنند نیز می بایست این مرحله را انجام دهند.حال یا با استفاده از کوئری های SQL و یا افزونه های موجود.

۲ – بروزرسانی جاوا اسکریپت های سفارشی و کتابخانه های Ajax به https

ممکن است وبسایت شما از اسکریپت هایی استفاده می کند که در وبسایت های دیگر میزبانی می شوند.این آدرس ها نیز می بایست با ورژن https آن ها جایگزین گردد وگرنه هشدار mixed content دریافت خواهید کرد و قفل موجود در آدرس بار مرورگر به رنگ سبز در نخواهد آمد.برای مثال اگر از کتابخانه jQuery گوگل استفاده می کنید، از استفاده ورژن https این کتابخانه در کدهای خود اطمینان حاصل کنید:

https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js

۳ – ریدایرکت ۳۰۱ آدرس های قدیمی (با http) به آدرس های جدید (با https)

این بخش، مهمترین مرحله در ریدایرکت http به https به شمار می آید. ریدایرکت ۳۰۱، نزدیک ۹۰ تا ۹۹ درصد از قدرت صفحات را به صفحات ریدایرکت شده منتقل می کند. اینکار می بایست در سطح سرور انجام شود.

برای وبسایت های با وب سرور NGINX :

کد زیر را در Nginx config قرار دهید:

server {
listen 80;
server_name domain.com www.domain.com;
return 301 https://domain.com$request_uri;
}

 

برای وبسایت های با وب سرور آپاچی (Apache) :

کد زیر را در قایل htaccess. و در زیر RewriteEngine On خود قرار دهید :

RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]

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

* فایل htaccess. در روت هاست [در اکثر مواقع public_html] قرار دارد.این فایل ممکن است در Cpanel مخفی باشد.جهت نمایش آن بر روی Settings در بالای فایل منیجر کلیک نمایید:

فایل htaccess کجاست

سپس تیک گزینه (Show Hidden Files (dotfiles را فعال نمایید و save را بزنید.حال می توانید این فایل را در صورت موجود بودن در میان فایل های روت هاست خود بیابید.[اگر با انجام اینکار فایل پیدا نشد به منزله عدم وجود این فایل است.بنابراین فایلی با این نام ایجاد نمایید.هنگام ایجاد فایل به نقطه ابتدایی آن توجه نمایید (htaccess.)]

ریدایرکت http به https در وردپرس

نمونه کد فوق برای استفاده در سیستم مدیریت محتوای(CMS) وردپرس:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

۴ – بروز رسانی فایل robots.txt

فایل robots.txt خود را بررسی نمایید و اگر آدرسی با http وجود داشت، آن را به https تغییر دهید.جهت یافتن این فایل به مقاله روبرو مراجعه نمایید : اموزش فایل robots.txt

۵ – سئو : کنسول جستجوی گوگل، نقشه سایت، Fetch کردن

اگر تمامی مراحل را به درستی دنبال کرده باشید، هم اکنون وبسایت شما به صورت کامل به https منتقل شده است.در این قسمت می خواهیم موارد مهم دیگری که به سئو سایت مرتبط می شوند را تنظیم نماییم.

در ابتدا می بایست برای ورژن https وبسایت خود یک پروفایل در کنسول جستجوی گوگل ایجاد نمایید.به سادگی بر روی گزینه “Add a Property” کلیک نمایید و آدرس وبسایت خود با https را وارد نمایید:

افزودن https به وبمستر گوگل

در پروفایل ایجاد شده به بخش Sitemaps بروید و نقشه وبسایت خود را در صورت موجود بودن اضافه نمایید:

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

توجه: افرادی که در وبمستر تولز موتور جستجوی بینگ هم ثبت نام کرده اند، نیازی نیست پروفایل جدید ایجاد نمایند و تنها نقشه سایت خود با ورژن https را در آن ثبت نمایند.

در نهایت به قسمت Fetch as Google در بخش Crawl وبمستر تولز خود بروید و درخواست Crawl و بروزرسانی ایندکس نمایید[بر روی Fetch کلیک نمایید]:

fetch as google

سپس بر روی “Request Indexing” کلیک نمایید و سپس گزینه دوم را انتخاب نمایید و Go را بفشارید:

 

ثبت fetch as google

۶ – ثبت مجدد فایل disavow

اگر در گذشته برای رهایی از پنالتی گوگل و الگوریتم ها و یا سئوی منفی فایل disavow ساخته اید، می بایست آن را مجددا در ورژن https سایت خود آپلود نمایید.بسیاری از افراد این مرحله را فراموش می کنند که می تواند دردسر ساز باشد.

آموزش ساخت و آپلود فایل disavow در لینک روبرو به صورت کامل توضیح داده شده است : اموزش disavow

۷ – بروزرسانی پروفایل گوگل آنالیتیکس (Google Analytics)

جهت انجام اینکار وارد اکانت خود شوید و بر روی “Admin” در منوی کناری کلیک نمایید.در صفحه جدید بر روی گزینه “Property Settings” کلیک نمایید.سپس Default URL را بر روی https تنظیم نمایید:

گوگل انالیتیکس گوگل

اینکار را برای قسمت “View Settings” نیز انجام دهید.دو قسمت ذکر شده در تصویر زیر قابل مشاهده هستند:

تنظیمات گوگل انالیتیکس

۸ – بروزرسانی های متفرقه پس از ریدایرکت http به https

  • لینک های خود در شبکه های اجتماعی نظیر Faceebook، Twitter و … را بروزرسانی کنید.
  • بک لینک های موجود خود را تا حد امکان به ورژن https تغییر دهید.

* توجه: اگر از CMS وردپرس استفاده می کنید و پس از انجام موارد بالا، قفل موجود در آدرس بار مرورگرتان هنوز سبز نشده است، از افزونه SSL Insecure Content Fixer استفاده نمایید.

* برای افرادی که قفل مرورگرشان سبز نشده است: اگر از مرورگر کروم(Chrome) استفاده می کنید، Developer Tools مرورگر را باز کنید. جهت باز کردن آن بر روی صفحه کلیک راست کرده و Inspect را بزنید(و یا Ctrl + Shift + I را همزمان بفشارید). به بخش Console بروید. اگر هشدار Mixed Content مشاهده می کنید، آن را بررسی نمایید. برای مثال در تصویر زیر به ما هشدار می دهد که وبسایت با https بارگذاری می شود اما یکی از تصاویر با http بارگذاری شده است.

مشکل سبز نشدن قفل مرورگر https

برای مشاهده تصویر بزرگنمایی شده، بر روی آن کلیک کنید

چه خوب! مشکل مشخص شد. برای رفع آن به دنبال کدی که این تصویر را بارگذاری می کند می گردیم و آدرس http آن را به https تغییر می دهیم و مشکل برطرف می شود.

بروزرسانی: در ورژن جدید مرورگر کروم، قفل به رنگ سبز در نمی آید و اگر آیکون قفل وجود داشته باشد به این معناست که ssl شما به درستی نصب شده است.

قفل سبز رنگ مرورگر

 

27 نظر

  1. سلام
    من مرحله اول رو با WP Migrate DB انجام دادم اما بعدش دیگه سایت بالا نمیاد و نمیتونم لاگین کنم.
    لطفا راهنماییم کنید
    با تشکر

    پاسخ به این نظر
    1. سلام محمد عزیز؛ احتمالا قسمتی از آموزش را اشتباه انجام داده اید. با تغییر چند فیلد در پایگاه داده (و یا فایل های اصلی وردپرس نظیر wp-config) مشکلتون برطرف خواهد شد. اگر طبق توصیه ما قبل از این مرحله بک آپ تهیه کرده اید، آن را بازگردانی کنید در غیر اینصورت به هاستینگ خود تیکت بزنید و درخواست بازگردانی آخرین بک آپ و یا برطرف کردن مشکل را بدهید.

      پاسخ به این نظر
  2. سلام خسته نباشید. بنده بعضی عکسها را از پیکوفایل توی سایتم میگذارم که http است. بعد آنها را در سایت که می گذارم نشان نمی دهد. ممنون میشم راهنمایی کنید

    پاسخ به این نظر
    1. سلام دوست عزیز. هنگامی که صفحات وبسایت بر روی پروتکل https به کاربران تحویل داده می شود، تمامی مواردی که با پروتکل http هستند توسط مرورگر به طور پیش فرض بلوکه می شوند.
      در حال حاضر دو کار می توانید انجام دهید:
      ۱. از سرویس های اشتراک فایلی که بر روی پروتکل https هستند استفاده نمایید.
      ۲. کل وبسایت خود را بر روی پروتکل http به کاربران تحویل دهید.
      برای توضیحات بیشتر لینک روبرو را مشاهده نمایید: اجازه بارگذاری منابع http بر روی پروتکل https
      امیدوارم مفید واقع شود. موفق باشید

      پاسخ به این نظر
  3. سلام خسته نباشید . وقتی یک عکس را از سایتهای مختلف می آوریم به سایت، سبزی نماد از بین می رود؛ برای این مورد چه چیزی پیشنهاد می کنید؟ (آیا میتوان مثلا سایت پیکوفایل را استثنا کرد؟) . با تشکر

    پاسخ به این نظر
    1. سلام دوست عزیز. از بین رفتن رنگ سبز قفل نشان دهنده وجود mixed content است و به این معنی است که یکسری از فایل های موجود بر روی پروتکل http به کاربران تحویل داده می شود.
      راهکار های پیشنهادی در لینک روبرو را مشاهده نمایید: مشاهده

      پاسخ به این نظر
  4. با سلام ممنون از مطلب کامل شما وبسایت من به رنک سبز در آمد ولی تمامی فونت ها برهم ریخت.مشکل از کجا می تواند باشد؟

    پاسخ به این نظر
    1. سلام
      مشکل بهم ریختن فونت ها می تواند به خاطر Vary header باشد. برای بررسی این مورد، لینک زیر را مشاهده فرمایید و کد های آن را در فایل htaccess. خود قرار دهید

      عدم بارگذاری font-face بر روی https

      پاسخ به این نظر
  5. سلام
    ممنون بابت آموزش خوبتون
    من قسمت ۲ رو طبق فرمایش شما رفتم و بنظر میاد دوتا عکس داره از لینک های خارجی فراخوانی میشه ولی هرکاری کردم نتونستم پیداش کنم لطفا راهنمایی کنید
    عکس رو هم داخل لینک زیر آپلود کردم:
    https://kahroba-shop.ir/wp-content/uploads/2019/Capture.JPG

    پاسخ به این نظر
    1. سلام
      میبایست داخل کدهای خود بگردید و آن ها را بیابید. هم چنین ممکن است این موارد را در بخش تنظیمات و یا سفارشی سازی تم وردپرس خود بیابید.

      پاسخ به این نظر
  6. مشکل یکی در میون حل شد و تنها وب سایتی که این مورد رو درست توضیح داد وب سایت شما بود در بخش ۳ – ریدایرکت ۳۰۱ آدرس های قدیمی (با http) به آدرس های جدید (با https)
    بازم تشکر

    پاسخ به این نظر
    1. سلام
      خوشحالیم که مورد استفاده واقع شده دوست عزیز

      پاسخ به این نظر
  7. واقعا مطلب کاملی بود و خیلی بهم کمک کرد . ممنونم . فقط یه مشکلی در ثبت در گوگل سایت مپ داشتم . اونم این که برای من یه ارور میده که ارور دایرکت هست چطوری میشه اینو برطرف کرد ؟

    http://s9.picofile.com/file/8351454926/Screenshot_120_.png
    http://s8.picofile.com/file/8351454900/Screenshot_121_.png

    یه مشکل دیگه ای که هم هست این که هر دفعه لود میشه یکی در میون یا هر چند تادر میون https هست بقیه http گاهی وقت ها لود میشه. راه حلی داره ؟

    پاسخ به این نظر
    1. سلام
      در ابتدا توجه کنید ادرس سایت مپ وبسایت شما به صورت زیر است:
      https://test.info/sitemap_index.xml
      و اگر هنگام ثبت سایت مپ به جای sitemap_index.xml، آدرس sitemap.xml را وارد کنید با هشدار ریدایرکت مواجه خواهید شد. همچنین برای هشدار ریدایرکت صفحه اصلی بررسی کنید که حتما بخش ۵ را انجام داده اید و در کنسول گوگل با https وبسایت خود را ثبت کرده اید.
      اگر با مشکل دیگری مواجه شدید و یا مشکل حل نشد مطرح نمایید.

      پاسخ به این نظر
  8. سلام و تشکر از آموزش خوبتون. قفل سایت بنده همچنان زرد هست و سبز نشده در حالی که مراحل بالا رو انجام دادم. چه کار دیگه ای باید بکنم ؟
    ممنون

    پاسخ به این نظر
    1. سلام
      در داخل قالب وبسایت خود بگردید و هر آدرسی که با http شروع می شود را به https تغییر دهید. برای مثال تصاویر داخل فوتر وبسایتتان با پروتکل http بارگذاری می شوند.

      پاسخ به این نظر
  9. سلام من همه مراحل رو رفتم البته ریدایرکت hhtp به https رو از روش دیگه ایی رفتم ولی باز هم نشد و سبز نیست بالای سایتم

    پاسخ به این نظر
  10. سلام.
    بروزرسانی جاوا اسکریپت های سفارشی و کتابخانه های Ajax به https چطوری باید انجام شه؟

    پاسخ به این نظر
    1. سلام
      میبایست داخل فایل های پوسته خود بگردید و مکانی که کتابخانه ها (فایل های جاوا اسکریپت) در آن فراخوانی شده اند را پیدا کنید و لینک http آن را به https تغییر دهید(معمولا اینگونه فایل ها در header و footer فراخوانی می شوند).

      پاسخ به این نظر
  11. سلام و درود
    من در حال اجرای آموزش شما به صورت قدم به قدم بر روی سایت خود هستم. الان به مرحله ۳ “ریدایرکت ۳۰۱ آدرس های قدیمی (با http) به آدرس های جدید (با https)” رسیدم. برای وبسایت های با وب سرور لایت اسپید چه نوع کدی و به چه صورتی قرار بدم؟ وب سرور من لایت اسپید هستش.

    پاسخ به این نظر
  12. مطلبتون برای من خیلی مفید بود ممنون

    پاسخ به این نظر

نظر بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

- میتوانید از کد های HTML زیر استفاده نمایید:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

- تنها نظراتی تایید میشوند که صرفا جهت درج بک لینک ثبت نشده باشند
*
*