Version 3.8
You can set your website to automatically add www to your visitors address for seo reasons.
However, I found that if you are using SSL (https:\\) it doesnt work if you specify the store's Secure URL property.

The WWWRequirementAttribute in Nop.Web.Framework/seo calls the Nop.Core.Webhelper's GetThisPageURL method which in turn calls the GetStoreHost method, which returns the store's Secure URL property if it is populated.

So, the result:
I browse to https://mystore.com
WWWRequirementAttribute should check to see if the url starts with www but GetThisPageURL > GetStoreHost returns the store Secure URL which is https://www.mystore.com
WWWRequirementAttribute sees that the current url starts with www (but its not ACTUALLY the current url, its the store's Secure URL) so does nothing about it.
Consequently, the url remains unchanged.

The work around I have is to blank out the store's Secure URL, in which case the GetStoreHost actually returns the current page's url

There is a comment in GetStoreHost, if the SecureURL is blank that says:
//Secure URL is not specified.
//So a store owner wants it to be detected automatically.

Completely counter intuitive.