2011-12-13 8 views
5

Credo che il mio sito abbia il markup corretto per Facebook & Meta tag Open Graph. Ma il controllo del linter di Facebook mostra che nessuno dei tag è stato rilevato. Si può vedere di persona qui:Lo strumento lint di debugger di Facebook ottiene HTTP 206 - non rileva i metatag di Open Graph (altri strumenti)

http://developers.facebook.com/tools/debug/og/object?q=goodloesolitaire.com

Quando uso un altro sito, si trovano i tag:

http://www.opengraph.in/?url=goodloesolitaire.com&format=html

ho passato le domande simili e nessuno di quelli check-out. Qualche idea sul perché il debugger di Facebook non veda nulla?

risposta

3

Facebook sta visualizzando il codice HTTP 206 "Contenuto parziale" invece del normale 200 "OK".

206 "Contenuto parziale": si potrebbe verificare questo messaggio se un cliente ha un copia parziale dei contenuti nella cache e le richieste e l'aggiornamento di perdere contenuti. Questo messaggio indica che la richiesta parziale è riuscita.

Ho trovato un vecchio post sul forum a questo proposito: http://forum.developers.facebook.net/viewtopic.php?id=68440

E sembra che potrebbe essere un problema di configurazione del server a che fare con il caching. Esegui Varnish o qualcosa del genere sul tuo server? Fai il check-in per quello.

Un'altra cosa da provare potrebbe essere spostare il meta tag charset sotto i tag Open Graph, in modo che Facebook conosca la giusta codifica per analizzarli. Inoltre, utilizzando questo tag tipo potrebbe funzionare meglio:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 

Infine, assicurarsi che non si ha nulla bloccando l'user agent raschietto Facebook. Come menzionato nel loro documentation:

Il nostro bot funziona con l'agente utente "facebookexternalhit/*". Rendi sicuro di non bloccare quel programma utente. Inoltre, assicurati che i server di Facebook possano raggiungere il tuo server.

+0

Il 206 era un indizio. Si è rivelato un problema con il framework middleware Connect. Stava impostando Content-Length in base all'intervallo richiesto anziché alle dimensioni del corpo. – Thomas

+0

Felice di aver capito! – thaddeusmt

+0

È possibile accettare questa risposta se aiuta a risolvere il problema. – gjb

1

Se si utilizza per unghie:

Mettere

if (req.http.user-agent ~ "facebookexternalhit") 
{ 
    return(pipe); 
} 

All'interno della vostra sub vcl_recv :

sub vcl_recv 
{ 
} 

Ha funzionato molto bene.

Problemi correlati