Как поделиться в социальных сетях несколькими частями страницы (вложенным узлом), каждая со своими собственными метатегами opengraph? - PullRequest
2 голосов
/ 28 января 2020

У меня есть сайт drupal8, который использует Entity Embed Module для размещения тизеров контента в текстовом потоке статей.

Теперь посетитель заходит на страницу статьи (узел / 6), которая содержит несколько тизеров встроенных узлов (узел / 123, узел / 124 ...).
Посетитель хочет напрямую поделиться узлом / 123 сформируйте эту страницу статьи (узел / 6).
Каждый из встроенных узлов должен иметь свой конкретный c внешний вид на каналах социальных сетей, что легко, поскольку каждый из них имеет свою собственную страницу отдельного узла (в данном случае node / 123) с установленными соответствующими метатегами opengraph.
Но я не хочу перенаправлять пользователей из социальных сетей обратно на страницу этого отдельного узла (node ​​/ 123), а вместо этого перенести их в статью (node ​​/ 6). ) где часть контента была вставлена ​​/ откуда она была предоставлена ​​изначально.

Каков предпочтительный способ достижения этого?

Мои идеи на данный момент:

  1. Управление метатегами статьи (node ​​/ 6 ) в зависимости от аргумента URL? (Я не знаю, как добиться этого на стороне сервера, поэтому социальный бот получает правильные метатеги).

  2. Добавление аргумента к URL-адресу страницы с одним узлом (node ​​/ 123), который является общим, содержит URL-адрес статьи, из которой был встроен и предоставлен общий доступ к узлу,
    и инициирует перенаправление с js, когда URL-адрес содержит этот аргумент.

Чтобы прояснить это: допустим, у меня есть статья с url / node / 6, которая содержит встроенный тизер url node / 123. Тогда моя кнопка общего доступа на встроенном узле будет содержать этот URL:

например: http://example.com/node/123?originalySharedFrom=http: //example.com/node/6

var redirect_to_url = url.searchParams.get("originalySharedFrom");
if (redirect_to_url){
  window.location.replace(redirect_to_url);
}

будет будет ли второй подход поддерживаться большинством социальных сетей?
У меня такое ощущение, что solucion 2 - не самый надежный ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...