Всем привет, шалом и так далее. В этой статье речь пойдёт о движке ModX. Да, мануалов по нему пруд пруди, есть же сообщество официальноес кучей документации, есть русское, c той же документацией, форумом и так далее. Есть и очень популярный блог где множество статей посвящено настройке этой CMS. И даже статья на хабре по настройке новой версии движка – 2.x версии Revo (Для тех, кто не в курсе, CMS делится на две различные…версии Evo и Revo 1.x и 2.x соответственно, они различаются кардинально).
НО речь пойдёт не о стандартных настройках движка, а о его адаптации и подстройке под SEO нужды оптимизаторов. Хоть и статья рассчитана на пользователей, которые имеют некие знание и представления о ModX, тем не менее, постараюсь разъяснять всё как можно проще и расписывать шаги более-менее подробно.
Данный мануал расписан под версию движка Evo 1.0.5. Почему старая? Потому что к новой многие еще не привыкли, потому что большинство используют его, ну и… потому что сам не пробовал еще новый :)
Осторожно: в статье присутствует кровь, кишки и обнажёнка.
Часть I. Кровь.
TransAlias
В первую очередь хочется упомянуть о конфигурации плагина TransAlias. Этот плагин управляет ЧПУ, теми самыми человекочитаемыми ссылками. Находится плагин в меню: «Элементы-Управление элементами», вкладка «Плагины». Он уже должен быть предустановлен. Открываем плагин и заходим во вкладку «Конфигурация». Здесь вы можете выбрать параметры вручную в списках или внести код и «обновить параметры». Я люблю по своим причудам, а также в купе с многочисленными советами SEO-форумов использовать ссылки транслитом, а разделять символом подчёркивания. Для этого просто замените параметры на эти:код
Код:&table_name=Trans table;list;common,russian,utf8,utf8lowercase;russian &char_restrict=Restrict alias to;list;lowercase alphanumeric,alphanumeric,legal characters;lowercase alphanumeric &remove_periods=Remove Periods;list;Yes,No;Yes &word_separator=Word Separator;list;dash,underscore,none;underscore &override_tv=Override TV name;string;[свернуть]
А затем нажмите кнопку «Обновить параметры». Не забудьте потом сохраниться.
Так же стоит добавить, что для верного отображения ЧПУ ссылок, нужно в шаблоне указать важный параметр:Код HTML:Вместо site_url иногда бывает нужно использовать base_url.<base href="[(site_url)]"></base>
Часть II. Кишки.
Ссылка на себя
Есть такое поверие, что ссылка на себя с главной негативно сказывается на SEO. Если честно, я не знаю на сколько это правда, но зато абсолютно точно, что общее число даже внутренних ссылок не должно быть большим(если я правильно понял недавний видеокаст от мегаиндекс, яндекс считает первые 16 ссылок, так что нужно использовать их оптимально на странице и ссылка на себя нам ни к чему).
Итак, как убрать ссылку на себя с главной страницы. Есть два способа: тривиальный и не очень.
Способ первый: мы будем использовать плагин PHx. Скачать его можно отсюда.
P.S. Не забывайте про разность версий CMS.
Я покажу как использовать этот сниппет на примере с картинкой, так как часто ссылкой является какой-либо логотип.
Код:Итак, всё довольно просто, мы запускаем наш сниппет phx c параметрами: если текущий идентификатор страницы равен одному, то вывести картинку, в противном случае вывести ссылку со вложенной картинкой на корень сайта. Вот и всё, вставляем сниппет на нужное место и радуемся.[+phx:if=`[*id*]`:is=`1`:then=`<img src="imgurl" alt="" />`:else=`<a title="" href="[(site_url)]><img src="imgurl" alt="" /></a>`+]
Способ второй (с блекджеком и шлюхами):
В <head> часть шаблона нужно добавить meta-тег:Код HTML:Для того, чтобы узнать имя текущей страницы просто поставим в content [~[*id*]~]<meta name="internal" content="glavnaya.html" />
Далее подключим библиотеку JQuery и запишем такой скрипт:код
Код HTML:<script type="text/javascript"> $(document).ready(function(){ var zeus = $('meta[name=internal]').attr('content'); $("a[href*='"+zeus+"']").removeAttr('href').addClass('currlink'); }); </script>[свернуть]
Что он делает: скрипт записывает в переменную содержимое атрибута content, затем ищет все ссылки с ним, удаляет параметр href и добавляет ссылку. Тем самым мы убрали все ссылки страницы на саму себя. Вместо удаления href можно сделать и вовсе замену <a> на <span>, возможно это будет даже эффективнее. На ваше усмотрение.
Часть III. Обнажёнка.
Перелинковка
Итак, как сделать перелинковку используя фильтры сниппета Ditto, иными словами выводим похожие новости.
Первым делом пройдёмте в меню «Элементы» - «Управление элементами» вкладка «Параметры(TV)» и нажмём «Новым параметр». Обзовите его как-нибудь. В моём случае он зовётся tilde. Впишите заголовок и описание, это всё мишура, неважное. А важное это «тип ввода», вы должны выбрать «DropDown list menu». Теперь займёмся заполнением значений категорий. Категории и будут содержать в себе похожие записи.
Шаблон таков: Имя==номер||Имя2==номер2
Пример: Животные==1||Ангелы==2||Имена== 3||Прочие куклы==4||Игрушки==5
Затем отмечаете доступ шаблонов, где отображать этот TV-параметр и всё, больше здесь ничего не нужно, сохраняемся.
Алгоритм такой: вы создаёте документ (страницу), отмечаете в списке категорию, затем сниппет сам выводит записи по фильтру из этой категории.
Итак, приветствуем сниппет:Код:Объясняю. Выводим новости сниппетом Дитто с параметрами.[[Ditto? &startID=`[*parent*]` &tpl=`last_item` &summarize=`3` &filter=`tilda,[*tilda*],1|id,[*id*],4`|id,[*id*],2`]]
&startID – откуда начинать вывод. В нашемслучае это [*parent*] – родительская папка.
&tpl – html шаблон вывода
&summarize – количество выводимых записей
А вот самое вкусное: &filter
Tilde, [*tilda*], 1 – он выводит все новости имеющие ТВ-параметр tilda
Id,[*id*],4` - выводит все предыдущие(меньшие по id) записи от текущей
Id,[*id*],2` - запрещает вывод текущей новости
Ну а | символ, означающий «И».
А теперь как вывести последние записи, тут всё еще проще:Код:Это лишь пример с моего сайта, начальная страница, глубина может быть иная, а количество какое вы хотите. Важным тут является параметр &sortBy=`createdon`. Он-то и выводит самые последние записи.[[Ditto? &startID=`2` &depth=`2` &summarize=`6` &paginate=`0` &tpl=`last_item` &sortBy=`createdon` ]]
Но и тут есть одно НО. Иногда сниппет срабатывает неверно, а именно косячит дата, то есть выводит фильтруя по месяцам, потом по годам и вообще полный сумбур и хаос.
Панацея есть. Оказывается, можно задать дату в формате Unix.
Для начала напишем сниппет convertDate:код
Код:<?php $monthes = array('','января','февраля','марта','апреля','мая','июня','июля','августа','сентября','октября','ноября','декабря'); $day = date("j",$MyDate); $month = $monthes[date("n",$MyDate)]; $year = date("Y",$MyDate); echo $day.' '.$month.' '.$year.' года'; ?>[свернуть]
Создаёт TV-параметр с датой. Всё почти также, как и выше, только в название впишем date, а тип ввода будет date, и визуальный компонент unixdate. Затем просто выводим сниппет:Код:Вместо параметр поставит [*tvdate*] для чанков или [+tvdate+] для шаблонов.[[convertDate? MyDate=`параметр`]]
После него выводим сниппет Дитто с сортировкой уже не createdon, а date. Так же хочется упомянуть, что для сортировки используется параметр &sortDir, который принимает два значения: ASC и DESC, сортировка по убыванию или возрастанию.
На посошок:
Важным является и использование тегов на страницах сайта. Для этого можно поэкпериментировать со сниппетами TVTagCloud или TagCloud. Найти их можно на официальном сайте.
- 18.11.2011 12:03
Спасибо сказали:
0pium(25.11.2011), Alik(14.05.2012), assai(14.12.2011), eyrad4(22.11.2011), Mikrob(27.02.2012), naotlichno(28.02.2012), oleg_ug(18.11.2011), patrician(09.03.2012), vovasit91(23.11.2011),VtopSearch(02.10.2014), - 25.11.2011 04:00sinneren, Это не очень существенно, но ведь проще обращаться напрямую к tv вот так:[+phx:if=`[*id*]`:is=`1`:then=`<img src="imgurl" alt="" />`:else=`<a title="" href="[(site_url)]><img src="imgurl" alt="" /></a>`+]
[*id:is=`1`:then=`<img src="imgurl" alt="" />`:else=`<a title="" href="[(site_url)]><img src="imgurl" alt="" /></a>`*]
Перелинковка хорошая, но что то меня в ней смущает, сам бьюсь над этой проблемой достаточно долго. Пока делаю все в ручном режиме используя снипет Tvfile:)
При такой перелинковке страдает только первый ресурс раздела, так как снизу нет документовПоследний раз редактировалось eyrad4; 25.11.2011 в 04:10.
- 25.11.2011 11:34
eyrad4, да, возможно я несколько усложнил с phx)
первый ресурс может и страдает в общем смысле, но если самый ключевой продукт именно на него поставить, то он только в выйгрыше, ведь на него будут ссылаться от 1 до N, а он ни на кого. Тоже один из способов линка же.Спасибо сказали:
eyrad4(25.11.2011), - 26.01.2012 19:54
- Регистрация: 26.05.2011
- Сообщений: 3
- Репутация: 10
Про перелинковку - кот наплакал.
Как сделать перелинковку на MOD-x автоматически, например, как в джумловском плагине SeoLinks?
Хотелось бы иметь что-то типа списка запросов и ссылок в отдельной странице, и чтобы автоматом ссылки расставлялись в тексте (принцип Википедии). - 26.01.2012 20:30
hottabov, для контекстных ссылок это уже целый сниппет писать нннада. а тут приведено лишь средствами уже существующих.
А по поводу "как в джумле" не знаю. Я в ней не работал и не буду. - 27.02.2012 04:14
Перелинковку предпочитаю делать руками, благо проекты не громадные.
Кстати а проблему с дублями урлов решили уже? Я с ней когда-то намучился.
site.ру/1 хоть и чпу есть и все такое, редиректы и 404 не отдавал.
Поэтому я отключил транс алиас и урлы тоже руками генерирую)))
и естественно никаких суффиксов на конце.
Там дублей немерено генерится, хоть и двиг на первый взгляд идеальный. Допиливать надо сборки стандартные.
А вообще я тоже люблю эво, потому что она привычнее)) Жду пока рево станет такой же стабильной, тогда и на нее пересяду.Спасибо сказали:
sinneren(27.02.2012), - 27.02.2012 10:25
patrician, у рево с чпу беда.. многое не работает или не хочет.
С дублями решения не видел, но не сильно напрягает: в индексе их нет, только в сапе ссылки падают - 14.05.2012 14:12
- Регистрация: 23.03.2012
- Сообщений: 2
- Репутация: 0
Здравствуйте, а как убрать ссылку в меню на текущую страницу. С главной понятно, через id . а как быть множеством страниц?
- 16.05.2012 20:00
- Регистрация: 23.03.2012
- Сообщений: 2
- Репутация: 0
уже разобрался)
Тэги топика:
- cms,
- modx,
- seo,
- дубль,
- затачивать,
- использовать,
- настройка,
- перелинковка,
- плагин,
- рука,
- ссылка,
- страница,
- тоже
Похожие темы
Темы | Раздел | Ответов | Последний пост |
---|---|---|---|
Помогите с ModX | Web программирование | 8 | 10.11.2011 19:51 |
Вопрос к знатокам Modx | Web программирование | 4 | 04.08.2011 14:13 |
Интересные темы
сео форум
Какие возможности для новичка предостовляет сео форум, как правильно использовать для раскрутки своих проектов.
как вставить ссылку в слово в контакте
Если у вас нет ответа на вопрос о том, как вставить ссылку в слово в контакте.
как убрать человека с первого места в контакте
Доступно и подробно описаны действия о том, как убрать человека с первого места в контакте.