Como posso mover um URL através do redirecionamento 301 e reter as curtidas do Facebook da página e as informações do Open Graph?

Eu entendo que a tag meta og:url é o URL canônico para o recurso no gráfico aberto.

Quais estratégias posso usar se eu quiser dar suporte ao redirecionamento 301 do recurso, preservando seu lugar no gráfico aberto? Eu não quero perder meus gostos porque eu mudei os URLs.

A melhor maneira de fazer isso é armazenar o URL original do conteúdo e fazer referência a isso? Existem outras estratégias para lidar com isso?

Para esclarecer – eu tenho página:

/page1 , com um og:url de http://www.example.com/page1

Agora quero movê-lo para /page2 , usando um redirecionamento 301 para http://www.example.com/page2

Tenho alguma opção para evitar perder os gostos e comentários além de definir og:url meta como /page1 ?

   

    Resposta curta, você não pode.

    Uma vez que o object tenha sido criado no lado do Facebook, seu URL no gráfico do Facebook é fixo – os Likes e os Comentários são associados a esse URL e object; você precisa que a URL seja acessível pelo rastreador do Facebook para manter esse object no futuro. (note que o object se tornando inacessível não necessariamente o remove do Facebook, mas efetivamente você estaria começando de novo)

    O que eu geralmente recomendo aqui é (com exemplos: http://www.example.com/oldurl e http://www.example.com/newurl ):

    • Na / nova página, mantenha a tag og: url apontando para / oldurl
    • Adicione um redirecionamento HTTP 301 de / oldurl para / newurl
      • Isenta o rastreador do Facebook desse redirecionamento
      • Continuar a veicular as metatags da página em http://www.example.com/oldurl se a solicitação vier do rastreador do Facebook.
      • Não é preciso retornar nenhum conteúdo real ao rastreador, apenas uma página HTML simples com as tags apropriadas

    Portanto:

    1. As instâncias existentes do object no Facebook, quando clicadas, levarão os usuários à página (nova) correta por meio de seu redirecionamento
    2. O botão Curtir na página (nova) ainda produzirá o mesmo object correto (mas no URL antigo)

    Se você estiver migrando muitos URLs ou reescrevendo completamente o seu esquema de URL, use os novos URLs para novos artigos / produtos / etc, mas será necessário manter o redirecionamento em vigor se quiser manter curtidas, comentários, etc no conteúdo mais antigo.

    Isso inclui se você estiver mudando de domínio.

    O único problema aqui é manter o antigo URL -> novo mapeamento de URL em algum lugar no seu código, mas não é tecnicamente difícil, apenas uma coisa adicional a ser mantida no futuro.

    BTW, o rastreador do Facebook UA atualmente é facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)

    Estou tendo o mesmo problema com meus sites antigos. Os domínios estão mudando, os administradores querem mudar os URLs para seo etc.

    Cheguei à conclusão de que é melhor ter algum tipo uniqe id em db apenas para facebook – desde o início. Para artigos, por exemplo, eu tenho myurl.com/a/123 onde 123 é o ID do artigo.

    O URL real é myurl.com/category/article-title. Artigo pode então ser colocado em categoria diferente, renomeado etc com lógica extensiva para 301 redirecionamentos por trás dele. Mas o identificador fb básico pode permanecer o mesmo para sempre.

    É claro que isso só é viável quando se inicia com um novo site ou quando se implementam comentários fb pela primeira vez.

    Apenas uma idéia, se você pode planejar com antecedência 🙂 Deixe-me saber o que você pensa.