اگر به دنبال ریدایرکت وب سایت از 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 هستند
همیشه بهترین عملکرد استفاده از آدرس دهی نسبی(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 در بالای فایل منیجر کلیک نمایید:
سپس تیک گزینه (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 را وارد نمایید:
در پروفایل ایجاد شده به بخش Sitemaps بروید و نقشه وبسایت خود را در صورت موجود بودن اضافه نمایید:
توجه: افرادی که در وبمستر تولز موتور جستجوی بینگ هم ثبت نام کرده اند، نیازی نیست پروفایل جدید ایجاد نمایند و تنها نقشه سایت خود با ورژن https را در آن ثبت نمایند.
در نهایت به قسمت Fetch as Google در بخش Crawl وبمستر تولز خود بروید و درخواست Crawl و بروزرسانی ایندکس نمایید[بر روی Fetch کلیک نمایید]:
سپس بر روی “Request Indexing” کلیک نمایید و سپس گزینه دوم را انتخاب نمایید و Go را بفشارید:
آموزش سرچ کنسول گوگل را در لینک روبرو بخوانید: آموزش وبمستر تولز گوگل
۶ – ثبت مجدد فایل 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 بارگذاری شده است.
چه خوب! مشکل مشخص شد. برای رفع آن به دنبال کدی که این تصویر را بارگذاری می کند می گردیم و آدرس http آن را به https تغییر می دهیم و مشکل برطرف می شود.
بروزرسانی: در ورژن جدید مرورگر کروم، قفل به رنگ سبز در نمی آید و اگر آیکون قفل وجود داشته باشد به این معناست که ssl شما به درستی نصب شده است.