XF 2.3 Версия ресурса в заголовке результата поисковой выдачи

Версия XenForo
2.3.7

CHEL74

Проверенные
Сообщения
53
Решения
2
Реакции
11
Баллы
15
Обратил внимание на то, что Яндекс не отображает версию ресурса в поиске. Думаю, в некоторых случаях это может быть важно. Как сделать так, чтобы версия отправлялась в поисковики?
 
Решение
Ну, вот чо я наковырял. Шаблон xfrm_resource_view:

Модификацией шаблона самую первую строчку:
HTML:
<xf:title>{{ prefix('resource', $resource, 'escaped') }}{$resource.title}</xf:title>

Заменил на
HTML:
<xf:title>
    {{ prefix('resource', $resource, 'escaped') }}{$resource.title}
    <xf:if is="$resource.isVersioned()">
        {$resource.CurrentVersion.version_string}
    </xf:if>
</xf:title>

В названии вкладки версия появилась теперь, в Яндексе тоже должна. Верно всё сделал?
Но... У версиозности продукта в поиске есть и обратная сторона.

Одно дело если это ваш продукт , вы его обновляете, вы его разрабатываете и все остальные копии просто с вашего сайта, тогда да.
Но если вы варез и у вас у самого куча скопированных продуктов вы не будете успевать их обновлять, поисковик не сразу обработает новый тайтл и так далее. То на ваш сайт не кто не нажмет в поиске так как там будет висеть старая версия а пользователь ищет уже новый релиз. И естественно видя в поиске старые сборки он пролистает. Мое мнение я бы вообще ничего не трогал и оставил все как задумано движком, если конечно вы сами не пишите и разрабатываете свои ресурсы.
Кстати, очень даже важное примечание. Но мне всё же подойдёт версия в заголовке, так как у меня для СЕО из чужих не очень много ресурсов и там если новая версия выйдет и я прозеваю, об этом быстро сообщат участники. В остальном, ресурсы выкладывают сами авторы, поэтому они сами их обновлять будут, должно быть всё ок в этом плане.
 
Sadorimatsu, есть заголовок ресурса. Есть заголовок страницы.
Это абсолютно разные вещи.

Заголовок ресурса - хранится в БД.
Заголовок страницы - генерируется.

Для понимания.
{$resource.title} - это заголовок ресурса, оно хранится в базе.
<xf:title>{$resource.title}</xf:title> - это заголовок страницы. Оно генериуется.

Примеры.
Заголовок ресурса: [TC] Paygate: ЮMoney
Заголовок страницы: [TC] Paygate: ЮMoney | xenForo.Info - Ваш путеводитель по миру xenForo

Заголовок ресурса используется при генерации ссылки: /resources/tc-paygate-Юmoney.5783/
То есть берётся заголовок ресурса из БД, преобразуется в url формат и добавляется в ссылку.

Если в заголовке ресурса будет версия, то это всё превратится в:
Заголовок ресурса: [TC] Paygate: ЮMoney 1.3.0
Заголовок страницы: [TC] Paygate: ЮMoney 1.3.0 | xenForo.Info - Ваш путеводитель по миру xenForo
Cсылка будет выглядеть уже так: /resources/tc-paygate-Юmoney-1-3-0.5783/

И тут случается обновление версии. Допустим, теперь она 2.0.0.
Как всё это будет выглядеть:

Заголовок ресурса: [TC] Paygate: ЮMoney 2.0.0
Заголовок страницы: [TC] Paygate: ЮMoney 2.0.0 | xenForo.Info - Ваш путеводитель по миру xenForo
Cсылка будет выглядеть уже так: /resources/tc-paygate-Юmoney-2-0-0.5783/

Вопрос, а что будет с старой ссылкой ? Ответ простой - редирект.
/resources/tc-paygate-Юmoney-1-3-0.5783/ -> /resources/tc-paygate-Юmoney-2-0-0.5783/

Доказывается это всё крайне просто. Достаточно вместо нормального заголовка ресурса прописать в ссылке мусор.
Код:
   ~ ❯ curl -v https://xenforo.info/resources/tc-2edssadfgsdf.5783/                                                                                                                                                          ✘ INT   20s
* Host xenforo.info:443 was resolved.
...

* Request completely sent off
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
< HTTP/2 301
< server: nginx
< date: Thu, 23 Apr 2026 06:39:47 GMT
< content-type: text/html; charset=utf-8
< content-length: 0
< x-frame-options: SAMEORIGIN
< x-content-type-options: nosniff
< location: https://xenforo.info/resources/tc-paygate-%D0%AEmoney.5783/

Здесь два примечательных момента:
1. < HTTP/2 301 - это 301 редирект
2. < location: https://xenforo.info/resources/tc-paygate-%D0%AEmoney.5783/ - куда редирект идёт

И тут возникает интересный вопрос.
Как поступит поисковик ? А что будет на других страницах с этой ссылкой ?

Допустим, есть 5 страниц/тем, где есть ссылка на /resources/tc-paygate-Юmoney-1-3-0.5783/.
Или, например, вообще на другом сайте есть ссылки на /resources/tc-paygate-Юmoney-1-3-0.5783/
Что будет делать поисковик? Вероятнее всего, он запустит процесс миграции и пересчета ссылок.
Нужно ли всё это, чтобы просто обновить информацию на странице ? Сомневаюсь.

В случае, если меняется только заголовок страницы - всё происходит намного проще.

Примеры.
Заголовок ресурса: [TC] Paygate: ЮMoney
Заголовок страницы: [TC] Paygate: ЮMoney 2.0.0 | xenForo.Info - Ваш путеводитель по миру xenForo
Ссылка при этом не меняется: /resources/tc-paygate-Юmoney.5783/

Всё, что ссылалось - до сих пор также и ссылается.
Никаких редиректов и прочего. Просто у страницы обновились данные и всё.
 
Последнее редактирование:
25517, у меня такое ощущение, что мы о разных вещах говорим.
Почему вы уверены, что добавление вывода версии пагубно повлияет? Или вы вообще говорите о добавлении учёта версии в url и заголовок физически? Если да, то вы правы, такое делать категорически не стоит.
В случае, если меняется только заголовок страницы - всё происходит намного проще.

Примеры.
Заголовок ресурса: [TC] Paygate: ЮMoney
Заголовок страницы: [TC] Paygate: ЮMoney 2.0.0 | xenForo.Info - Ваш путеводитель по миру xenForo
Ссылка при этом не меняется: /resources/tc-paygate-Юmoney.5783/
Именно по решению, что выше представили получается так. Когда исход совсем другой. И конечно важно, чтобы URL ресурса и темы ресурсы были разными и их мета-заголовки тоже, чтобы не создавать дубли + на темы идут свои редиректы от цитата на goto и на сообщение posts, не стоит тоже забывать. Обновление версии не меняется URL, а только изменит имя заголова. Тут это условие выполняется. По части индексации тут проблем не вижу.

Я уже лично проверил, что никакого влияние на URL ресурса не происходит. Физически в БД ничего не меняется. Версия лишь подставляется после заголовка для видимости бота в коде страницы, при этом никак не влияющая на него физически и на тему ресурса не распространяется вывод версии. Префкисы устроены точно так же. Аналогичный фокус проделал с префиксом и всё отлично. Или, может я чего-то не понимаю? 🤔
 
Последнее редактирование:
Sadorimatsu, прописывание версии в заголовок ресурса.

Это заголовок ресурса, он хранится в БД:
1776931205637.png
1776931283103.png


Это заголовок страницы, он генерируется:
1776931354627.png

Это две разные вещи. Вот совсем. Вот прям полностью. Вот прям совсем совсем.
Изначально речь шла про то, чтобы вообще отключить версионирование и прописывать прям в заголовок.
И пример с ссылками как раз был про это.

Не про модификацию шаблона. А именно про то, чтобы прописывать это в заголовке ресурса.
Я буквально подчеркнул там, чтобы сделать акцент на этом.
 
25517, так стоп, а зачем прописывать версию в заголовок вручную? Если для этого есть своё поле? Я вот смысла не вижу. Если мы отключаем версионирование от базовой выдачи версии с коробки, то да, в этом может и есть смысл, но это же неудобно будет при обновлении. Неужели это практичней? Хотя, если мы не создаем тему для обсуждений и нам нужен учёт тока в ресурсе, то может и есть смысл, но мне кажется это уже колхоз...
 
Последнее редактирование:
OFFTOP

Я устал, я мухожук

Я идею понимаю, смысла просто в этом не вижу, если есть более практичное решение. Я логики не понимаю, зачем вручную это прописывать отключая вариант версии с коробки. 🤔
Если вы чисто для того, чтобы пояснить, чем это чревато, то ок, вопросов нет. 🙂
 
Последнее редактирование:
Sadorimatsu,

9 пост. Арт написал про это.
И дальше уже пошло по цепочке.
Потом дошло до 18 поста, где ты выразил своё несогласие

Если вы чисто для того, чтобы пояснить, чем это чревато, то ок, вопросов нет. 🙂
Оно самое
 
Последнее редактирование:
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу