Странно: здесь вроде не начинал ничего писать. И из топика про оптимизацию сюда не переходил.

Надо будет перепроверить логику кеширования данных по редактируемым комментам. Судя по всему начинаешь писать коммент в одном топике, потом, не дописав его, переходишь в другой топик и там его дописываешь и публикуешь. Но у него уже закешировано Parent... Надо поправить.

Всем привет! Заметка не особо большая, но для любителей SEO важная. Предыстория Для многих давно уже не секрет, что поисковики довольно неплохо воспринимают Javascript-сайты, в том числе и те, которые не в полной мере поддерживают SSR (Server-Side Rendering). То есть, если раньше поисковики запрашивали код страницы сайта по ее адресу, получали в ответ HTML-код и делали его разбор как есть, без учета javascript, то сейчас они не просто загружают код страницы, а непосредственно ее выполняют в виртуальной машине, учитывая подгрузку сторонних стилей и скриптов, скорость рендеринга страницы и т.п. По этой причине в настоящий момент как бы и не о чем беспокоиться, когда стоит вопрос "стоит ли делать сайт на JS, ведь может пострадать SEO?". Типа, страницы теперь отлично парсятся и можно смело делать сайты на JS. Но на самом деле далеко не все так просто. Помните, что сейчас все чаще и чаще на всех углах слышится "Не думайте только о SEO, больше думайте о поведенческих факторах, юзабилити и т.п."? То есть, если пользователи дольше сидят на вашем сайте, больше выполняют всяких действий (в том числе и переходы по внутренним страницам), то считается, что они более вовлечены на вашем сайте, и ваш сайт более интересен и его надо показывать больше другим пользователям. Но что получается с JS-сайтами, у которых переходы по страницам работают не классическим способом (когда каждый переход на другую страницу - это полная перезагрузка страницы), а по принципу SPA (Single Page Application)? На таких сайтах, когда пользователь кликает внутреннюю ссылку, чтобы перейти на другую страницу, у него не происходит реального перехода, а просто подгружаются нужные данные (или берутся из кеша, не суть) и страница или часть ее перерисовывается. Другими словами для сервиса аналитики это как бы и не переход (точнее совсем не переход). Когда метрика или аналитика смотрит на "поведение" таких пользователей, они примерно видят "Пользователь зашел на сайт, пользователь сидит, что-то кликает, все еще сидит на этой странице, сидит... долго сидит... Наверно просто оставил страницу открытой". А в это время пользователь может прочитал с десяток статей (на разных страницах, естественно), написал N комментариев и т.п. Решение Чтобы на таких сайтах сервисы аналитики получали актуальную информацию о переходах, в их программных решениях предусмотрены методы "ручной" отправки такой информации. У гугл.аналитики это gtag('event', 'page_view', data); У яндекс.метрики это yaCounter.clickmap().hit(location.pathname). Кстати, этот метод устарел, надо будет найти более актуальное решение. В @prisma-cms/front я добавил код, реализующий эту логику. Сайтам, работающим на @prisma-cms, достаточно просто обновить у себя этот модуль и пересобрать скрипты, ничего более прописывать не надо дополнительно (будут использованы установленные на странице счетчики, лучше всего прописывать их в public/index.html). Вот теперь в гугл.метрике видно, что такие переходы учитываются. Profit. P.S. Кстати, еще немного относительно поисковиков и JS-сайтов. Гугл обновил свой сервис PageSpeed Insights. Наиболее заметные изменения: 1. Он стал более правильно рендерить на своей стороне JS-сайты. Еще недавно (не боле чем месяц назад) я проверял свои сайты на @prisma-cms, со всеми была одна картина: ошибок не было и сайты нормально индексировались, на PageSpeed выдавал белый снимок, то есть страница как будто пустая. Я знал, что это просто применяются устаревшие методики и рано или поздно гугл обновится и все заработает ОК, и вот теперь это как раз работает ОК, гугл видит теперь страницу нормально. Кстати, modxclub.ru для десктопа показывает 99/100, но для мобильников есть еще к чему стремиться, пока что 62/100. pivkarta.ru 97/100, для мобильников еще хуже (35/100). 2. Вкладка "Для мобильных" передвинулась влево, перед вкладкой "Для компьютеров". Видимо, гугл как бы намекает "Показатели для мобильников будут теперь учитываться выше, чем для десктопов". Думаю, стоит учесть. 3. Отчеты в целом стали более подробные и наглядные.

Таки гит в том числе для такого и придуман. Если ты делаешь на моем примере, то надо было: 1. Сделать себе клон моего проекта. Проще всего это делать прям на гитхабе, кликнув кнопку Fork. 2. Сливаешь клон себе на локал, выполняешь свои работы, коммитишь и выливаешь изменения в свой проект. Profit. В таком случае я смогу легко посмотреть что именно ты там сделал, слить к себе и запустить, посмотреть как это работает, и тогда уже дать комментарии по существу.

Дима, а ты свои изменения куда-то вылил? Где можно увидеть твой вариант полностью?

В рамках изучения @prisma-cms и шире (React, GrahQL, Apollo client и прочее) выполняю небольшие задачки. Что-то получается (но возможно можно сделать как-то лучше), что-то не очень. Думаю, что обсуждение таких задачек будет полезно не только мне. Задача: подготовить модуль для вывода пользователей сайта modxclub.ru с открытыми кошельками и текущего баланса. Данные пользователей: имя и аватар. Базовый модуль: https://github.com/Fi1osof/test-prisma-users. Здесь уже сформирован gql запрос и вывод id пользователей. Подключение к API отсюда: https://modxclub.ru/topics/razvorachivaem-u-sebya-kopiyu-modx-kluba.html Внесены изменения в вывод данных: Есть подозрение, что вместо второй обработки массива есть более правильный вариант. С аватаркой возник вопрос. https://modxclub.ru/images/resized/thumb/9c2bd2946018db2f057ec646aac3f04f.jpeg Данных не хватает, нужно добыть название файла. Для этого добавил в gql запрос и в переменные поле image, что дало возможность сформировать ссыль на картинку. Хорошо бы добавить еще проверку на наличие картинки и вывод картинки-заглушки при отсутствии картинки.

А это закомментировали? Вообще, бесконечный редирект срабатывает из-за того, что постоянно выполняется условие редиректа. Но уверены, что редирект именно на уровне .htaccess? Может еще на уровне MODX в чем экспериментировали? 1. Закомментируйте все правила редиректа в .htaccess и убедитесь, что ошибка редиректа пропала (пусть даже и вообще перестанет работать редирект). 2. Если все дело именно на уровне .haccess, то тогда скорее всего %{SERVER_PORT} не равняется 443. Это вопрос уже настройки хостинга. То есть если эта переменная отсутствует, то она в любом случае не будет равна 443 и поэтому всегда будет выполняться редирект. По этому вопросу лучше обратиться в саппорт хостинга.