Force.comサイトにはコミュニティユーザでログインして利用する機能が用意されていますが、未ログインの状態ではサイトゲストユーザとしてアクセスすることになります。
このサイトゲストユーザ一応Salesforce組織のユーザとして用意されています。例えば次のようにユーザ情報を表示しようとするとちゃんとユーザの姓の値が表示されます。
<apex:outputText value="{!$User.LastName}" />
ではセッションIDとかはどうなのかなと次の処理を入れてみました。
<apex:outputText value="{!$Api.Session_ID}" />
結果はこちら
NULL_SESSION_IDとして扱われるみたいです。
ちなみに一般ユーザでログイン済みの場合は次のように出力されます。
サイト未ログインの場合は、セッションIDをつかった処理の利用はできなさそうです。