2016-09-05 6 views
0

ユーザーがFacebookの共有ボタンを使用してページを共有するときにクロールを検出しようとしています。しかし、ライブログを見ると、ボタンをクリックしても何もコントローラに当たっていないようです。RailsがFacebookの共有と通常のページビューを検出しています

アイデアはuser-agentを検出して、ユーザーが実際にサイトにアクセスしたときとは異なるコンテンツを共有するようにしました。

def show 
    Rails::logger.debug "********************************" 
    Rails::logger.debug "#{self.class.name} - params: #{params.inspect}" 
    Rails::logger.debug "#{self.class.name} - request.headers['HTTP_USER_AGENT']: #{request.headers['HTTP_USER_AGENT'].inspect}" 
    Rails::logger.debug "********************************" 

    render "pages/fb_test", layout: false 
end 

共有ボタン

.fb-share-button{:"data-href" => "http://myapp.herokuapp.com/pages/1", :"data-layout" => "button", :"data-size" => "small", :"data-mobile-iframe" => false} 
    %a.fb-xfbml-parse-ignore{target: "_blank", href: "https://www.facebook.com/sharer/sharer.php?u=http://myapp.herokuapp.com/pages/1"} 
    Share 
私は共有ボタンをクリックすると、Facebookが提供されたURLにヒットすることを引き受ける

、クロール:私のコントローラで

私には、以下の持っています関連するコンテンツを返します。しかし、heroku logs --tailを使用すると、共有ボタンをクリックしても何のアクティビティも表示されませんが、コンテンツはFacebookの共有ポップアップで正しく表示されます。

これはRackレベルで検出する必要がありますか?

答えて

0

Facebookはあなたのウェブサイトをキャッシュします。 https://developers.facebook.com/tools/debug/sharing/に行く必要があります。あなたのウェブサイトのURLを入力し、Facebookのキャッシュを更新するために "再びスクラップ"をクリックしてください。

関連する問題