در این مقاله به شکل اصولی در عمل به تبدیل پروتکل http به پروتکل https میپردازیم و نحوه صحیح انتقال از پروتکل ناامن HTTP به پروتکل امن HTTPS را به شکل صریح بیان میکنیم.
برای شروع ، شما به یک گواهینامه معتبر SSL نیازمندید. گواهینامههای SSL یک فایل کوچک هستند که کلیدی به اطلاعات یک سازمان خاص اضافه میشوند و پس از نصب شدنشان بر روی سایت باعث فعال شدن پروتکل HTTPS برای افزایش امنیت وب سایت و سرور میشوند. در حال حاضر تعداد قابل توجهی گواهینامه SSL مختلف وجود دارد که شما میتوانید از بین آنها یکی را که به درد کسب و کارتان میخورد انتخاب کنید. دو وب سایت زیر بهترین وب سایتهای فروش گواهینامه SSL هستند که شما میتوانید از طریق وب سایتهای خدمات ارزی از آنها SSL مورد نیاز خود را خریداری کنید:
در این وب سایتها شما میتوانید یک گواهینامه Comodo Positive SSL cert را با هزینهای کمتر از ۹ دلار خریداری کنید.
گرچه وب سایتهای ایرانی بسیار معتبری نیز برای خریداری و تهیه گواهینامههای SSL وجود دارد ولی به جهت حفظ رقابت در کشور (نمیخوایم دعوا راه بیاندازیم ?) این وب سایتها را معرفی نمیکنیم ولی بدانید که همچین وب سایتهایی هستند و با جستوجو در اینترنت میتوانید از آنها خرید انجام دهید.
تایید کننده دامنه (Domain Validation) : گواهی نامه DV هم گفته میشود، این گواهی نامه تایید بر روی تک دامنه و ساب دامنه دارد، بدون تایید به تایید سازمان یا شرکت و یا شخص میتوان آن را تهیه کرد. (تنها تایید ایمیل آدرس لازم دارد) ، ارزان و تحویل به صورت آنی است. (همانند عکس پایین گواهی نامه عادی)
تایید کننده تجاری/سازمانی (Business/Organization Validation) : گواهی نامه OV هم گفته میشود، تایید تک دامنه و ساب دامنه ، تایید کننده مراودات تجاری و سازمانی با حداکثر امنیت و اعتماد دهی ، تحویل در یک تا سه روز کاری. (همانند عکس پایین گواهی نامه عادی)
تایید کننده گسترده (Extended Validation) : گواهی نامه EV هم گفته میشود، تایید تک دامنه و ساب دامنه ، تایید کننده مراودات تجاری و سازمانی با حداکثر امنیت و اعتماد دهی ، تحویل در دو الی هفت روز کاری و دارای نوار سبز رنگ تایید. (همانند عکس پایین گواهی نامه گسترده)
در حال حاضر گواهینامههای SSL دو نوع مختلف تاییدیه را برای طراحی سایت (طراحی سایت شرکتی، طراحی سایت فروشگاهی) ها در نظر گرفتهاند. اولین نوع آن تاییدیه گسترده میباشد که یک نوار سبز رنگ نمایشدهنده نام شرکت شما در صفحه مرورگر نمایش داده میشود، این گواهینامه از لحاظ قیمت بسیار گران قیمت میباشد. دومین نوع گواهینامهها ، تاییدیه به صورت تجاری یا تایید دامنه میباشد که یک قفل سبز رنگ کنار آدرس وب سایت شما میآید و نام شرکت به نمایش گذاشته نمیشود.
در زیر تفاوت این دو را مشاهده می کنید :
همچنین اگر امکان خرید گواهینامه SSL را ندارید میتوانید از Let’s Encrypt استفاده نمایید که گواهینامهای رایگان ولی بدون هیچ مبلغ گارانتیای میباشد. این گواهینامه به شما به صورت ۳ ماهه رایگان تحویل داده میشود و شما میتوانید از آن در وب سایتتان استفاده کنید و کمی اعتماد را به مشتریان خود بدهید. فقط بهتر است بدانید که این گواهینامه امنیت وب سایت شما را تضمین نمیکند. برای تهیه این گواهینامه میتوانید از CertBot استفاده کنید.
در زیر راههای ساده نصب و فعالسازی گواهینامه SSL بر روی وب سرورهای مختلف را برای شما قرار دادهایم. بسته به اینکه چه نوع وب سروری دارید ، مراحل نصب متفاوت است. (در زیر آموزش فعالسازی گواهینامه SSL شرکت Comodo را لینک گذاری کردهایم.)
اگر شما میخواهید از طریق certbot یک گواهینامه رایگان Let’s Encrypt دریافت کنید نیز میتوانید از آموزشهای مختلفی که در قسمت مستندات این ربات قدرتمند موجود است استفاده کنید.
بررسی صحت گواهینامه:
برای بررسی صحت گواهینامه، شرکتهای معتبر خارجی اقداماتی انجام دادهاند که از این طریق شما میتوانید گواهینامههایی را که تهیه کردهاید را بررسی کنید و از صحت و قدرتمندی آنها اطلاع یابید. در زیر دو نمونه از این وب سایتها که صحت گواهینامه SSL شما را بررسی میکنند را قرار دادهایم.
استفاده از لینک گذاریهای خانوادگی در ساخت سایت خیلی به سئو سایت کمک میکند ولی برای یک انتقال ساده به HTTPSاین لینکگذاریها شما را مجبور به جستوجو و موشکافی کل وب سایت از کدهای HTML گرفته تا دیتابیس میکند.
بروزرسانی این لینکگذاریهای سخت در پلتفرمها متفاوت است . برای مثال در وردپرس ما پیشنهاد میکنیم از ابزار Database Search and Replace Script ساخته شرکت Interconnect IT استفاده کنید. شما میتوانید لینکها را به صورت دستی تغییر دهید ولی در صورتی که یک وب سایت بزرگ داشته باشید تغییر لینکها به صورت تک تک از دیتابیس کار را برای شما دشوار میکند. همچنین جداول Meta Data نیز در نظر بگیرید که بسیار جداولی طولانی و پر از لینک هستند که کار را از آنچه به نظر میرسد سخت تر میکنند.
من پیشنهاد میکنم در صورتی که میخواهید از ابزار جستوجو و تبدیل استفاده کنید ، عملیات تغییر را در یک سرور پشتیبان برای توسعه انجام دهید و درصورتی که کارتان نتیجه بخش بود آن را انتقال دهید. یا در صورتی که وقت یا امکان چنین کاری را ندارید حداقل یک پشتیبان از اطلاعات قبل از هر عملی تهیه کنید. وب سایت هایی هستند که فضای ذخیره سازی بالایی برای بک آپ به شما ارائه میدهند و هزینه کمی هم دریافت میکنند.
برای فعالسازی ابزار جستوجو و جایگزینی شرکت Interconnect IT آن را از وب سایت شرکت دانلود کنید و در روت وب هاست خود آپلود کنید.
بعد از انجام این عملیات در کنار دامنه وب سایت خود /search-replace-db را قرار دهید و به صفحه جستوجو و جایگزینی وارد شوید. مانند تصویر زیر :
در این قسمت شما میتوانید تمامی لینکهای وب سایت خود را به لینک جدید تبدیل کنید. توجه داشته باشید که تمامی فرمت های لینکها اعمم از همراه با www. و بدون www. را باید در این قسمت جستوجو و جایگزین کنید.
پیشنهاد میشود که در ابتدا شما Dry Run را فعال کنید تا ببینید که چه لینکهایی تغییر پیدا میکند و بعد از اینکه از لینکها مطمئن شدید روی Live Run کلیک کنید تا عملیات تبدیل انجام شود.
نکته : این عملیات کلیه لینکهای شما شامل لینک وب سایت و وردپرس، لینک گذاریهای سخت صفحات و مطالب و برچسبهای استاندارد را بروزرسانی میکند.
اگر نتوانستید از ابزار بالا استفاده کنید ، تنها راهی که برایتان باقی میماند استفاده از افزونه Really Simple SSL plugin میباشد. این افزونه رایگان به شما کمک میکند که به راحتی وب سایت وردپرسی خود را نسبت به گواهینامه SSL همگام سازی کنید.
در بیشتر مواقع شما ممکن است که بخواهید از فایلهای JS از ورودیهای خارجی استفاده کنید ولی بعضی از ارائه دهندگان ممکن است که از SSL استفاده نکنند و این باعث به مشکل خوردن شما شود. با توجه به این موضوع شما باید همیشه در این رابطه بررسی کنید تا از لینکهایی کاملا امن و برمبنای پروتکل HTTPS استفاده کنید.
برای مثال اگر شما از گوگل سرویس هاستینگ خود را تهیه میکنید ، باید مطمئن شوید که فایلهای شما در CDN با قابلیتHTTPS نگهداری میشوند. برای مثال فایل جیکوئری مخصوص CDN گوگل https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js میباشد.
یک توسعه دهنده با نام jitbit یک ابزار بررسی SSL کوچک ولی بسیار پر استفاده را آماده سازی کرده است که از این طریق شما میتوانید وب سایت خود را بررسی کنید و محتوای نا امن وب سایت را شناسایی کنید.
حالا بهتر است که به مهم ترین بخش انتقال دامنه برسیم یعنی ریدایرکت http به https با کد ۳۰۱ آدرس وب سایت . این بخش اصلی ترین قسمت انتقال آدرس سایت میباشد زیرا در صورتی که این کار را انجام ندهید انگار نه انگار که وب سایت شما به HTTPS تبدیل شده است و همچنان وب سایتتان با HTTP باز میشود.
همچنین در نظر بگیرید که اگر ریدایرکت های نوع دیگری را برای این صفحات استفاده کنید مطمئن باشید که به سئو وب سایت خود آسیب جدیای وارد کرده اید، بنابر این باید توجه داشته باشید که حتما با ریدایرکت ۳۰۱ آدرس وب سایت خود را به HTTPS تبدیل کنید.
اینکه از چه پلتفرمی در وب سایت خود استفاده میکنید اصلا اهمیت ندارد و ما اصلا پیشنهاد نمیکنیم که از طریق افزونهها این کار را انجام دهید. با یک جستوجوی ساده میتوانید نحوه ریدایرکت ۳۰۱ را در وب سرور خود بیابید. برای مثال در زیر ما دو وب سرور انجینکس و آپاچی را برای شما کدهای ریدایرکتشان را قرار داده ایم . برای دیگر وب سرورها لطفا در گوگل جستوجو کنید.
کدهای زیر را در بخش کانفیگ انجینکس قرار دهید :
کدهای زیر را در فایل .htaccess آپاچی قرار دهید :
هرگونه لینک گذاریهای سخت و همچنین قوانین مسدودیت را در robots.txt خود بررسی کنید و تمامی دایرکتوریها و فایلهای تحت پروتکل HTTP را به HTTPS تغییر دهید.
بیشتر CDN ها امکانات مختلفی را برای فعالسازی گواهینامه SSL بر روی خود دارند. برای مثال کلودفلر به کاربرانی که از سرویس CDN خود استفاده میکنند و دامنه بین المللی دارند، یک گواهینامه SSL رایگان هدیه میدهد که پس از پایان قابل تمدید است.
متاسفانه اگر از CDN کلودفلر استفاده میکنید و دامنه IR و ایران برای وب سایت خود تهیه کرده اید باید اعلام کنم که CDNکلودفلر امکان استفاده از SSL را به طور کلی به شما نمیدهد و حتی نمیتوانید در CDN کلودفلر از گواهینامه SSL شخصی خودتان استفاده کنید. (تحریمیم ?)
اگر دامنه بین المللی دارید، حتی سرویس رایگان CDN کلودفلر نیز به شما یک گواهینامه رایگان SSL هدیه میدهد که یک گواهینامه رایگان COMODO میباشد و به صورت خودکار بر روی وب سایت شما فعال میشود و شما میتوانید آن را در وب سایتتان استفاده کنید. همچنین اگر گواهینامه دیگری را تهیه کردهاید میتوانید با فعالسازی سرویس ویژه کلودفلر گواهینامه شخصی خود را نیز به آن اضافه کنید.
شما همچنین باید مطمئن شوید که لینکهای مبدا خودتان را در CDN تغییر داده باشید.
برای مثال اگر از KeyCDN استفاده میکنید ، از داشبورد KeyCDN وارد بخش Zones شوید.
در بخش Zones بر روی کلید Manage مخصوص Zone مورد نظر خود کلیک کنید و کلید Edit را انتخاب کنید.
حال که صفحه pull zone باز شد. آدرس وب سایت خود را از پروتکل HTTP به پروتکل HTTPS تغییر دهید.
از داشبورد KeyCDN وارد بخش Zones شوید.
در بخش Zones بر روی کلید Manage مخصوص Zone مورد نظر خود کلیک کنید و کلید Edit را انتخاب کنید.
بر روی Show Advanced Features کلیک کنید.
پروتکل HTTP/2 را فعالسازی کنید و روی کلید Save کلیک کنید.
دقیقا همانند مرحله سوم در وردپرس در این بخش نیز ما تمامی لینک گذاریهای سخت وب سایتمان را در CDN از HTTP به پروتکل امن HTTPS تبدیل میکنیم.
در انجام این کار دقت نظر فرمایید زیرا اعمال انجام شده تاثیر مستقیم بر روی سئو سایت شما دارد. همچنین مطمئن شوید که پس از تکمیل کار آدرس ها با پروتکلهای HTTP را حذف کنید. در KeyCDN بخشی به نام Delete Me وجود دارد که میتوانید از آن برای حذف این آدرسهای سخت استفاده کنید.
پس از انجام این عملیاتها وقت آن است که وب سایتتان را در کنترل پنل وب مستر گوگل نیز به HTTPS تغییر دهید. برای اینکار شما راهی جز ایجاد یک وب سایت جدید در سرچ کنسول وب مستر گوگل ندارید ، بنابراین حالا روی Add a Property کلیک کنید. و آدرس وب سایت خود را همانند زیر وارد کنید.
سایت مپ ها به روند ایندکسینگ وب سایت شما تاثیر خاصی نمیگذارند ولی برای اینکه شما خودتان از لینکهای ایندکس شده خود با خبر شوید مفید هستند و همچنین از این طریق شما میتوانید مشکلات موجود در لینکهای خود را نیز ببینید.
اگر در نسخه HTTP وب سایت خود سایت مپ را متصل کردهاید ، در این نسخه HTTPS نیز باید این کار را انجام دهید.
نکته : برای موتورهای جستوجوی دیگر مانند یاندکس ، یاهو و بینگ نیز باید این راهها را انجام دهید و پروتکل جدید وب سایت را به موتورهای جستوجو بشناسانید.
ما پیشنهاد میکنیم برای کمک به رباتهای گوگل و همچنین سریعتر شدن روند ایندکسشدن نسخه HTTPS وب سایتتان از ابزار Fetch گوگل استفاده کنید. این ابزار باعث بررسی سریع رباتها در وب سایتتان خواهند شد و روند ایندکس وب سایتتان را افزایش میدهند. (این کار به صورت خودکار نیز انجام میشود ولی کمی بیشتر از انجام دستی زمان میبرد)
۱ – وارد بخش Fetch گوگل شوید و فیلد را خالی گذاشته و روی Fetch کلیک کنید.
۲ – پس از انجام این کار روی گزینه Submit to index کلیک کرده و با انتخاب گزینه Crawl this URL and its direct links تمامی صفحات متصل به صفحه اصلی وب سایتتان را مورد بررسی ربات گوگل قرار دهید.
آپدیت (Dec 24 2017): این مرحله ، مرحلهای است که بیشتریها فراموش میکنند که انجام دهند، هر چند از نگاه بنده (پوریا آریافر) چندان اهمیت ندارد، به هر حال پس از انجام مرحله ۱۱ شما باید فایل Disavow پروتکل قبلی (پروتکل http) را از طریق این لینک گوگل دریافت کنید و در نسخه یا همان Property جدید که با آدرس HTTPS در گوگل وب مستر است، فایل Disavow را آپلود کنید.
فایل Disavow چیست ؟ این فایل شامل بک لینکهای اسپم و مضر برای سایت شما است که میتواند تاثیر منفی در سئوی سایت شما داشته باشد، ولی این موضوع اما و اگرهای بسیاری دارد، مثلا شما از چه طریقی اسپم بودن لینک را تشخیص میدهید؟ تجربه؟ ابزارهای آنلاین؟ نظر سئوکار؟ میزان صحت تشخیص شما چقدر میباشد؟ آیا گوگل با شما هم عقیده است؟ به هر حال توصیه نمیشود شما چنین عملی را انجام دهید و بهتر است این موضوع را به یک متخصص سئو بسپارید. ولی در کل میتوان گفت که اگر به یقین رسیدید لینکی از سایت و یا لینک هایی از سایت اسپم است، زمانی اقدام به Disavow کنید که تعداد لینکها به سمت سایت شما بسیار باشد.
نکته مهم: گاهی بنده مشاهده کردم دوستان برای پاک کردن آدرس سایت قدیمی خود در گوگل، آدرس قدیمی سایت خود را در فایل Disavow در Property همان آدرس آپلود و ارسال میکنند، این عمل کاملا غلط است و تاثیرات منفی به همراه دارد.
شما وقتی لینکهای آدرس یک سایت را Disavow میکنید، یعنی به شکلی به گوگل میگویید لینکهای آن سایت را برای من nofollow کن. یعنی بی تاثیر کردن لینکهای سایت لینک دهنده.
این مرحله را شما وقتی باید انجام دهید که قبلا در نسخه http سرچ کسنول خود (یا همان Property قدیمی با آدرس http) فایلی از لینکها را Disavow کرده باشید، و حال در اینجا میگوییم که دوباره در Property جدید آن فایل را دوباره Disavow کنید به این علت که ممکن است با تغییر آدرس سایتمان، گوگل با پیدا کردن دوباره لینکهای اسپم سایت معرفی شده در Propery قبلی، تاثیر بر آدرس جدید را بگذارد، بیشتر این عمل جنبه محکم کاری را دارد ولی باز میگویم که بهتر است این عمل توسط متخصص سئو صورت بگیرد، در غیر این حالت، از Disavow کردن لینکهایی که مطمئن نیستید اسپم هستند یا خیر خودکاری کنید.
خب برای ثبت دوباره فایل Disavow به این لینک مراجعه کنید و فایل را در سرچ کنسول گوگل وارد کنید.
از موفق بودن عملیات اطمینان حاصل کنید .
سپس شما نیاز دارید که اطلاعات وب سایتتان در گوگل آنالیز را بروزرسانی کنید. کافیست که در گوگل آنالیز به بخش Account بروید و سپس بخش تنظیمات را مشاهده کنید. بعد از ورود به بخش تنظیمات ، میبایست اطلاعات وب سایت خودتان را از پروتکل HTTP به HTTPS تغییر دهید. این کار را برای Property Settings نیز انجام دهید. با این کار اطلاعات شما از دست نمیرود و تمامی آمار شما از ابتدا باقی خواهد ماند.
در اینجا چند نمونه از بروزرسانیهای لازمی که شما باید برای انتقال از HTTP به HTTPS انجام دهید را بررسی میکنیم.
گوگل ۱۳ راه حل برای انجام پس از مهاجرت به HTTPS را در صفحه گوگل پلاس خود منتشر کرده است که اگر به زبان انگلیسی تسلط دارید پیشنهاد میکنم حتما آن را بررسی نمایید.
همانطور که مشاهده کردید راههای مختلفی برای مهاجرت و انتقال صحیح از HTTP به HTTPS وجود دارد ولی اینکه شما کدام یک را انتخاب میکنید به خودتان بستگی دارد ولی راهی که امروز ما پیشنهاد کردیم یک راه عملی و خوب است که شما از این طریق میتوانید عملکرد وب سایت خود را از طریق پروتکل HTTP/2 بهبود ببخشید و به افزایش رتبه سایت خود در گوگل خود کمک کنید، هر چند انتقال به این پروتکل نزدیک به ۲۰۰ میلی ثانیه باعث کاهش سرعت سایت میشود ولی این امر نیز چندان مهم نیست. حالا دیگر شما مطمئن هستید که وب سایتی امن دارید و ورودهای شما دیگر بر مبنای یک فایل تکست ساده نیست و همه رمزگذاری خواهد شد.
اگر به دنبال منابع بیشتر در این زمینه هستید پیشنهاد میکنم مقاله سایت pixelprivacy را هم مطالعه کنید.