A partir de 24 de outubro, o Facebook está deixando de oferecer suporte a encartes não autenticados do WordPress. Assim, se você estiver incorporando conteúdo do Facebook e da Instagram em seu site WordPress, eles se quebrarão.

Mais especificamente, os antigos pontos finais do Facebook oEmbed estão sendo substituídos por novos pontos finais que requerem autenticação via Facebook. Como o Facebook é proprietário do Instagram, as mesmas exigências se aplicam também para os pontos finais Instagram oEmbed.

Neste artigo, vamos cobrir como o WordPress usa o Facebook e o Instagram oEmbed endpoints, o que está sendo atualizado, e como você pode corrigir as coisas para que seus embasamentos continuem funcionando como deveriam.

Vamos nos preparar!

Como o WordPress usa oEmbed para incorporar conteúdo

oEmbed é um protocolo que permite que sites incorporem conteúdo de outros sites de terceiros com apenas um URL. É projetado principalmente para evitar a necessidade de copiar e colar HTML de outros sites. O WordPress usa oEmbed para exibir o conteúdo incorporado (como fotos ou vídeos).

Tudo o que você precisa fazer é colocar a URL do recurso na área de conteúdo, e o WordPress a transformará automaticamente em uma incorporação e mostrará uma visualização ao vivo da mesma.

Incorporando conteúdo com apenas um URL no WordPress
Incorporando conteúdo com apenas um URL no WordPress

No exemplo acima, colei em um link de vídeo do YouTube e o WordPress o converteu automaticamente para uma incorporação de vídeo. O protocolo oEmbed é a espinha dorsal do WordPress para incorporar muitos tipos de conteúdo, como vídeos, imagens, atualizações e muito mais de várias plataformas de mídia social.

Embora o WordPress permita a incorporação de iframes higienizados de qualquer fornecedor oEmbed registrado, ele não os incorpora todos por padrão por razões de segurança. Ele incorpora apenas URLs de certos provedores oEmbed sanitizados por padrão.

A lista de fornecedores de confiança do WordPress’ oEmbed inclui a maioria dos sites populares de alojamento de conteúdos e redes sociais como Imgur, Facebook, Instagram, Tumblr, YouTube, Vimeo, e muitos mais.

Facebook e Instagram oEmbed Endpoints (Legado)

Facebook e Instagram oEmbed são a espinha dorsal para a incorporação de conteúdos do Facebook e Instagram nos sites WordPress.

Um exemplo de como o WordPress incorpora o conteúdo do Facebook
Um exemplo de como o WordPress incorpora o conteúdo do Facebook

Os pontos finais do Facebook oEmbed permitem que o WordPress não apenas o conteúdo principal, mas também metadados como o nome e o logotipo da página, data e hora, miniatura, número de likes, comentários e compartilhamentos, e a URL para a fonte.

Um exemplo de como o WordPress incorpora o conteúdo do Instagram
Um exemplo de como o WordPress incorpora o conteúdo do Instagram

O mesmo se aplica à incorporação de conteúdo da Instagram. Você pode ver não apenas a imagem na incorporação, mas também informações importantes de metadados relacionados a ela.

Os novos pontos finais do Facebook e do Instagram “oEmbed”

O Facebook anunciou recentemente a desvalorização de seus atuais pontos finais oEmbed a partir de 24 de outubro de 2020. Eles estão chamando esses antigos pontos de extremidade agora como pontos de extremidade Legacy oEmbed.

Até 24 de outubro de 2020, os desenvolvedores devem aproveitar um token de usuário, aplicativo ou cliente ao consultar a API gráfica para imagens do perfil do usuário via UID, FB OEmbeds e IG OEmbeds. Os desenvolvedores devem fornecer um token de usuário ou aplicativo ao pesquisar imagens do perfil através de um UID ou ASID, embora os tokens de cliente também sejam suportados. Por favor, visite nosso changelog para Imagem do Usuário, Facebook OEmbed e Instagram OEmbed para obter detalhes sobre como começar a chamar estes pontos finais Graph API hoje
Facebook for Developers

O que você precisa agora para tirar vantagem da API do Facebook oEmbed

Indo contra a natureza aberta da web API oEmbed, o novo Facebook oEmbed API tem vários requisitos:

  • Você precisa ter uma conta no Facebook para Desenvolvedor.
  • Então você precisa ter um aplicativo registrado no Facebook para gerar uma App ID.
  • Em seguida, você deve habilitar o Produto oEmbed para sua aplicação registrada.
  • Então você deve gerar um App Access Token ou um Client Access Token.
  • Finalmente, você deve configurar o aplicativo do Facebook para o modo Live.

O WordPress está a remover o Facebook e o Instagram como fontes fiáveis de oEmbed.

Esperamos que a próxima grande atualização do WordPress inclua estas mudanças. Se você estiver usando o plugin Gutenberg, a última versão do Gutenberg 9.0 já eliminou o suporte a elas.

O que acontece com o antigo Facebook e o Instagram Embedded?

WordPress caches oEmbed respostas em seu banco de dados sob a post meta ou o tipo de post oembed_cache oculto (atualmente usado apenas em widgets).

Como o WordPress não elimina estes valores por padrão, o conteúdo das incrustações continuará a existir em seu website.

Mas eles serão purgados se você os apagar manualmente do banco de dados. Por isso, qualquer encarte do Facebook ou do Instagram que você tenha adicionado antes do prazo de 24 de outubro persistirá mesmo após a data de desvalorização.

Como incorporar o conteúdo do Facebook e Instagram depois de 24 de outubro

Se tentar incorporar conteúdos do Facebook ou Instagram depois de estes depreciarem os pontos finais herdados do oEmbed, você e os seus utilizadores podem receber erros do HTTP 400 como resposta.

Para nos ajudar a testar como novas tentativas de incorporação aparecerão após o prazo final, o Facebook adicionou um parâmetro para os pontos finais herdados do oEmbed para simular o erro. Eu o testei e os resultados estão abaixo.

Um embutimento simulado usando os pontos finais herdados do Facebook oEmbed
Um embutimento simulado usando os pontos finais herdados do Facebook oEmbed

As fallback embaixadas do Facebook aparecerão como pequenos trechos (120 caracteres no máximo) dentro de aspas de bloco. Também incluirá links para o autor e a fonte original, mas nada mais que isso.

Nem mesmo uma referência ao Facebook, exceto pelos links, clicando que o levarão ao Facebook.

Um embutimento simulado usando os pontos finais do Instagram oEmbed legado
Um embutimento simulado usando os pontos finais do Instagram oEmbed legado

Em comparação, as incrustações de segurança da Instagram são muito melhores com a estrutura de embutimento praticamente intacta.

Dito isto, esta é uma questão temporária. Assim que o WordPress remover o Facebook e o Instagram oEmbed de seu núcleo, os pontos finais legados oEmbed deixarão de ser um problema.

A única maneira de incorporar o conteúdo do Facebook e da Instagram será então cumprir com as exigências do Facebook. Você aprenderá como fazer exatamente isso na próxima seção.

Como Corrigir o Facebook e o Instagram oEmbed Issue no WordPress

A maneira mais fácil de restaurar o Facebook e o Instagram embutidos no WordPress é usar o plugin gratuito oEmbed Plus de Ayesh Karunaratne. Ele ajuda você a implementar os novos pontos finais do Facebook oEmbed para reativar o Facebook e o Instagram incorporados no editor de blocos.

O oEmbed Plus WordPress plugin
O oEmbed Plus WordPress plugin

Para começar, primeiro instale e ative o plugin.

Nota: oEmbed Plus requer versões em PHP 7.3 ou superior para funcionar. Se seu host WordPress atual ainda não suporta as versões do PHP 7.3+, nós o encorajamos fortemente a procurar novas versões de hospedagem.

Em seguida, crie uma conta no Facebook for Developers, se você ainda não tiver uma. Em seguida, crie um aplicativo. No meu caso, estou nomeando meu aplicativo como “Site WordPress”, mas você pode nomeá-lo como preferir.

Criar um aplicativo no Facebook for Developers portal
Criar um aplicativo no Facebook for Developers portal

A criação de um aplicativo irá gerar automaticamente uma App ID para ele.

Você pode visualizar tanto sua App ID como seu App Secret indo ao painel de Configurações → Basic panel sob seu painel de aplicativos. Anote estes dois valores para baixo, pois você precisará deles mais tarde.

Facebook for Developers 'App ID' e 'App Secret'
Facebook for Developers ‘App ID’ e ‘App Secret’

Enquanto você estiver aqui, defina também a URL da Política de Privacidade, pois ela é necessária para que o aplicativo entre em funcionamento. É recomendado usar uma política de privacida de adequada para que seu aplicativo não seja colocado na lista negra.

O Produto oEmbed é ativado automaticamente por padrão, de modo que você pode deixá-lo como está.

A seguir, vá para a tela Configurações → Escrevendo em seu painel do WordPress e procure pela seção Facebook e Instagramar Configurações Embutidas. Aqui, digite o App ID e os valores do App Secret que você anotou anteriormente.

Configuração das configurações do plugin oEmbed Plus
Configuração das configurações do plugin oEmbed Plus

Alternativamente, você pode adicionar a App ID e o App Secret ao seu wp-config.php file. Aqui está o trecho de código que você precisa usar:

define('OEMBED_PLUS_FACEBOOK_APP_ID', '7168...app.id...789');  
define('OEMBED_PLUS_FACEBOOK_SECRET', '20e5...app.secret...890xyz');

Não se esqueça de mudar os valores mostrados acima para os seus! Uma vez feito, salve o arquivo.

Se você editar o arquivo wp-config.php para configurar oEmbed Plus, ele desativará automaticamente os campos de App ID e do formulário App Secret em seu painel docWordPress. Assim, você pode manter suas credenciais do aplicativo em segredo de outros usuários.

É isso mesmo!

Todos os novos encartes do Facebook e Instagram agora usarão a nova API de autenticação para incorporar conteúdo em seu site WordPress.

Outros plugins de mídia social dedicados, como Instagram Feed e Social Post Feed, também estão adicionando suporte para os novos pontos finais do Facebook oEmbed. No entanto, estes plugins vêm com muitos recursos, portanto podem ser um inchaço desnecessário para seu site para este caso de uso específico. Se você já estiver usando-os, então você pode verificá-los.

O Facebook é generoso com os limites de taxas para seu novo API, por enquanto. Eles permitem que você faça até 5 milhões de pedidos por dia. À medida que o WordPress armazena as respostas do API oEmbed no banco de dados, um embed não acionará nenhuma outra solicitação além da primeira. Você pode consultar a documentação oEmbed atualizada do Facebook para obter mais informações.

Resumo

O WordPress é o CMS mais popular em uso atualmente. Da mesma forma, Facebook e Instagram são as plataformas de mídia social mais populares. Portanto, esta mudança afeta potencialmente milhões de sites.

Incorporar conteúdo de mídia social no WordPress oferece uma experiência mais única para os visitantes de seu site. A partir de 24 de outubro de 2020, muitos usuários desconhecidos acharão frustrante incorporar conteúdo do Facebook e da Instagram. Esperamos que este artigo o ajude a retificar a edição do Facebook oEmbed no WordPress.

Se você ainda estiver enfrentando problemas com Facebook e Instagram embutidos, informe-nos nos comentários!

Salman Ravoof

Salman Ravoof is a self-taught web developer, writer, creator, and a huge admirer of Free and Open Source Software (FOSS). Besides tech, he's excited by science, philosophy, photography, arts, cats, and food. Learn more about him on his website, and connect with Salman on Twitter.