ユーザーが無制限の組み合わせで画像とコンテンツを生成できる静的サイトがあります。ユーザーが作業を完了すると、パーマリンクが生成され、Facebook/Twitter/GooglePlus/etc で自分の作品を共有できるようになります。共有投稿にユーザーの画像とコンテンツを含めたいのですが、ソーシャル メディア ボットは私のパーマリンクから HTML メタ タグのみを解析し、Javascript を評価しないことがわかりました。
ユーザーのコンテンツを共有ソーシャル メディアの投稿に表示するにはどうすればよいですか? パーマリンクがクリックされると、クライアント側の Javascript がパーマリンクのクエリ パラメータを評価し、ユーザーのコンテンツをレンダリングします。Twitter や FB が投稿のコンテンツを入力するために使用する HTML メタ タグ内のユーザーのコンテンツもレンダリングできますが、ボットは JavaScript を評価しないため、メタ タグはレンダリングされません。
私が検討した解決策の 1 つは、事前レンダリングです。おそらく私のパーマリンクは、AWS S3 バケット上の HTML ファイルの場所であり、ユーザーがパーマリンクを共有するとすぐに作成できます。S3 上の HTML ファイルにはユーザー固有のメタ タグを含めることができ、それをソーシャル メディア ボットに提供できます。そして、そのファイルにアクセスすると、パーマリンクにリダイレクトできます。これは合理的に思えますか?これを試した後、私は戻って報告することができます。
もう 1 つの解決策は、 https://prerender.io/などの事前レンダリング サービスを使用することです。少しかさばってブラックボックス化されているように見えますが、上記の S3 ソリューションよりも堅牢で信頼性が高い可能性があります。何か案は?
私はフィードバックやその他の解決策を受け入れており、どんな提案も素晴らしいでしょう.
その他の関連情報:
この回答は興味深いようです。これには、Facebook Javascript SDK のアクティブ化が含まれます: https://stackoverflow.com/a/34178987/1884158
また、Twitter の Card Validator や Facebook の Share Debugger などのツールについても認識しています: https://cards-dev.twitter.com/validator https://developers.facebook.com/tools/debug/ はテストに役立ちます。任意のソリューション。
それが役に立てば、私のサイトは HTML/CSS/JS にバンドルされ、クライアント上で完全にレンダリングされる React アプリです。