Would a self-signed certificate impact my site for search engines? By that I mean, do robots refuse to index sites with self-signed certificates?
Using an HTTPS-only version of your site is not going to hurt your ranking, as long as during the switch (assuming you switched from a previous non-HTTPS) you apply all the necessary redirects.
However, I do not recommend using a self-signed certificate for a production website. There are essentially two reasons:
The first one, is that users will notice a big red warning trying to load your site telling them that the certificate is not signed by a certificate authority and should not be trusted.
This is not definitely a good image for your website.
The second is essentially connected with the first. Because the certificate is not trusted, clients may refuse to connect to it. Clients include user browsers, but also crawlers and you may experience an impact on your visibility.
You should use a self-signed certificate only for testing. Purchase a trusted certificate for production.
Certificates today are very cheap, especially standard domain validated certificates.
Google says they use "many things" to determine page rank. I think it is a quite reasonable leap to believe they also use certificate authenticity.
If so, because a self signed certificate is not as trusted, this would probably hurt your page ranking. I'm guessing significantly hurt it.
Furthermore, even if I was able to find your page in Google, it is likely that TrendMicro (my preferred virus software) would by default block it when I tried to view it, putting up a big red notice, "This is a dangerous page".
Also it might be worth noting that not all well known CA signed SSL certificates are the same.
One free cert for example isn't verified as much:
"90.) Why are Class 1 certificates free? ... Since Class 1 certificates are domain and/or email validated only and the process is performed mostly by electronic and automatic means, StartCom doesn't apply any fees for this type of certification." (1)
And my credit card processing company says:
"You should buy an SSL certificate from a good certificate provider. We recommend DigiCert — their certificates have very wide acceptance (and in particular should work well on mobile browsers, where many other certificate providers fall short). NameCheap is another good option. They have slightly lower acceptance but their basic certificates cost $10 to $20." (2)
It is interesting to note this StartSSL's FAQ page is NOT served by https, while Stripe's help is.
That being said, I use a self signed certificate for development and testing, which I think is the only appropriate place to use this type of certificate.
[Edit: I previously said that I thought the free certificates could not be used for credit card validation. I am now not 100% sure of this one way or another. It seems that free certificates may work some of the time, but not all of the time.]
I don't think anyone will definitively answer the question as it falls into the "Black Art" of SEO.
A reasonably conservative and educated guess though - probably not a good idea - even for regular HTTPS with a correct secure certificate Matt Cutts (Googles SEO authority) is unsure, and the comments were not positive - and this was with everything done right - although I do note its quite an old comment.
Logically though, having a self-signed SSL cert can only make things worse, as it does not have the credibility (and presumably not the level inbound links one would otherwise get).