Чек-лист по настройке MODx

Чек-лист по настройке MODx

Подробный пошаговый чек-лист по настройке CMS MODx revolution. Самый минимальный перечень настроек и действий, которые необходимо осуществить если Вы решили развернуть сайт на MODx. Это базовые настройки для работы сайта, настройки первичной SEO-оптимизации и настройки безопасности. MODx при грамотной настройки устойчива к взлому.

Установка сайта

Подготовка к установке

  1. Скачать архив с последней версией MODx Advanced: https://modx.com/download/other-downloads.
  2. Создать новую папку с названием сайта в корне хостинга, добавить новый домен и базу данных MySQL.
  3. Закачать архив с MODx на хостинг и распаковать либо распаковать и скинуть файлы через FTP.
  4. Переместить папку core в корень сайта (на уровень выше public_html) и переименовать папку core в core***** для усложнения работы хакерам.
  5. Переместить папку setup в публичную папку сайта (в public_html).
  6. Установить шаблон. Обязательно проверить шаблон на мобильную адаптивность.

Установка MODx 

  • Запустить установку MODx перейдя по ссылке /setup
  • Прописать новый путь и название папки core*****
  • Во втором шаге обязательно сменить название файла config
  • Указать данные базы MySQL.
  • Указать данные администратора сайта и пароль.
  • Указать новые расположения и имена для папок manager***** и connectors***** для усложнения работы хакерам.
  • Произвести установку MODx.
  • Войти в систему, удаляя при этом папку с файлом установки /setup.
  • Подкорректировать стандартный шаблон сайта, убрав из него ссылку на папку manager.

Внимание! Иногда бывает так, что хостинг клиента не поддерживает сжатие CSS и JS. Как результат, административная панель MODx не работает. В этом случае необходимо удалить все файлы и произвести установку заново, указав во время действий 3/4 что сжимать CSS и JS не нужно. Возможно также редактирование config файла.

Первичная настройка административной панели MODx

Включить русскую версию MODx. Системные настройки Core Language and locale Словарь и язык: manager_language ru cultureKey ru fe_editor_lang ru locale ru_RU.UTF-8 manager_lang_attribute ru modx_charset UTF-8

Настроить дружественные URL (ЧПУ) для красивых адресов. Системные настройки Core Дружественные URL: automatic_alias да friendly_alias_translit russian friendly_urls да friendly_urls_strict да global_duplicate_uri_check нет use_alias_path да (для использования префикса родителя в имени страницы) use_frozen_parent_uris да

Отключение окончания .html для страниц. Содержимое (слева сверху) Типы содержимого -> Новый тип содержимого: имя NOHTML MIME типы text/html описание Убирает .html в адресах страниц Указать новый Тип содержимого по умолчанию за NOHTML в меню Системные настройки Сайт default_content_type NOHTML

Переименовать ht.access создать файлы .htaccess для папок public_html, core, manager, connectors Если этого не сделать, то любые страницы кроме главной работать не будут.

В файле public_html/.htaccess раскомментировать строку, отвечающую за редирект с http://wwww. на http:// 23. В файле core*****/.htaccess все заменить на:

RewriteEngine on 
Order deny,allow 
Deny from all 
#Allow from 178.76.225.143 Vlad 
IndexIgnore 
Order Deny,Allow 
Deny from all 

В файле manager, connectors /.htaccess все заменить на

RewriteEngine on 
Order deny,allow 
Header set X-Robots-Tag «noindex, nofollow» 
#deny from all 
#Allow from 159.198.14.84 # home 

Минимальный набор плагинов

• TinyMCE — графический текстовый редактор содержания страниц
• Ace / CodeMirror — редактор кода с подсветкой — обязательно
• pdoTools — набор сниппетов меню, хлебных крошек, сайтмапов и т.п. — обязательно
• CustomUrls — плагин для автоматического создания красивых url новостей
• translit — плагин для транслитерации адресов — обязательно
• filetranslit — переименование файлов при загрузке, так как у хостинга могут быть проблемы с русскими названиями файлов
• formIt — плагин для создания форм
• AjaxForm — плагин для форм обратной связи. Работает только вместе с formit
• MIGX — расширение создания многоуровневой системы дополнительных полей
• Collections — упорядоченные новости
• Minishop2 – интернет-магазин
• Image+ и phpthumbof и Resizer — для редактирования соотношения сторон и размеров фото при загрузке
• phpthumbon – бывает так, что phpthumbof на сайте не работает
• ResizeImageOnUpload — (не пробовал)
• minifyX — плагин для сокращения CSS и JS
• versionX — плагин для сохранения и восстановления версий сайта — обязательно
• Babel – мультиязычность
• BackupMODX
• SEO Pro + SEO Tab – удобный SEO контроль
• MetaX
• Simple Search – поиск
• CookieConsent – уведомление об использовании на сайте cookie — закон

Создание скрытых технических страниц

• Создать новый ресурс «Технические страницы» Настройки: не показывать в меню, контейнер — да, доступен для поиска — нет, редактор — нет, кеширование — нет;
• Внутри технических страниц создать html документы 404, 403. Настройки: не показывать в меню, контейнер — нет, доступен для поиска — нет, редактор — нет, кеширование — нет; постоянный uri 403 / 404
• Внутри технических страниц создать новый документ sitemap.xml. Настройки: не показывать в меню, тип — xml; обязательно шаблон — пустой, доступен для поиска — нет, редактор — нет, кеширование — нет, постоянный uri — sitemap.xml; В Содержание документа вставить внутрь сниппет:

[[pdoSitemap]] либо [[!StercSeoSiteMap]]

Проверить работу, перейдя по ссылке https://sitename.ru/sitemap.xml

• Создать новый документ robots.txt. Настройки: не показывать в меню, тип — text; обязательно шаблон — пустой, доступен для поиска — нет, редактор — нет, кеширование — нет, постоянный uri — robots.txt; В Содержание документа вставить внутрь код:

User-Agent: *
Allow: /
Crawl-delay: 3
Host: [[++site_url]]
Sitemap: [[++site_url]]sitemap.xml

Проверить работу, перейдя по ссылке https://sitename.ru/robots.txt

Добавить новый источник файлов с ограниченными правами. Медиа -> Источник файлов. Название любое, например Files and pictures

• basePath — assets/files/
• baseUrl — assets/files/
• Изменить ключ источника файлов default_media_source в системных настройках -> core со старого на новый

Первичная настройка сайта

Системные настройки -> Core — Сайт:

• default_content_type -> NOHTML
• publish_default -> да
• site_name -> название Сайта
• site_start -> id главной страницы сайта
• error_page -> id страницы ошибки 404
• site_unavailable_message -> Сайт временно недоступен / The site is currently unavailable
• site_unavailable_page -> id страницы ошибки 500
• unauthorized_page -> id страницы ошибки 403

Изменить настройки SMTP сервера при необходимости.

Установка шаблона и наполнение сайта

  1. Скопировать файлы шаблона в папку /assets/templates/template_name. Все файлы сайта хранить только в папке assets, иначе после обновления все они могут пропасть.
  2. Разбить шаблон на чанки.
  3. Разграничить права администраторов.
  4. Добавить SSL сертификат.

Установка сборки / обновление / перенос сайта

1. Удаляем кэш и завершаем все сеансы на старом сайте.
2. Заархивировать и скачать все файлы со старого хостинга / сборки.
3. Экспортировать все таблицы со старой базы данных / создать дамп старой базы. Запомнить префикс таблиц и выбрать кодировку UTF-8.
4. На новом хостинге создать новый сайт.

5. Создать новую базу данных с новым именем и кодировкой UTF-8.
6. Скачать новую версию MODx Revolution Advanced https://modx.com/download/other-downloads

7. Распаковать файлы SETUP и CORE из MODx в корень сайта и папку PUBLIC_HTML. Папку CORE переименовать в папку CORE***** со старого хостинга. При распаковке ГОТОВОЙ СБОРКИ папке CORE присвоить новое название.

8. Закачать и распаковать старые файлы PUBLIC_HTML на новый сервер. При распаковке готовой сборки изменить названия и пути папок MANAGER / COMPONENTS, а также пути к папке CORE и файлу CONFIG в файлах config.core.php в трех местах: PUBLIC_HTML / MANAGER / COMPONENTS.

9. Совершить новую установку MODX со старыми данными папок и новыми данными базы данных. В конце не удалять папку /setup. При распаковке готовой сборки во время установки новой версии MODx всем папкам и файлам, кроме префикса SQL-таблиц присвоить новые названия.

10. Из старой папки /core скопировать все содержимое, кроме папки /config и в новую.

11. Удалить все таблицы новой базы данных. После чего импортировать таблицы из старой / импортировать старую базу из дампа. При распаковке готовой сборки в phpMyAdmin для всех таблиц заменить старый префикс на новый. После этого изменить старый префикс на новый в файле core/config/config.core.php

Сделать расширенное обновление сайта перейдя по ссылке /setup. В конце удалить папку /setup. При распаковке готовой сборки обязательно сбросить кэш браузера и сайта + изменить все данные пользователей, электронной почты, названия сайта и т.п.

После проделанных операций необходимо обновить/переустановить плагины, так как они запоминают старые файловые пути.

Сразу изменить значения настроек для:

  • site_name
  • emailsender
  • emailsubject

Роман Бондарь

Автор блога, SEO-специалист. Продвигаю сайты с 2011 года. Практик эффективного крауд-маркетинга и нестандартного линкбилдинга. Ведущий эксперт поисковой оптимизации в компании IMarketing (Казахстан). Автор книги "Пиратские войны. Моя история о пиратстве в России".