У меня есть статический сайт, на котором пользователи могут создавать изображения и контент в неограниченных комбинациях. Когда пользователь завершает работу, создается постоянная ссылка, позволяющая ему поделиться своим творением через Facebook/Twitter/GooglePlus/и т. д. Я хочу, чтобы их общий пост содержал изображение и контент пользователя, но я обнаружил, что боты социальных сетей анализируют только метатеги HTML из моих постоянных ссылок и не оценивают какой-либо Javascript.
Как я могу сделать так, чтобы контент моего пользователя отображался в общей публикации в социальной сети? Когда постоянная ссылка нажата, Javascript на стороне клиента оценит параметры запроса постоянной ссылки и отобразит содержимое пользователя. Я также могу отображать содержимое пользователя в метатегах HTML, которые используются Twitter и FB для заполнения содержимого сообщения, но боты не оценивают какой-либо javascript, поэтому метатеги не отображаются.
Одно из возможных решений, которое я исследовал, — предварительный рендеринг. Возможно, моя постоянная ссылка может быть расположением HTML-файла в корзине AWS S3, которую я могу создать, как только пользователь поделится своей постоянной ссылкой. Этот HTML-файл на S3 может содержать пользовательские метатеги, и я могу предоставить их ботам социальных сетей. И когда к этому файлу обращаются, я могу перенаправить его на мою постоянную ссылку. Это кажется разумным? Я могу отчитаться после того, как попробую это.
Другим решением является использование службы предварительного рендеринга, например https://prerender.io/. Это кажется немного громоздким и закрытым, но может быть более надежным и надежным, чем мое решение S3 выше. Любые идеи?
Я открыт для отзывов и других решений, и любые предложения будут замечательными.
другая актуальная информация:
Этот ответ кажется интересным, он включает в себя активацию Facebook Javascript SDK: https://stackoverflow.com/a/34178987/1884158
И я знаю о таких инструментах, как валидатор карт Twitter и отладчик акций Facebook, здесь: https://cards-dev.twitter.com/validator https://developers.facebook.com/tools/debug/ который будет полезен для тестирования любых решений.
И если это поможет, мой сайт представляет собой приложение React, которое связано с HTML/CSS/JS и полностью отображается на клиенте.