I just chatted with BlueHost about this. Here’s the pertinent part of my chat:
(14:29) [Me] So, in what WordPress file are the hyperlinks edited?
(14:33) [BlueHost] When you go to Appearance>Menu, you will get to select for which page you need the https you will need to set the URL there
(14:36) [Me] So, within the menu itself, I change the URL to https://boxxx.BlueHost.com/username/page-name
(14:36) [BlueHost] Exactly
(14:36) [Me] and that automatically makes the SSL certificate work?
(14:37) [BlueHost] Only to that page and this is shared SSL
(14:38) [Me] Understood. So my website can switch from http to https with no problem?
(14:38) [Me] between different pages, I mean
(14:39) [BlueHost] Yes but you will see the URL like https://boxxx.bluehost.com/username/page-name. If you purchase postive SSL then it will be just https://domainname.com/page-name
(14:40) [Me] Got it. That’s no problem. If I purchase an SSL, I also have to purchase dedicated IP, correct?
(14:41) [BlueHost] Yes SSL needs dedicated IP address.
First of all, there’s no place in the Menu to change the URL. So I deleted from the menu the one page I want to secure (a member login page); I did not delete the page from Pages. Next, I added a Custom Link in the Menu, using BlueHost’s https:// format. However, I got a 404 error, just as you did.
Something about WordPress isn’t allowing the free SSL to work properly – OR – BlueHost doesn’t know how to explain the WordPress process for the free SSL.
I did read somewhere in my hunt to find a resolution to this that the https:// URL will only direct to a file in the root directory (public_html) and not to a subdirectory (sub domain). But that’s neither here nor there if it doesn’t work on the domain.