10
votes

Applications à la page unique et graphique ouvert

J'écris un spa qui utilise des modèles de soulignement. L'application recherche et tarife les albums de musique et renvoie le résultat via AJAX. Si Facebook Open Graph MetaGs ne peut pas être modifié de manière dynamique et que l'URL de la page est constante quel que soit le résultat de la recherche, comment puis-je le faire pour que les utilisateurs puissent partager qu'ils ont noté un certain album.

IE) P>

<meta property="fb:app_id"      content="118454308341351" /> 
<meta property="og:url"         content="http://www.appurl.com" /> 
<meta property="og:title"       content="Fleetwood Mac's Rumors" /> 
<meta property="og:image"       content="AppImg.jpg" /> 


0 commentaires

3 Réponses :


4
votes

La façon dont je traite ceci consiste à créer une page dynamique que j'utilise comme objet de graphique ouvert, qui est simplement renseignée à partir des paramètres d'URL et redirige vers mon spa à l'aide de la méta redirection.


3 commentaires

Résolu ceci en créant un contrôleur opengraphe distinct qui serait indiqué par l'appel FB.API aux tarifs. Le contrôleur renvoie une page HTML avec des balises de méta og peuplées à partir d'un modèle constitué du titre, de l'image, etc.


@Aesopwaits, voudriez-vous partager cette solution? Je rencontre dans le problème de la nécessité de différentes balises OG pour différentes "pages" en cours d'exécution sur un spa.


Essayé cela, mais Facebook a également suivi la redirection, alors je suis allé à la redirection du lien Backend au lien FronTend du serveur lorsque l'agent utilisateur n'a pas commencé avec 'FacebookeXternalHit'.



3
votes

Merci à ce tutoriel j'ai trouvé une solution: https://speakerdeck.com/sienatime/facebook-sharing-for-single-page-apps?slide=15

J'envoie seulement des balises méta si le utilisateur utilisateur de La requête HTTP comprend "FacebookeXternalHit".

Voici quelques codes pour un backend avec noeud et Express: xxx

Vous pouvez également écrire votre propre middleware pour cela.


0 commentaires

0
votes

Notre solution consistait à utiliser NetLify Pré-rendu , qui pré-rendent puis met en cache le HTML rendu pour servir à des robots et des robots spécifiquement.

Cela semble bien fonctionner. Cela nous permet de mettre à jour de manière dynamique les balises de méta og, qui sont ensuite mises en cache par NetLify et servies à des crawlers, ils voient donc le contenu correct.

Il était également facile à configurer, donc si vous utilisez NetLIFY, cela peut être une bonne solution pour vous.


0 commentaires