А так же о всякой фигне
Этим летом меня закусило перевести этот сайт с вордпресса на свой собственный велосипед. Изначально хотелось получить 100% для PC и мобилок в гугл спид ранк. Ну и бонусом немного повелосипедить just for fun.
Я порывался перепелить вордпресовскую тему, но под неё выходили регулярные обновления и меня очень не привлекало каждый месяц разбираться что там опять развалилось.
Вторым моим порывом было просто сделать свою собственную тему, я даже допилил её до вполне юзабельного состояния, но осознав сколько я на неё потратил времени, я решил что проще просто запилить полностью кастомную CMS.
Мой кастомный движок выдаёт в 20 с лишним раз большую производительность. Вместо тысячи слов, тест jmeter на 25 пользователей, главная страница, сайт вордпресс:
При этом процессор загружен на 100%, основная нагрузка - php-fpm.
Мой кастомный сайт, та же виртуалка, 50 пользователей:
Нагрузка размазана равномерно между mysql, nginx и php. Процессор загружен на 30%, на большее не даёт нагрузить мой интернет канал.
Ничего удивительного. Вордпресс вынужден тащить гигантское легаси почти 20 летней давности, систему плагинов и расширений, универсальное апи для тем, а всё это добро приправлено говнокодом, слабого php комньюнити.
Самым узким местом была генерация страницы, именно на неё гугл ругался больше всего. Вот для сравнения графики под нагрузкой:
Вордпресс
Кастомный движок
Разница в 3 раза. Кроме того я смело выпилил все внешние скрипты, jquery плагины и даже сам jquery и оставил самый минимальный минимум.
И теперь у нас 97/100% спидранка:
Сейчас админка отделена от сайта и существует на локалхосте, за ssh авторизацией. Теперь на сайте её просто нет. И так как её нет, то нет проблем со взломом админки. Естественно на моей совести остались проблемы с SQL инъекциями, но я надеюсь мой опыт помог мне от них застраховаться по максимуму.
Огромный класс уязвимостей в wordpress - это плагины. В моём случае их нет. Короче, если нет того, что можно ломать- значит нет проблем.
Главная проблема - это время. В сумме я потратил около 2 недель на разработку. А это совсем не то же самое, что 20 минут на подъём цмски.
Причём примерно 30% это времени было потрачено на экспортер данных из вордпресса и на импортёр данных в мою бд. Т.к. я переделал формат бд, для более оптимальной работы.
Ещё 30-40% времени было потрачено на админку, куда же без неё. Но она и сейчас находится в полу доделанном состоянии.
Люди всё активнее блочат треккеры и я уже вижу расхождение яндекс/гугл статистики с реальными логами. По этому, дальше у меня в планах полный переход на свою стату.
Причём я пилю такую статистику, которая должна будет протрекать посетителя и отследить его возврат. И всё это должно работать только на бэке, без всяких жабаскриптов.
Так же в планах виджет с рекомендациями, сайдбар сиротливо пустой.
Это сложный случай. Если Вы ИТишник, то однозначно нужно. Любое велосипедостроение в контролируемых условиях- это получение опыта.
А вот если Вы не ИТишник, а владелец бизнеса, тут уже сложнее. Давайте прикинем: 2 недели моей работы стоят 1.5k$ + ещё столько же на поддержку в течении полугода - это около минимальный ценник за такую работу.
И вот тут есть несколько возможностей как эти деньги отбить:
Как я чуть не попал на 10к зелени за использование торрентов
Однажды, я чуть не попал на 10к долларов за то, что скачал уже бесплатный на тот момент старкрафт1.
Как выбрать ноутбук в 2020 году и не облажаться
В прошлые 2 года мне довелось попокупать пачку ноутов, с некоторыми мне повезло, с некоторыми нет, но за то получил кучу экспы, которой хочу поделиться с Вами.