[localizator] Мультиязычность, СЕО, автоперевод... Modx seo pro настройка


Быстрый старт с mFilter2 / SeoFilter / Компоненты / docs.modx.pro

В качестве быстрого старта мы настроим одно правило для поля "цвет (color)" из опций miniShop2. Подразумевается, что вы уже фильтруете по этому полю в mFilter2.

Подготовка

Для начала нам нужно убедиться, прописана ли настройка aliases в вызове сниппета mFilter2 в интересующем нас шаблоне. Мой вызов сниппета на демо-сайте:

[[!mFilter2? &class=`msProduct` &element=`msProducts` &setMeta=`1` &filters=` ms|price:number, parent:categories, msoption|color` &aliases=` ms|price==price, resource|parent==category, msoption|color==cvet` &tplFilter.outer.price=`tpl.mFilter2.filter.slider` &tplFilter.row.price=`tpl.mFilter2.filter.number` ]]

Так как мы фильтруем по опции цвет, то запись в aliases выглядит так: msoption|color==cvet. Нас интересует то, что в правой части от ==, то есть cvet. Сейчас в категории при выборе в фильтре цвет "синий" у нас получаются такие адреса /razdel/?cvet=синий. Для терминологии: в нашем случае параметр -- cvet, а значение -- синий.

Также стоит изначально заглянуть в системные настроки SeoFilter в раздел Основные. По умолчанию там уже будут прописаны некоторые настройки, но склонение слов изначально отключено - можем активировать пока без ввода логина и пароля. Подробнее об этом на странице "Дополнительные возможности".

Добавление поля в SeoFilter

Теперь можно перейти к добавлению поля в компоненте (Приложения->SeoFilter), где мы сможем определить какие url мы хотим формировать с этим полем. Все значения (синий, зелёный и т.д), обрабатываются согласно вашим системным настройкам в разделе дружественных url. У меня это просто модуль translit, а у кого-то может быть переводчик от Яндекс или что-то ещё.

Настройки в окне добавления поля: Название -- пишите для своего удобства, чтобы было легче добавлять правила. Выберите класс - выпадающий список с выбором одного из 5 значений:

Ключ - название поля (английскими буквами). В нашем случае то, что находится справа от msoption| в настройке filters, для нас это color. Синоним - то, что нас интересовало в настройке aliases, то есть -- cvet.

----- Все последующие настройки уже не обязательны -----

На данном этапе в правилах с этого поля будут формироваться такие url: "cvet-sinij", "сvet-krasnyij" и т.д.

Словарь

После сохранения поля автоматически будут собраны все значения поля цвет, которые уже используются в ваших товарах в Словарь. Здесь можно корректировать неверно распознанные значения, изменять синонимы, если не нравится их написание.

Создание нового правила

Сначала нужно просто добавить правило, написав Название и выбрав страницу, чтобы можно было привязать к нему поля. По желанию можно заполнить SEO-теги, но потом будет удобнее.

Термины

Добавление поля в правило

После сохранения снова откроем наше правило уже в режиме редактирования, где уже появилась таблица с кнопкой "Добавить поле" и Маска URL-адреса, которая автоматически заполнится после сохранения правила, если были добавлены поля.

Нажав на "Добавить поле", всплывёт окошко, где нам нужно выбрать "Цвет" из выпадающего списка.

После нажатия сохранить, в таблице появится поле и его синоним для использования в тексте.

SEO шаблоны для текстов

Перейдём ко вкладке SEO и пропишем для начала тексты для 2 полей: Заголовок страницы и h2.

Как я уже говорил, за обработку отвечает шаблонизатор Fenom и в текстах вы можете использовать любые его возможности. Но самые основные, в нашем случае - это модификаторы работы со строками: lower (перевод строки в нижний регистр), ucfirst (преобразует в верхний регистр первый символ первого слова в строке).

В текстах я пишу {$cvet_r} (цвет в родительном падеже), так как в системных настройках мы включили склонение. По умолчанию было бы доступно только {$cvet} или же {$value}*.

Для правил, которые состоят только из одного поля, допустимо писать {$value_r} и т.д.

Обо всех доступных плейсхолдерах в текстах расписано на специальной странице Замены в SEO текстах

Теперь можно сохранить наше правило и перейти во вкладку Таблица URL, чтобы убедиться, что необходимые страницы сгенерировались.

Таблица URL

Если всё сделали правильно, то по нажатию на иконку с "глазом",откроется страница, где сможем убедиться, что наше правило работает: URL красивый, "галочка" в фильтре поставлена, результаты соответствуют, но тексты не заменены. Всё верно, так как мы ещё не поправили наши шаблоны, прописав туда плейсхолдеры и классы для замены через AJAX.

В таблице URL можно задавать индивидуальный адрес для страниц, прописывать свои мета-теги, сбрасывать счётчики просмотров и управлять ссылкой, как пунктом меню (в следующих версиях появятся сниппеты для формирования меню).

Настройка вёрстки и AJAX-замен

Пока мы прописали всего лишь два поля - Заголовок страницы и h2.

Чтобы показывать заголовок страницы, я буду менять у себя в чанке Head такую строку:

<title>[[!+sf.title:default=`[[*pagetitle]]`]]</title>

Для совместимости с pdoTitle можно писать так (и тогда будет работать встроенная AJAX пагинация в заголовке):

<title>[[!+sf.title:notempty=`[[!+sf.title]] / `]][[!pdoTitle? &registerJs=`1` &limit=`2`]]</title>

Для корректной работы нужно активировать системную настройку: Добавлять SEO-заголовок через разделитель.

Для заголовка h2 в шаблоне я прописал так: <h2>[[!+sf.h2:default=`[[*pagetitle]]`]]</h2>

В системных настройках есть группа "Поля для подстановки по умолчанию", не забудьте подправить под свой проект. Они нужны для того, чтобы вовзращать значения, когда фильтр будет сброшен или не будет подходящих правил.

Заключение

И теперь вернувшись на те страницы, что у нас были сгенерированы, можно убедиться, что всё работает, в том числе и через AJAX, изменяя выбранные значения в фильтре.

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

Если у вас есть вопросы, то можете задавать их на modx.pro в топиках про SeoFilter.

docs.modx.pro

Замены в SEO текстах / SeoFilter / Компоненты / docs.modx.pro

По умолчанию, в текстах SEO правил для подстановки слов из поля нужно использовать в качестве плейсхолдера его синоним (alias). Например, добавляя поле цвет (синоним color) в правило, в его текстах нужно писать {$color}, чтобы вместо этого слова было написано: зелёный или красный.Но если правило состоит из одного поля, то можно использовать как alias, так и плейсхолдер {$value}. Если включены склонения, подчсёты, выборки, то будет доступно множество плейсхолдеров. Если вы не хотите использовать возможности Fenom, то можете просто писать в синтаксисе MODX: [[+value]], [[+color]] и т.д.

Таблица доступных тегов, для использования в текстах

Плейсхолдер Описание Пример
{$value},{$[alias]} Вместо плейсхолдеры будет подставлено значение слова для поля {$color} - Красный
{$input}, {$[alias]_input} Запрос слова для поля, может совпадать со значением, но не всегда. Просто {$input} доступен при использовании одного поля в правиле {$metro_input} - 6 (id метро)
{$alias}, {$[alias]_alias} Синоним слова для поля. В примере для значения цвета "Красный" {$color_alias} - krasnyij
{$total},{$count}
Количество результатов, если включены подсчёты или подсчитаны {$count|decl:'товар|товара|товаров':true}
{$page},{$page_number} Номер текущей страницы результатов. Чтобы стал доступен такой плейсхолдер - заполните системную настройку seofilter_page_key 1
{$id},{$page_id} ID ресурса, к которому привязано правило. Можно получить его поля {$id|resource:'pagetitle'}
{$rule_id} ID правила 19
{$seo_id} ID ссылки из таблицы URL 123
{$url} Адрес SEO страницы (без окончаний и приставок) pleeryi/cvet-sinij
{$link} Название ссылки(SEO страницы) Синие плееры
{$createdon} Дата создания ссылки 2018-03-15 10:31:39
{$editedon} Дата редактирования ссылки (может отсутствовать)

В таблице вместо [alias] используйте синоним своего поля

Если вы включили склонения по падежам, то будут досутпны такие теги:

Падеж Ед. число Множ. число Примеры
Именительный {$value_i}, {$value} {$m_value_i},{$m_value} красный / красные
Родительный {$value_r} {$m_value_r} красного / красных
Дательный {$value_d} {$m_value_d} красному / красным
Винительный {$value_v} {$m_value_v} красного / красных
Творительный {$value_t} {$m_value_t} красным / красными
Предложный {$value_p} {$m_value_p} красном / красных
Предлож. с предлогом {$value_o} {$m_value_o} о красном / о красных
Вопрос где? {$value_in} - в красном
Вопрос куда? {$value_to} - в красного
Вопрос откуда? {$value_from} - из красного

Если вы активировали подсчёты и прописали выборку нескольких полей по цене:

Тег Описание Пример
count Выведет количество найденных результатов 137
min_price_id id самого дешевого товара 55
min_price_price Цена самого дешевого товара 4000
min_price_pagetitle Название (pagetitle) самого дешевого товара Nokia 3310
max_price_id id самого дорогого товара 88
max_price_price Цена самого дорогого товара 80000
max_price_pagetitle Название (pagetitle) самого дорогого товара Samsung Galaxy S8+

Таблица некоторых полезных модификаторов Fenom

Модификатор Описание Пример использования Результат до После
lower (low) конвертирование строки в нижний регистр {$color|lower} Красный красный
upper (up) конвертирование строки в верхний регистр {$color|upper} Красный КРАСНЫЙ
ucfirst преобразует в верхний регистр первый символ первого слова в строке, а остальные символы в нижний {$color|ucfirst} красный Красный
declension (decl) склоняет слово, следующее за числом по правилам русского языка {$count|declension:'товар|товара|товаров':true} 5 5 товаров
number (number_format) форматирование числа(цены) php функцией number_format() {$max_price_price | number:0:'.':' '} 4000 4 000
replace заменяет все вхождения строки поиска на строку замены {$raion | replace:"район":""} Пушкинский район Пушкинский
option получает значения из системных настроек MODX {'site_name' | option} MODX Revolution

Можно использовать несколько модификаторов указывая их через "|". Пример: {'site_name'|option|upper}.Более полный список в Модификаторах Fenom

docs.modx.pro

[localizator] Мультиязычность, СЕО, автоперевод... / modx.pro

Языковые версии \ сателиты без контекстов, с автоматическим переводом всех полей ресурса + сео, да еще и автоперевод лексиконов — это я уместил в названии localizator. Зачем я это сделал: бабeл мне ниразу не подошел, долго я держал один проект на migx «локализации», но слишком он не удобен, собрал все минусы которые успел выявить и решил их в своем компоненте.

Возможности 1. Создание псевдоконтекстов «локализации» (можно вместе работать через site.ru/en/ и ch.site.ru)

2. У ресурса есть таб, где заполняются все стандартные поля ресурса + сео, далее по нажатию кнопки это все можно перевести на другие языки, поле контента пока что поддерживает только tiny mce rte.

3. Для удобства пользования лексиконами есть отдельные таб на странице компонента, где видны только лексиконы компонента. Там же выбор языка. Тут тоже есть автоматизация перевода, одно нажатие кнопки.

Локализация pdoTools Про работу с pdoResources и pdoMenu не забыл, вот пример:

{'!pdoMenu' | snippet : [ 'parents' => 0, 'leftJoin' => '{ "localizator" : { "class" : "localizatorContent", "alias" : "localizator", "on" : "localizator.resource_id = modResource.id" } }', 'select' => '{ "localizator" : "modResource.*, localizator.*, modResource.id" }', 'where' => '{ "localizator.key" : "' ~ ('localizator_key' | option) ~ '"}', ]}Итого все поля ресурса заменяются на переведенные.

Как использовать Все поля ресурса подменяются локализированными, кроме content, он выводится через {$_modx->resource.localizator_content}.

Настройки Для автоматизации перевода нужен api key для яндекс переводчика, получить можно тут: translate.yandex.ru/developers/keys и указать в настройке localizator_key_yandex, так же что бы переводчик понимал с какого языка переводить нужно указать ключ локализации в localizator_default_language

Стоимость Компонент полностью бесплатен, делал для своего проекта, думаю многим облегчит жизнь. Отправить свое спасибо можно тут: yasobe.ru/na/localizator или попросить у меня номер карты в лс :)

Демо: localizator.but1head.ru/

Компонент отправил в modstore.pro, исходники на github.com/but1head/localizator

modx.pro

SEO оптимизация MODx - все технические моменты

11 марта 2014 By Сергей Нечипорук

В сегодняшней статье мы рассмотрим небольшие настройки, которые помогут вам оптимально выводить все необходимые мета теги.

В MODx существует огромное количество дополнительных тегов, с ними можно ознакомиться, изучив документацию к этой CMS, я вам этим голову забивать не буду, а расскажу только о тех, которые нам нужны на данный момент.

Если посмотреть на сайт, то параметр title и description для всех страниц у нас одинаковые, поскольку фиксировано, заданы в чанке «HEAD». Кто хоть немного знаком с seo оптимизацией знают, что за такое можно легко получить бан от поисковых систем. Будем это исправлять.

Мы с вами уже рассматривали то, как добавлять страницы в MODx – вот тут. Мимо того мы говорили о теге [*content*]. Но все эти поля имеют свои такие же теги. Именно их мы и будем использовать. Наше внимание стоит сконцентрировать на трех основных:

[*pagetitle*] – в данное поле мы вводили название статьи. Предлагаю выделить его под seo title, то есть именно текст, введенный в нем, будет отображаться между тегами <title></title>.

[*longtitle*] – данный тег у нас будет отвечать за вывод заголовка h2 на странице. Сюда мы будем вписывать заголовок «для людей».

Давайте сразу подправим это и в шаблоне. Для этого идем в раздел с чанками и выбираем «MAINCONTENT». В нем, перед тегом [*content*], вставляем следующее:

<h2>[*longtitle*]</h2>

seo1

Это позволит получать автоматический заголовок h2.

[*description*] – этот тег будет отвечать за вывод описания страницы. Один из наиболее важных параметров при оптимизации, поскольку из него часто формируется и сниппет в поисковой выдаче.

Правим чанк «HEAD»

Заходим в этот чанк и изменяем следующее.

Код:

<title>Retina - Free CSS template by ChocoTemplates.com</title>

На:

<title>[*pagetitle*]</title>

Поскольку по умолчанию в шаблоне у нас нету поля description, то мы под тего title добавляем код:

<meta name="description" content ="[*description*]"/>

Вот что у меня получилось.

seo2

Жмем «Сохранить».

Вот результат нашей работы в исходном коде страницы.

seo3

На этом все. Оптимизируйте и делайте ваши сайты лучше!

webprovincia.com


Prostoy-Site | Все права защищены © 2018 | Карта сайта