Но у вас именно этот запрос выполняется фантастически долго и жрет много памяти. Либо запрос какой-то плагин меняет, либо сам MySQL из руко вон плохо настроен.
> "Посмотреть какие опции с autoload = yes и нужны ли они" - задача довольно ...непростая
Нет ничего проще - в PHPMyAdmin или консоли mysql выполните запрос: SELECT * FROM wp_options WHERE autoload="yes"
> непростая, как и рефакторинг г..кода Объем большой, проект работает , некоторые исправления, к сожалению, могут принести дополнительные глюки, которые не сразу станут очевидными.
Печаль, да. Но рефакторинг штука такая интересная, что рано или поздно его придется делать. Лучше сейчас, чем в пик продаж (например, когда перед новогодними праздниками сайт ляжет под нагрузкой и вы потеряете кучу денег).
> читал советы что для упрощения процесса поиска узких мест просто по очереди отрубать плагины и следить за изменениями
Да, все правильно. Отрубаете все и начинаете включать по одному и тестить. Еще полезный плагин для отладки - P3 Plugin Performance Profiler. И вместо текущего плагина Debug попробуйте Query Monitor, он очень хорошо информацию отладочную по полочкам раскладывает.
> Не будет ли это "из пушки по воробьям" ?
Нет. А еще будет полезным запустить mysqltuner и посмотреть что нужно подкрутить в настройках БД. Проверить slow query log, в PHPMyAdmin есть целый раздел со статистикой и рекоммендациями по оптимизации настроек БД.
> innodb_buffer_pool_size - был выставлен на 8МБ
Да, в правильном направлении копаете. См выше по поводу тюнинга MySQL.
atomheart: у меня cyr2lat на десятках сайто работает ГОДАМи без проблем. Есть и свой форк с измененными таблицами транслитерации (в оригинале украинская транслитерация некорректная). Работает как часы. Если из-за него что-то падает - это криво настроенный php.
лол) я когда дочитал до string(34) "Текст из доп поля" - чуть не поперхнулся :) Коллега, иногда надо отдыхать. А еще хорошее питание и здоровый сон помогают ;)
Dorogen: Нет. Это совершенно разные платформы. Wordpress.com - это блогоферма, как Livejournal. Там только блоги и еще пара фич. Бесплатный бложик, платные аккаунты - это немного больше фич, больше места под медиафайлы. А WordPress.org - собственно, сам движок WordPress, это полноценная платформа, CMS / CMF (Content Management System / Framework), которая испльзуется для разработки сайтов. Но она настолько простая в использовании "для простых людей" (именно с учетом тысяч плагинов и тем), что сайт можно сделать самому без навыков программирования. А если еще и программировать умеете / научитесь - то сделать можно что угодно.
Александр Фарбер: ну если смотреть в такой плоскости - тогда да. Но и раньше было все то же самое. Разница, действительно, только в том, что благодаря интернету почти все делается не поднимая задницу с дивана, а рынок доступных специалистов / софта / инструментов существенно увеличился - от локального до всемирного.
С другой стороны, я адепт другого подхода. Вместо недорогих фрилансеров соответствующего качества, я ищу себе в команду лучших из лучших (в идеале), или хотя бы высококвалифицированных специалистов в своем профиле. Моя задача - зажечь такого человека идеей и включить в команду на долю. Да, мне меньше на выходе получится, но если у меня в команде крутые спецы и они кровно заинтересованы в успехе - шансы на этот успех существенно увеличиваются. Все, кто уже хотя бы раз делал свой проект прекрасно знают, что идея - ничто. Главное - реализация этой идеи.
Александр Фарбер вы вроде и по делу, но слишком все упрощаете, не учитываете нюансов. Нанимать людей никогда не было проблемой, сейчас просто вместо сарафанного радио и желтых страниц есть гугл. Но, во-первых, найм людей со стороны - это расходы. А многие проекты стартуют в режиме "бутстраппинга" и денег не имеют. Вкладывается свое время и знания, а уж потом проект начнет зарабатывать (возможно, но никаких гарантий). К тому же, очень много известных крупных проектов - Open Source. А платить кому-то за помощь со своим OS проектом - вообще некошерно. И тд и тп.
bitbucket.org - сюда же добавляйте уже GitHub, GitLab.
Amazon AWS - в бюджет добавляйте еще нормального админа со знанием нюансов инфраструктуры и услуг AWS (там без спецзнаний черт голову сломает), а также готовьтесь платить космические счета как только пойдет заметный трафик (что еще не гарантирует дохода). Есть более бюджетные альтернативные решения, проще в натсройке/управлении. Например, Digital Ocean.
fiverr.com - качество услуг там обычно соответствует стоимости. Знаем, проходили :)
Никита Борзенков: О, а я про Yoast не подумал даже, хотя плагин серьезный и наверняка там хуков тоже достаточно. Спасибо, сам теперь посмотрю - на будущее пригодится. Помогли друг другу :)
balkan, еще, вдогонку к реферальной ссылке и бонусу в $10, Используйте свежий промокод DONEWS - это еще $10 (работает для всех новых аккаунтов). Итого - $20 на счет. 4 месяца бесплатно сервер за $5 (512Mb RAM, 1 Core) или 2 месяца за более шустрый за $10 (1Gb RAM, 1 Core)
ST с packages - такой же комбайн, как и PHPStrom. Только быстрее, и удобнее тем, кто привык к less UI, more command line. К тому же, под него на лету можно запилить любую нужную фичу самостоятельно, чего не получится так легко с PHPStorm. Я понимаю, что каждый свое болото хвалит, особенно если других болот никогда не видел вблизи, но не надо разводить холивары, если не можете просто адекватно ответить на адекватный вопрос.
зы: Сам юзал много лет и то, и другое, и третье, и десятое - от Vim до Eclipse. Сейчас только ST3.
Если минимально по деньгам - купите базовый SSD / 1Gb RAM VPS у Digital Ocean, он стоит $5 в месяц, а по моей реферальной ссылке получите $10 на счет, то есть первые 2 месяца - бесплатно. Собственно, ссылка - https://www.digitalocean.com/?refcode=57a1f2a2d6db
Никаких лимитов на процесс и тд - все настраиваете под себя. Даже на дефолтных конфигах 500 чел в день - это ни о чем. А если поставить Nginx, PHP-FPM (а еще лучше - HHVM), Memcached/Redis, MariaDB и нормально настроить - он и 50000 в день без проблем будет держать. Если нужна будет помощь в настройке - пишите, подскажу. Ну или могу сделать за вас - как удобнее будет.
Тоша Марсик: Плохо читали :) Как говорится в экосистеме WP - you're doing it wrong. Для пустой заглушки "без ничего" вообще есть maintenance mode, можно при загрузке проверять на наличие определенной опции-флага и показывать кастомную заглушку с любым кодом, без шапок и тд. Ну или если надо не просто заглушку, а полнофункциональную "входную" страницу, но с минимальным дизайном - тогда надо делать все "по уму" - кастомный шаблон + либо кастомные шапка и подвал, либо все в одном кастомном шаблоне, но с обязательным html шапки и подвала + вызов функций wp_head, wp_footer()
Тоша Марсик: Потому что если вы не включили wp_header(), WordPress, как умная система, подключит свой собственный стандартный header.php, который находится в папке wp-includes/theme-compat. Данный файл используется для обратной совместимости, так как в шапке вызывается функция wp_head(), вызывающая в свою очередь критически необходимый action с таким же названием. А в этот action подключается много нужных процедур.
Чтобы понять, что вы делаете не совсем правильно, установите в wp-config.php константу WP_DEBUG в true. Увидите сообщение с требованием включить header.php в вашей теме :)
То же самое касается подвала.
Оно то у вас "работает", вот только вы ошибок не видите. Данный хук (action) нужен для того, чтобы WP и плагины формировали и выводили в документ мета-теги, скрипты, стили и тд.
> тут можете вызвать шапку если нужна, а можете и не вызывать
Не совсем так. Если вы не заюзаете эту функцию, WP включит свой дефолтный header из файла wp-includes/theme-compat/header.php. Дело в том, что в шаблоне header.php есть вызов функции wp_head(), который обязательно должен присутствовать, поэтому WP убедится, чтобы он был наверняка.
Если вам нужно просто не включать в такой страничке все, что находится в стандартной шапке для других страниц, используйте кастомный шаблон, вызывая так - get_header( 'minimal' ). Такой вызов подключит шаблон header-minimal.php из папки вашей темы. Его, соответственно, надо создать.
То же касается get_footer().
А вот get_sidebar() - действительно, можно вообще просто проигнорировать.
Но у вас именно этот запрос выполняется фантастически долго и жрет много памяти. Либо запрос какой-то плагин меняет, либо сам MySQL из руко вон плохо настроен.
> "Посмотреть какие опции с autoload = yes и нужны ли они" - задача довольно ...непростая
Нет ничего проще - в PHPMyAdmin или консоли mysql выполните запрос:
SELECT * FROM wp_options WHERE autoload="yes"
> непростая, как и рефакторинг г..кода Объем большой, проект работает , некоторые исправления, к сожалению, могут принести дополнительные глюки, которые не сразу станут очевидными.
Печаль, да. Но рефакторинг штука такая интересная, что рано или поздно его придется делать. Лучше сейчас, чем в пик продаж (например, когда перед новогодними праздниками сайт ляжет под нагрузкой и вы потеряете кучу денег).
> читал советы что для упрощения процесса поиска узких мест просто по очереди отрубать плагины и следить за изменениями
Да, все правильно. Отрубаете все и начинаете включать по одному и тестить. Еще полезный плагин для отладки - P3 Plugin Performance Profiler. И вместо текущего плагина Debug попробуйте Query Monitor, он очень хорошо информацию отладочную по полочкам раскладывает.
> Не будет ли это "из пушки по воробьям" ?
Нет. А еще будет полезным запустить mysqltuner и посмотреть что нужно подкрутить в настройках БД. Проверить slow query log, в PHPMyAdmin есть целый раздел со статистикой и рекоммендациями по оптимизации настроек БД.
> innodb_buffer_pool_size - был выставлен на 8МБ
Да, в правильном направлении копаете. См выше по поводу тюнинга MySQL.