Многие пользователи задают вопрос: «Почему используется платформа для работы восстановленных сайтов, а не просто статический сайт на html?». Под платформой мы понимаем заданную физическую архитектуру файлов и дополнительные скрипты для обработки. Зачем это все нужно?
Давайте разбираться по порядку, так как вопрос требует понимания практической реализации.
Физическая структура файлов
Как будет работать статический сайт?
Каждая отдельная страница будет лежать в отдельной папке. Причем, вложенность это папки зависит от вложенности URL. Например, если вы захотите добраться до файла страницы, которая расположена по такому адресу - /catalog/mobile/iphone/iphone-xs/ , то вам надо войти на глубину четырех папок, и это еще не предел. Представьте если у вас сайт хотя бы в 100 страниц. Вы потратите много времени, что бы добраться до каждого файла и отредактировать его.
Более того, здесь появляется новая проблема. Например на ОС Windows невозможно задать название папки содержащий знак вопроса («?») , а соответственно название папки будет изменено, а это ведет к изменению исходного URL страницы, что недопустимо, если у страницы был вес в поисковой системе.
Как работает наша платформа?
Все страницы сайта лежат в одной директории - /pages/.
При восстановлении сайта, наша программа генерирует файл, в который записывается соответствие оригинального URL (адреса ссылки как было раньше на сайте), и файла страницы (файл страницы записывается в папку pages).
Удобным является и расположение остальных файлов формата: css, js, pjg, png и т.д. Они все расположены в папке /public/ , тоесть не раскиданы по всей корневой директории. Более того в файлах восстановленных страниц, дополнительно к путям public прописывать не надо. Платформа сама их «подтянет», если вы их расположили в директории public.
Массовое редактирование страниц
Как быть со статическим сайтом?
Тут начинаются проблемы даже с такой элементарной задачей, как установка счетчиков. Представьте, что вам надо открыть каждую страницу и проставить в ней один и тот же код счетчика. Учитывая вложенность папок и количество страниц, данная задача может занять у вас несколько часов работы. А что делать, если на сайте 1000 страниц?
Как вариант можно разработать свою программу, которая будет «ходить» по всем страницам и прописывать в html-коде счетчик. Но для этого у вас должны быть компетенции в программировании, либо заказывать софт у фрилансеров. Как вы понимаете – это дополнительные денежные траты.
Как устроено на нашей платформе?
Массовая замена участков кода может производится в двух режимах: через прямые замены кода и регулярные выражения. Режимы работают параллельно. Имеется возможность задать список страниц исключений, где правила замены срабатывать не будут.
Для этого есть два файла в формате JSON: replace.json и regreplace.json. Находятся файлы в папке config. Более подробно, как делать замены счетчиков и участков кода описано в соответствующей статье.
Ниже приведен пример файла regreplace.json. Если коротко, то в нем все html-страницы очищаются от ссылок ведущих на веб-архив.
Какие еще возможности предоставляет платформа?
- принудительно задать кодировку;
- задавать список переменных;
- подключение биржи Sape;
- настройка редиректов;
- настройка https.
Плюсы платформы
- удобная файловая структура;
- массовое редактирование кода;
- возможность задавать переменные;
- без лишнего кода;
- не требовательна к ресурсам хостинга;
- относительная гибкость;
- не использует базы данных;
- проста в установке – закачал, распаковал и работает.
Минусы платформы
- при количестве страниц от 500 000 занимает много места;
- не заменит полноценного сайта на CMS (зависит от ваших задач).
Работает платформа на php 5.3+. 99% хостингов оборудованы и работают с PHP, поэтому вам не стоит об этом беспокоится. Бывают случаи, когда платформа не работает после установки на хостинг. Знайте, что это скорее всего свидетельствует о низкой квалификации системных администраторов, которые настраивают сервера. По-другому это называется «говнохостинг». Что бы избежать данного явления, пользуйтесь проверенным хостингом от reg.ru.