Борис И

Борис И

Был в сети 15 января 2023, 17:28
Заказы не принимаю
Это было бы отлично.
Из своей практики, с чем столкнулся и какие были проблемы:
Техническая часть
1. Дубли страниц.
Периодически вылезают откуда не возьмись. Контроль и еще раз контроль. И rel=canonical не панацея, есть дубли — ниже ранжирование и медленнее индексация.
2. Скорость, приходится постоянно тестить (ускорение — это здорово).
Структура
1. Хорошая структура, сейчас обязательное условие. И бывает просто необходимо связывать статьи тегами (метками), на данный момент нормальных индексируемых тегов из коробки нет. Я
тут пытался сделать, но это только костыли.
Нужен нормальный пакет, опишу как его вижу (солидарен с мнением здесь что такие теги полезны с точки зрения seo):
а. каждый тег отдельная страница с своими: title, description…
б. облако, теги к ресурсу — это все стандартно
в. добавление тегов с фронта (к уже имеющимся), именно тех которых еще не существует на сайте, а не просто выбор из уже имеющихся. Разграничение прав пользователей на добавление.
г. управление тегами, например удаление определенного тега во всех ресурсах или его замена на другой…
2. Нужна статичная пагинация, чтобы долго не расписывать тут и тут каждый материал всегда на одной и той же странице. (смотрю по вебвизору, пользователь попадает на страницу пагинации, а материала там уже нет — сразу уход и отказ)
Поведенческие
Чем дольше и глубже пользователь «закапывается» в сайте, тем лучше (в большинстве случаев, при условии получения ответа на его вопрос).
Достичь этого можно предлагая пользователю ссылки (материалы) релевантные его запросу. Точно узнать какой запрос привел пользователя на сайт (на самом сайте) мы не можем, даже метрика показывает не все запросы. Определение релевантности статьи — запросу, задача поисковиков. Но мы можем попытаться предоставить ему, похожие материалы.
Проблема — определение похожести. Опять же, пришлось придумывать костыли, которые только отдаленно приближаются к выполнению данной задачи. (нормальный, готовый пакет был бы идеален).
Плюс это хорошая внутренняя перелинковка и чем больше кликают по ссылке на сайте, тем лучше она работает. Стараюсь все блоки на сайте с ссылками тестировать и те по которым кликают мало, просто убираю — включая меню. Нет кликов, значит бесполезная трата пространства и отвлечение внимания, а значит помеха.
Для борьбы с проблемой
3. приходится чистить кеш
$resource->clearCache();
добавил после $resource->clearCache();

//получаем страницу, для отправки в кеш (пользователь этого не видит он переходит на другую страницу)
                $uri= $modx->resource->get('uri');
                $uri="http://".$_SERVER['SERVER_NAME']."/".$uri;
                file_get_contents($uri);
потестил, страница отправляется в кеш
Как вариант, но с ключевыми придется определять разные словоформы, а это уже дополнительная проблема, плюс, если это делают сами пользователи, ошибок не избежать, а один админ надорвется. Самое простое это учет кликов на большом промежутке времени, так сказать набрать статистику. Рано или поздно должны будут попасть релевантные статьи, но до этого времени будет не очень красиво (статья об одном, а в блоке совсем другое).
На modx.pro при написании вопроса есть графа «Вопрос связан с работой дополнения:», может быть можно играть и от этого, но опять же, его заполняют сами пользователи и не всегда.

Хотел было ответить, что выводить можно схожим образом, из категории и далее заменой наименее кликабельных статей на другие.
Но посмотрел и задумался, даже в категории вопросы, из-за их разнообразия, нужно на основе чего-то делать первичную выборку (иначе кликать толком не будут — первичные материалы будут полностью нерелевантны).
В общем, жаль.
Кстати, а почему на modx.pro нет блока с похожими статьями. База знаний здесь накопилась уже солидная, сам если что-то нужно по MODX, сначала ищу здесь и только потом обращаюсь к яндексу (гуглу).
Конечно с поиском по modx.pro все отлично, но и блок бы, на мой взгляд, не помешал.
Все бы хорошо, но вот то, что приходится чистить кеш страницы $resource->clearCache(); после каждого клика, по ссылкам в блоке, это плохо. Как это обойти я не нашел.
Может быть можно как то страницу, после всех манипуляций, запихнуть обратно в кеш, но как я не додумался.
Ставил css rating stars — не понравилось (появились дубли страниц). Конечно сейчас может что и изменилось, но у себя давно снес.
По мне, так LikeDislike лучше будет, только стандартных звездочек не хватает, зато есть возможность записывать результат голосования в tv, а потом сортировать по нему.
Есть VoteForms, но только для авторизованных, для анонимов никак.
1. Возможно у вас нет стилей на стрелки, они могут быть установлены вместе с bootstrap. Там стрелки голосования вниз(вверх) берутся из него.
2.
modx.pro/components/5475-voteforms-system-of-voting-and-polls/#comment-43463 — только для залогиненных пользователей
modx.com/extras/package/starrating css rating stars — подходит для гостей, выглядит красиво со звездочками, но дает кучу дублей страницы, не рекомендую

Был нужен компонент, чтобы могли голосовать «гости», нормального так и не нашел.
Возможно в любом месте, если правильно понял, вот пример
[[!pdoResources?	      
&tpl=`tplteg`
&scheme=`full`
&cache=`1` 
&cacheTime=`86400` 
&parents=`0`
&resources=`-[[*id]]`
&prepareTVs=`1` 
&includeTVs=`tags` 
&limit=`10` 
&hideContainers=`1` 
&where=`{"tags:LIKE":"%[[*tags]]%"}`
]]

где &where=`{«tags:LIKE»:"%[[*tags]]%"}` ищет ресурсы с соответствующими тегами
доп поле TV: tags
шаблон вывода tplteg
<li><a target="_blank" title="[[+longtitle]]" href="[[++site_url]][[+uri]]">[[+pagetitle]]</a></li>
Спасибо, depth поменял, заработало так
&where=`[{"tags:LIKE":"тег 1","OR:tags:LIKE":"тег 2"}]`
лог (до скобок [])
Added where condition: `TVtags`.`value`:LIKE=тег 1, OR:`TVtags`.`value`:LIKE=тег 2, modResource.parent:IN(36), modResource.published=1, modResource.deleted=0, modResource.isfolder=0
лог ( после скобок [])
Added where condition: `TVtags`.`value`:LIKE=тег 1, OR:`TVtags`.`value`:LIKE=тег 2, modResource.parent:IN(36), modResource.published=1, modResource.deleted=0, modResource.isfolder=0
Единственное добавилась еще одна строка (их стало 2)
Replaced TV conditions
В осальном в логах я не нашел различий, а вывод изменился, магия да и только