Moving to HTTPS for Google, not such a difficult problem. Enough 301 redirect and a normal certificate. But for Yandex you need to do some specific settings and actions.
1. Install SSL certificate
There’s nothing difficult. Enough to do everything by the instructions from the hosting provider.
2. To solve the problem of Mixed content
Should not be content with the HTTP versions. Lock in the address bar should be green, not yellow.
3. Both protocols “on air”
Both versions of the site must be accessible by both protocols HTTP and HTTPS.
4. Setting robots.txt for HTTP
HTTP-version remains as-is. Only in robots.txt you need to change Host directive.
Example Host: https://site.ru (the only place where the versions of intersect)
5. Setting robots.txt for HTTPS
For this robots.txt file do the same Host directive and the https link to the sitemap where all links with https protocol.
6. Exclude crossing
Make a protocol-NOTdependent canonical links, links in content and other content.
7. Yandex Webmaster
Add to Yandex webmaster https version and set the primary mirror to https.
8. What about Google?
Google sees that there’s a more secure version and puts it in search results.
9. What about 301 redirect?
Set 301 redirect if necessary. But only after the complete migration of mirrors and lack in search results version with HTTP.
This is all done in order to as smoothly as possible to change the protocol and not lose positions and organic traffic.
For clarity I attached 2 examples of robots.txt