The Amazon Smile program only works if you use the smile.amazon version of their website (as opposed to the WWW.amazon version). But if you follow a link you find on the net, it will probably take you to the WWW version. You can manually edit the location bar to change to the smiley version of the link, but here is a useful snippet to do it for you:
javascript:void(location.href=window.location.protocol+"//"+ window.location.host.replace(/^www.amazon./,"smile.amazon.")+ window.location.pathname)
Create a bookmark which links to this piece of JS (all one line, no spaces, please). If you find yourself on an unsmiling Amazon page, click the bookmark, and the smiling version of the page opens in it's place.
Seems to work fine on my Firefox browser. Other browsers may require tweeking, but the principle should still be valid.