Загрузка...

События нашей компании

Несколько слов о MODX.

 Каждая система хороша по-своему. Кроме Битрикса. Битрикс - говно.

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

Система MODX, как и всё в подлунном мире, имеет свои недостатки. Прежде всего они связаны с более высоким порогом вхождения относительного того же WordPress и иже  ним, и как следствие более высокой ценой на первоначальном этапе (хотя все это компенсируется с лихвой позже). Так же, в связи с тем, что не всем удается с ней разобраться, в сети появляются негативные посты от мартышек из басни Крылова "Мартышки и очки". Поэтому давайте сначала разберем эти мифы.

Система MODX разделяется на две ветки: Evolution и Revolution. О их разнице читайте в следующей статье. То что ниже - справедливо по большей части для обеих веток в целом.

 

#Развенчиваю мифы о MODX.

1. Мало шаблонов.

Фейк 146%. Потому что под MODX шаблонов не то бы что мало, их нет вообще. От слова совсем. Есть немногочисленные готовые сборки, но это не шаблоны в привычном смысле. Тем не менее шаблоном для MODX может стать абсолютно любой сайт. Абсолютно.

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

Когда я только начинал делать сайты на MODX, я пару лет внаглую копировал верстку каких-то сайтов и насаживал ее на MODX (так делать нельзя, и за это могут отругать на законодательном уровне). И мне было по-барабану на чем был сделан сайт-донор: на WordPress или UMI.CMS. И такое возможно только с MODX благодаря логике разделения представления, программной части и контента.

Да, шаблонов мало. Но и их миллионы одновременно. Стоит только приложить руки.

 

2.Мало дополнений.

Зайдите на вашу кухню и посмотрите, что у вас есть там из бытовой техники. Вангую что у вас там будет холодильник, микроволновка и чайник. У некоторых еще тостер, телевизор, посудомоечная машина и стиралка. Угадал? Нет, не угадал, а просто знаю, что есть в типовой кухне. Точно также, как и знаю, что есть в типовом сайте.

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

У MODX есть эта пара сотен дополнений, которая легко допиливается напильничком под конкретный проект. Да, тут нужны прямые руки растущие из плеч, но это малая плата за то, чтобы сделать так как вам надо, а не так, как кто-то придумал.

И один любопытный момент: в Open Cart есть только один модуль магазина, в то же время в ветке Evolution CMS как минимум четыре известных модуля магазина: Shopkeeper,TVShop,evoShop,Commerce. Так кто обделен дополнениями?)

И еще: я давно пришел к выводу, что: CMS надо расшифровывать уже как Constructor Managment System, и сюда подходят WP, Joomla и т.д. В то же время MODX это CMF — Content Managment Framework. Это каркас, который позволяет создавать именно то, что нужно.

 

3.Высокая цена разработки.

Действительно, средний чек за разработку сайта на MODX выше, чем на WP, Joomla или OpenCart. Но тут нужно четко понимать для чего конкретно вам нужен сайт. Если вы просто хотите "поиграться" или из серии просто "чтобы он был", то можете вообще не париться и запилить сайт на он-лайн конструкторах типа WiX, Tilda и иже с ними. Более того, я сам, когда ко мне обращаются клиенты с просьбой создать сайт, но непонимающие для чего он им конкретно нужен, я им советую начать именно с них. В крайнем случае могу собрать быстренько сайт на какой-то популярной платформе и забыть про него.

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

И если вы отдаете себе отчет в том, что сайт требует постоянных доработок, то вы должны понимать, что он требует финансовых вливаний. И вот тут и начинается магия: пресловутая, но необходимая мелочь, на OpenCart может оказаться вообще невозможной, а на Битриксе или на Magento слишком суровой по деньгам.

В MODX же такого практически нет. Мой средний чек за доработки от 1,5 до 3-4 тысяч российских рублей. За написание дополнительных модулей, импортов с адской логикой и тому подобное - от 10 до 15 в среднем. И это я много беру! При том, что зачастую на других системах подобного рода модули стоят от 20 и выше.

Реальный пример из моей практики. У человека сайт по он-лайн обучению фотографии. Крутился на WordPress. Ему нужно было каким-то хитрым образом настроить он-лайн оплату, детали уже не помню, не в них суть. Суть в том, что за выполнение его ТЗ народ просил от 15-ти тысяч. Я же перекинул сайт на MODX и выполнил ТЗ за 10. И это была только одна задача...

 

4.Неудобная админка

Сравнивать нужно сравнимое. Из "коробки" действительно система может показаться неудобной. Но из "коробки" мы получаем пластилин из которого можно лепить все что угодно. В отличии от других систем, админка полностью кастомизируется и может затачиваться под конкретного пользователя. В ветке Evolution благодаря решениям 64j и студии Диван.Дизайн, в ветке Revolution через настройку форм все это делается за считанные минуты.

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

Когда я проводил опрос среди своих знакомых, работающих с MODX, каждый из них среди плюсов отметил именно удобную админку.

 

 

#Часть про плюсы MODX

1.Фреймворк.

Да, несмотря на то, что MODX является CMS, он точно также является и CMF, т.е. фрейворком. Пусть не очень богатый на выкрутасы, тем не менее имеющий на борту все минимальное необходимое для развертывания любой кастомной логики. В Evolution есть DB API который позволяет лего и непринужденно работать с базой. У Ревы же есть xPDO - небольшое ответвление от обычного PDO.
В версии Evolution CMS 2.0 в качестве фреймворка дополнительно может использоваться Laravel, при этом сохранена обратная совместимость. Все это позволяет расширять продукт до невообразимых размеров. А наличие таких базовых пакетов как DocLister и pdoResources (и их производных) очень упрощают и ускорят работу с большим массивом данных.

 

2. Скорость

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

 

3. Универсальность

Практически все системы заточены под какую-то одну конкретную цель. WordPress - блог. OpenCart - интернет-магазин. Drupal под порталы. Даже тот же Битрикс имеет свои редакции, заточенные под тот или иной аспект. MODX же универсален. На нем не только без труда можно сделать любой тип сайта, но и более того: можно из одного типа перейти к другому без особых затрат.

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

Выбирая в качестве системы управления сайтом MODX вы не ограничиваете себя рамами одной системы.

 

4. Сообщество, состоящее из программистов, а не мастеров.

Как я писал ранее, MODX требует от разработчика определенных навыков и хотя бы базовых знаний программирования. С одной стороны, это увеличивает порог входа. С другой стороны, отсеиваются некомпетентные исполнители, у которых в лексиконе есть термин "невозможно". Помимо этого, задавая вопрос на форумах или телеграмм-каналах, высока вероятность получить ответ что нужно сделать, а не в духе: "обратись в техподдержку" или "найди программиста который это сделает". Потому что подавляющие большинство разработчиков, по крайней мере ветки Эво, все же программисты. С Revo чуть-чуть по-другому, но об этом в следующей статье.

 

5. Надежность, стабильность.

Наверное, нет ни одной более или менее отрытой популярной системы которую бы никто никогда не взламывал. К сожалению, было и несколько волн заражения сайтов на системах MODX. Тем не менее, над безопасностью системы работал Евгений Борисов (Agel_nash) - непревзойденный специалист по безопасности современности и последние два года мы не слышали о взломах обновленных систем.

 

#Ну а как же СЕО?

Достаточно частый вопрос, который тем не менее абсолютно некорректен. Открою тайну: CMS практически никак не влияет на положение в поисковой выдачи, все зависит от того, как вы настроите сам сайт. ПСам с приборчиком на то, на чем сделан сайт, у них есть вполне конкретные критерии оценки. Основное - чтобы пользователь нашел ответ на свой вопрос и все. Если человек хочет купить "линзы дешево", перейдя на сайт он должен найти дешевые линзы, а не карбюраторы для мотоцикла. А вот в плане ротации будет выше сайт на котором чаще покупают. Вот и все. Т.е. сама система никак не влияет на поисковую выдачу. Влияет только так, как сделан сайт в целом.

Тем не менее: скорость генерации страниц, возможность работы с легковесными шаблонами, множество дополнений дают качественное преимущество перед другими системами.

 

#Заключение

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

Техническое SEO. Основные пункты.

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

1. Настройка 301-редиректа с неглавного зеркала сайта с «www» (или без «www») на главное.

Две статьи руководства по теме:
http://www.pixelplus.ru/studio/stat/kak-sdelat-301-redirekt/,
https://devaka.ru/articles/redirect-301.

Проверить код ответа сервера любого документа в сети можно с помощью сервиса: http://bertal.ru/ (пригодится и в дальнейшей работе).

2. Установка 301-редиректов с прочих неглавных зеркал сайта на основное (скажем, с доменного имени «www.pxpl.ru» на «www.pixelplus.ru»).

Особое внимание следует уделить тестовым доменам, выделяем на хостинге для настройки вида «http://domain.nichost.ru/», «http://domain.1gb.ru» и аналогичным.

3. Создание и настройка файла robots.txt. Рекомендуется разделить правила для Яндекса и других поисковых систем из-за обработки различных директив (скажем, директиву «Host:» поддерживает только Яндекс, а для Google она является некорректной).

Анализ корректности файла и доступности страниц по ссылке: https://webmaster.yandex.ru/robots.xml.

4. Каждой странице на сайте установлен уникальный тег Title и meta-тег Description отражающие её содержимое.

Проверка уникальности тега Title и meta-тега Description может быть автоматизирована. Здесь мы не затрагиваем вопросы того, как корректно заполнять данные зоны документа, а лишь рассматриваем технический аспект.

Данное требование также относится к страницам постраничной навигации.

5. Настройка ЧПУ для продвигаемых страниц сайта. Оптимально — настроенное ЧПУ для всех страниц сайта.

Проверка качества созданного ЧПУ: предоставляем только URL-адрес странице коллеге и просим его описать, чему посвящена страница?

6. Создать и проверить корректность работы 404-ошибки. Код ответа данной страницы должен быть «404 Not Found».

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

7. Проверить коды ответов сервера всех страниц на сайте посредством сканирования проекта. Все страницы доступные по ссылкам должны отдавать код ответа «200 OK».

Помогут программы:

— Page Weight
— Netpeak Spider
— И аналоги

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

8. Проверить время загрузки сайта и размер страницы в КБ. Рекомендованные показатели: до 0.7 сек (700 мс) для времени скачки исходного кода документа, до 0.2 сек (200 мс) для времени ответа сервера и до 120 КБ для размера исходного кода.

Помогут сервисы:

— http://pr-cy.ru/speed_test/
— https://developers.google.com/speed/pagespeed/insights/
— И другие…

9. Проверить наличие на всех страницах и единственность тега главного текстового заголовка h1.

Содержимое тега — должно ёмко отражать суть текста.

10. Проверить, что теги h1-h6 не используются как элементы дизайна или оформления сайта.

Негативные примеры, h1: Телефон.
Сквозной h1-h3: Новости, Акции.

11. Проверить аптайм сервера по отчетам средств статистики. Нормальный показатель: от 99,85% и выше.

12. Создать уникальный и привлекающий внимание favicon.ico и загрузить его в корень сайта.

13. На страницы закрытые от индексации в файле robots.txt требуется скрыть ссылки (посредством AJAX) для корректного распределения статического веса внутри сайта. Так, чтобы в исходном коде документов отсутствовали фрагменты вида «a href=“…» для ссылок на данные страницы.

Сам скрипт также требуется закрыть от индексации.

14. Требуется вынести большие фрагменты JS и CSS в отдельные подключаемые файлы соответствующего типа. Удалить временные комментарии. Это ускорит скачку и интерпретацию кода паукам и браузерами.

К «большим» относятся JS и CSS фрагменты в 8-10 строк и более и комментарии более 3-5 строк.

15. Проверить вёрстку на отсутствие незакрытых парных тегов. Это минимальное требование валидности кода (если строка таблицы «tr» открывается, то она должна закрываться «/tr» и т.д.).

16. Убедиться в корректности отображения основных страниц сайта во всех популярных браузерах. Особое внимание уделить (в порядке доли браузеров): Google Chrome, Android Browser, Mobile Safari, Firefox, Яндекс.Браузер, Opera (Blink).

17. Настройка 301-редиректов со страниц вида «index.php», «index.html», «default.html», на страницы без них (в корень папки, скажем, с «/dir/index.php» на «/dir/»).

18. Настройка 301-редиректа со страниц без слеша на конце «/», на страницы со слешем «/» на конце URL (или, наоборот, в зависимости от настроек CMS и сервера).

19. Настройка 301-редиректа с версии с «https» на основную версию сайта с «http» (или наоборот) в случае её доступности и дублирования.

На текущий момент, поисковые системы стали по умолчанию проверять доступность для индексации версии с «https», что может приводить к дублям контента по разным хостам.

20. Закрытие от индексации страниц входа в CMS-систему вида «/bitrix», «/login», «/admin», «/administrator», «/wp-admin» в файле robots.txt.

Помогает директива Disallow вида:

Disallow: /bitrix
Disallow: /login
Disallow: /admin
Disallow: /administrator
Disallow: /wp-admin

21. Скрыть от индексации страницы с индикаторов «PHPSESSID=», «session_id=» сессий в файле robots.txt.

Важно учесть, что указания в файле robots.txt являются регистрозависимыми. Помогут директивы:

Disallow: *PHPSESSID=
Disallow: *session_id=

Актуальность проблемы подтверждается приличным числом подобных страниц в индексе поисковой системы Яндекс:

Дубли PHPSESSID в индексе Яндекса

22. Создаем карту сайта sitemap.xml с указанием всех страниц сайта и проверяем её на валидность (https://webmaster.yandex.ru/sitemaptest.xml). Если число страниц превышает 50 000, то потребуется создать несколько карт.

Саму карту рекомендуется загрузить непосредственно в панели Вебмастера Яндекса и Google и не указывать в файле robots.txt.

23. Всем внешним ссылкам прописываем открытие в новой вкладке с помощью target=”_blank”. Если требуется не допустить передачу статического веса по ряду ссылок, то скрываем их от сканирующего робота с помощью AJAX.

24. Открыть и проверить корректность сохраненной копии ряда ключевых страниц сайта. Обратить внимание на кодировку, дату сохраненной копии, полноту кода.

25. Требуется произвести закрытие от индексации служебных папок вида «cgi-bin», «wp-icnludes», «cache», «backup» в файле robots.txt.

26. Неинформативные файлы (вида *.swf) или пустые *.doc и *.pdf файлы требуется закрыть от индексации в файле robots.txt.

Если файлы *.doc и *.pdf являются полезными и несут ценную информацию — их не скрывают от индексации.

Дополнительные требования: для интернет-магазинов, сайтов с поиском, авторизацией

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

27. Рекомендуется настроить rel=“canonical” для устранения дубликатов страниц и корректного учёта всех поведенческих и ссылочных метрик документов.

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

Вспомогательный материал: http://www.pixelplus.ru/samostoyatelno/otvety-na-voprosy/vnutrennyaya-optimizaciya/291384.html

28. Для улучшения индексации и уменьшения объема передаваемого «холостого» трафика необходимо настроить корректную работу сервера и возвращать 304 код ответа при запросе с If-Modified-Since, если документ не был изменен с последнего захода пользователя (поискового робота).

Внедрение данной рекомендации позволяет повысить полноту индексации сайта за счёт экономии времени краулера и отсутствия необходимости скачивать неизмененный документ повторно.

Необходимо также выдавать корректную дату модификации документа в заголовке Last-Modified совместно с 304 кодом ответа сервера на запрос с If-Modified-Since, если документ не менялся с указанной даты.

29. Требуется скрыть от индексации страницы различных сортировок, фильтраций, если на них не настроена оптимизация и ЧПУ для привлечения трафика по НЧ-запросам. Сами ссылки скрыть посредство AJAX.

30. Страницы авторизации, смены пароля, оформления заказа и т.д. требуется закрыть от индексации в файле robots.txt: «?basket&step=», «register=», «change_password=», «logout=».

31. Результаты поиска «search», «poisk» требуется закрыть от индексации в файле robots.txt.

32. Версию для печати вида: «_print», «version=print» и аналогичные, требуется закрыть от индексации в файле robots.txt.

33. Страницы совершения действия вида «?action=ADD2BASKET», «?action=BUY» требуется закрыть от индексации в файле robots.txt.

34. Разделы с дублированным контентом, скажем, RSS-фиды требуется закрыть от индексации в файле robots.txt: «feed», «rss», «wp-feed».

Важные замечания

А. В качестве альтернативы файла robots.txt можно использовать meta-тег name=“robots” со значениями полей «content=“noindex, follow“». Данное указание соблюдается поисковыми системами более чётко, но требует чуть более сложной настройки.

Б. Корректно настроенный атрибут rel=“canonical” для тега <link> помогает:

Существенно упросить настройку индексации сайта.
Корректно учитывать и склеивать поведенческие и прочие метрики на дублирующих страницах, скажем, страницах с UTM-метками. Особенно, при проведении рекламных кампаний.

Данные преимущества позволяют рекомендовать его к использованию на сайтах.

(!) В поисковой системе Яндекс rel=“canonical” до сих пор не всегда отрабатывает корректно, что приводит к отсутствию «склейки» ряда поведенческих и ссылочных фактов для двух страниц. В данном случае надежней оказывается использование 301-редиректа.

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

Г. Даже после детальной настройки индексации, рекомендуется производить регулярный мониторинг попадания дублей контента в индекс поисковых систем с использованием операторов цитатного поиска (кавычки) и оператора «site:».

Часто, полезным также оказывается оператор «title:» для поиска документов с одинаковыми тегами. Пример запроса приведен ниже (для случайного сайта):

Поиск точного вхождения длинной фразы в тег TITLE

Д. Довольно элегантным решением проблемы дублей с GET-параметрами в URL является использование только документов с ЧПУ на всём сайте, совместно с директивой «Disallow: *?*» в файле robots.txt.

Данная директива не допускает к индексации страницы с любыми GET-параметрами. Однако её использование можно рекомендовать только в случае отсутствия трафика на страницах с UTM-метками. Если же на вашем сайте имеется приличный объем трафика на страницах с UTM-метками или прочими необходимыми GET-параметрами, то рекомендуется настроить атрибут rel=“canonical” для тега <link>, а сами страницы открыть для индексации.

В тему обновления evolutionCMS

В новой версии evolutionCMS 1.4.4 появилась возможность вставлять свои картинки и логотипы на страницу приветствия. Раньше было показываешь, что было 1.0.12, теперь 1.2.1-b - пользователю не понятно. А когда они видят котиков - сразу понимают что это что-то новое)))) И пользователь рад, и нам проще работать) И главное - безопасно)

Критическая уязвимость сайтов MODX Revolution

Вкратце. В Рево найдена пара уязвимостей, которые могут сломать ваш сайт как щелчок пальцем. В версии 2.6.5 сделан фикс. Так что разработчики настоятельно рекомендуют обновить до последней версии.

Перевод статьи - https://modx.com/blog/modx-revolution-2.6.5.

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

Основные моменты

Этот релиз предназначен для решения и защиты сайтов от двух критически серьезных проблем безопасности, которые позволяют удаленно выполнить скрипты, в одном случае, а в другом, позволяет злоумышленникам удалять файлы или папки. Дополнительные сведения см. в объявлении о безопасности.

Если Вы еще не обновили MODX до Revolution 2.6.х, смотрите здесь - https://modx.com/blog/modx-revolution-2-6 о его релизе.

Критическое обновление.

В MODX Revolution 2.6.5 закрыты дыры, по которым злоумышленники могли сломать ваш сайт.

Мы не можем не подчеркнуть важность обновления до последней версии MODX. Несмотря на то, что ни одно программное обеспечение не является на 100% безопасным, включение на вашем сайте самой последней версии обычно помагает защитить вас от хакеров, которые полагаются на использование устаревшего программного обеспечения.

Если Вы не знаете, какую версию MODX Revolution вы используете, войдите в административную часть вашего сайта. Если номер версии не отображается в левом верхнем углу диспетчера, выберите Управление>отчеты>Сведения о системе. Если она ниже чем 2.6.5, то обязательно необходимо обновление!

 

Если вам нужна помощь в обновлении сайта, пожалуйста, обратитесь к разработчику сайта, найдите профессионала MODX или свяжитесь с поддержкой MODX.

Участники выпуска

Мы хотели бы поблагодарить Ивана Климчука (Alroniks) и Евгения Борисова (agel_nash) за сообщение и проверку этих вопросов и помощь в обеспечении безопасности MODX.

Закончен редизайн сайта посвященный турам в Израиль

Наша компания сделала редизайн сайта Smile Travel, а так же перенос с самописного движка, на систему управления evolutionCMS. Сайт выполненны с адаптивной версией. Ссылка на сайт - http://www.israsmile.com

Позвоните нам

прямо сейчас по телефону

Связь

+375 (29) 7-444-555

или заполните специально подготовленный бриф на разработку сайта

или пришлите задание на почту info@dvakota.by

и наш специалист предоставит вам исчерпывающую информацию, как технического, так и финансового характера

Веб-студия «Два Кота» Контакты:
Адрес: ул. П.Бровки, 50, оф.222 210038 Витебск,
Телефон:+375 29 7 444 555, Электронная почта: info@dvakota,by