• Как сделать выбор региона на WordPress?

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

    Поставьте лучше плагин локализации, например https://ru.wordpress.org/plugins/qtranslate-x/ или любой другой аналог.
    Добавьте кастомные языки, считайте, что язык, это будет регион/город.

    Такой вариант значительно гибче и проще
    Ответ написан
  • Как ускорить сайт для другого континента?

    dimasmagadan
    @dimasmagadan
    1.58 load time - это нормально.
    вам в другом ответе автор комментария перепутал load time с time to first byte - этот параметр должен быть 0.2 или меньше.

    а вот разница в 10 секунд для разных стран - это очень много и странно.

    прикрепить несколько серверов к одному и тому же домену можно. из готового и самого простого в настройке можно взять вот такое
    https://aws.amazon.com/ru/route53/

    но лучше перед покупкой еще одного сервера выложите результаты теста пингдома или ссылку на сайт в этот топик. может проблема у вас совсем не в этом
    Ответ написан
    Комментировать
  • Чем лучше оптимизировать картинки на сайте wordpress?

    dimasmagadan
    @dimasmagadan
    https://cloudinary.com/
    автоматом конвертит в нужный формат
    есть плагин для WP

    webp отдавать без фолбэка нельзя
    Ответ написан
  • Как настроить сервер с WordPress под высокую нагрузку и DDOS?

    dimasmagadan
    @dimasmagadan
    если сайт позволяет, настройте более агрессивное кэширование. Отдавайте все как статику хотя бы во время атак.
    Это можно сделать как плагинами (например тот же Wp Super Cache), так настройками nginx.

    Ниже советы, как если б вы уже настроили все на отдачу статикой.

    1) Начинает долбить рандомные запросы к несуществующим страницам в WordPress, а так как это не дает 404 ошибок (WordPress пытается найти такие статьи и генерирует свою 404 страницу), то никакой кеш тут не помогает - каждый запрос генерирует новое кеширование. Пример запросов (десятки в секунду):
    domain.com/DSADAJKFJASFJASFLKJ

    а зачем вы кэшируете такие страницы по отдельности?
    отдавайте одну статическую 404ю страницу для всех несуществующих страниц

    5) Долбят /wp-admin/admin-ajax.php POST/GET запросами - это сильно вешает сервер. Заблокировать полностью файл не могу, так как frontend использует запросы на него от реальных посетителей. Получается заблочить через .htaccess если используют пустой реферер. Если нет - непонятно как отличий от нормальных пользователей.

    несколько вариантов:
    1 добавить nounce (и сделать, чтоб оно работало корректно с кэшированными страницами)
    2 перестать использовать admin-ajax.php на фронте. заменить на REST API/кастомный эндпоинт.
    да это будет не по стандартам WP и потребует некоторой переделки кода/плагиов, но это будет более производительно, хотя бы за счет срабатывания несколько другого набора хуков у рест апи (rest api vs ajax). Плюс запросы к стандартному admin-ajax слабо кэшируются
    а с кастомным эндпоинтом вообще можно только нужные части движка подгружать

    6) Домен подключен к Cloudflare, но как я понял с такими типами атак (где все ip разные и определить что действия сомнительные трудно) он не особо поможет.

    как минимум, оставьте только нужные вам страны, остальные блокируйте.
    во время атаки выкрутите Basic Protection Level в максимальный режим (не помню, с какого тарифного плана это доступно)
    Ответ написан
    3 комментария
  • Самый быстрый и мощный хостинг для Wordpress?

    dimasmagadan
    @dimasmagadan
    хостингов заточенных под WP сейчас достаточно много. Но нужно различать, где действительно настроенное под WP, а гже просто маркетологи название прикрепили.
    ищите по managed WordPress hosting, навскидку несколько самых популярных:
    https://wpengine.com/
    https://kinsta.com/
    https://flywheel.com/
    https://pagely.com/
    из отечественных - https://pressjitsu.com/
    и так далее
    функционал у всех сейчас примерно одинаковый - ssh, cdn, wp-cli, свои доработки для безопасности WP, у всех есть ограничения по использованию плагинов (тупо, если у вас плагин, который небезопасен или тормозит - не дадут поставить) и тп.
    выбирать можно по цене, но все будут дорого.

    если умеете в девопс, можете собрать свое в облаке
    https://aws.amazon.com/ru/getting-started/tutorial...
    такое решение очень хорошо масштабируется, может получится дешевле по цене, но нужно уметь

    если же не хотите заморачиваться - перейдите на более высокий тарифный план у текущего хостера.
    либо поставьте и настройте плагин кэширования. может вам и текущего вполне хватит
    Ответ написан
    Комментировать
  • Получение custom post type. Намудрил?

    dimasmagadan
    @dimasmagadan
    зачем усложнять простое? чем больше кода, тем больше шансов на ошибку.

    коротко ревью (часть чисто мои хотелки, править не нужно):
    1. весь вывод без фильтров (the_content, the_title и тп)
    2. нет локализации (может и не нужна, но по стандартам надо)
    3. <?= - короткие теги не по стандартам
    4. get_post('news', '4') - второй параметр int или string?
    5. $posts_per_page = -1 - плохо для производительности
    6. два запроса к WP_Query, хотя можно было ограничится одним https://codex.wordpress.org/Plugin_API/Filter_Refe...
    7. нет проверки/фолбэка для get_the_post_thumbnail()
    8. mb_strlen($post->post_content) >= 150 можно заменить на стандартный https://developer.wordpress.org/reference/function...
    9. ненужный wp_reset_postdata(). Функция нужна, если менялся глобальный $post при использовании стандартного лупа. Тут такого нет
    10. собсно - нет стандартного лупа https://codex.wordpress.org/The_Loop

    если следовать стандартам, код станет производительнее, проще, понятнее и не будет ломать работу других плагинов.
    Ответ написан
  • Реально ли без проблем «пересоздать» акк на Upwork?

    dimasmagadan
    @dimasmagadan
    Стоит учесть правила апворка, которые запрещают создание мультиаккаунтов
    Ответ написан
    Комментировать
  • Хороши ли корструкторы для создания сайта?

    dimasmagadan
    @dimasmagadan
    А вам это зачем?

    Если чтоб сделать свой сайт, то для большинства задач конструкторов вполне достаточно.
    Если же чтоб зарабатывать деньги - платить много за что-то, что требует никаких навыков, никто не будет. Поэтому, если цель заработать деньги, языки учить придется
    Ответ написан
    Комментировать
  • Где найти WordPress right way?

    dimasmagadan
    @dimasmagadan
    1. Как все это запихивается под версионный контроль?
    так же как и любой другой код.
    Кто-то любит composer-lock.json/vendors класть в реп, кто-то нет и тп. С WP так же - можно сам движок класть, можно не класть. Зависит от кодстайла/привычек вашей команды.

    2. Где можно посмотреть руководство по эксплуатаци..
    На официальном сайте есть документация.
    Разработка под WordPress не подразумевает ковыряние разработчика в файлах движка. Вам дали фильтры/хуки, дали несколько api, используйте - этого вполне достаточно. Если нет, скорее всего ваш проект выходит за рамки WP, либо вы делаете что-то не так.

    3. Есть ли аналог php the right way...
    На официальном сайте. Там же можно найти и правила для phpcs, как настроить юнит тесты и прочее такое

    4. Советы от людей, которые как и я пришли разбираться с wp после паттернов проектирования.
    А зачем? Вам с чем работать, с этими людьми или с WordPress?
    Если вам надо работать, читайте документацию, там все толково расписано. Если же хотите пообсуждать "какой WP фиговый движок" - то это можно ваще на любом форуме в интернете и не обязательно, чтоб собеседники владели какими-либо паттернами.
    Ответ написан
    Комментировать
  • Sublime text 3 Проблема с CSS в чем может быть проблема?

    dimasmagadan
    @dimasmagadan
    это называется "кэш"
    ресурсы закэшировались в браузере и берутся с кэша.
    для получения свежей версии нужно сбросить кэш
    Ответ написан
    Комментировать
  • Сортировка постов по последнему комментарию?

    dimasmagadan
    @dimasmagadan
    из коробки WP так не умеет.
    я решал так:
    1 вешаем хук - при добавлении комментария добавляем/обновляем к родительскому посту метаполе с текущим временем.
    2 делаем сортировку по этому метаполю
    Ответ написан
    Комментировать
  • Как узнать время ответа сервера, на которое смотрит Google PageSpeed?

    dimasmagadan
    @dimasmagadan
    время ответа сервера это и есть TTFB - time to first byte.
    оно может немного варьироваться в зависимости от "скорости" между сервером сайта и сервером, проводящим тестирование.
    для гугла достаточно, если этот показатель будет меньше или равен 0.2 секунд.

    этот показатель не основной и не самый критичный.
    лучше стоит ориентироваться на Time to first paint
    оно обозначено вертикальной линией на вкладке Performance
    https://groups.google.com/forum/#!topic/google-chr...

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

    чтоб передвинуть ее к началу нужно смотреть, на что жалуется гугл.
    обычно советы там вполне дельные. основной массе сайтов помогут.
    Ответ написан
    Комментировать
  • Удалённый зарубежный работодатель требует застраховаться (условие контракта). Что делать?

    dimasmagadan
    @dimasmagadan
    Старый развод) добрался теперь и до интернета с фрилансерами.
    В офлайне раньше просили для устройства на работу купить обучающие материалы, теперь вот пытаются и в интернете начали впаривать страховку. Позже с большой степенью вероятности их не устроит выбранная вами страховая компания и они с радостью покажут свою "проверенную".

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

    Лучше отказаться. Заказов куча, есть другие более адекватные заказчики.
    Ответ написан
    Комментировать
  • Взял первый заказ на UpWORK от индуса. Как разрулить проблемы?

    dimasmagadan
    @dimasmagadan
    Спокойствие, не все потеряно.

    1.
    >этот клиент мне на шею на месяц сядет за эти проклятые 10$
    именно так и будет. Проект с индусом стоит закруглять как можно быстрее.
    И позже не брать проекты от "восточных товарищей" - Пакистан, Индия, Таиланд, наше ближнее зарубежье (Казахстан, Таджикистан) и тп.
    Никакой дискриминации по культуре/национальности, просто в тех странах другой порядок цен: на взгляд заказчика он вам платит деньги, на которые его деревня может жить месяц. Отсюда дополнительные требования и придирки.

    2.
    Отзыв по этому заказу у вас 100% будет негативный.
    Пока работать только начали, jss у вас показываться не будет. Нужно срочно набрать несколько других заказов для выправления рейтинга профиля. Чтоб как начнет считаться jss, он стал выше.
    Единственный вариант - демпинговать. Берите заказы с бюджетом от $500, предлагайте их сделать за $300 или меньше. Заказчика мотивировать отдать вам по подозрительно низкой цене можно тем, что "я такой заказ уже делал, под ваш старый код можно взять с небольшими переделками".
    Хоть вы и будете по этим заказам работать в убыток, нужно будет стараться не налажать и сделать все в срок и качественно.

    3.
    Учите инструменты.
    Под эту задачу я бы попробовал поставить на его сервер WP-CLI.
    Навскидку, даже не делая какого-то кастомного кода - можно было попробовать ускорить выполнение WooCommerce Store Toolkit, отключая лишние плагины/тему при запуске этого плагина через WP-CLI
    Ответ написан
  • Как на wordpress отследить откуда выполняется редирект?

    dimasmagadan
    @dimasmagadan
    1 htaccess
    2 редирект может закэшироваться в браузере
    Ответ написан
  • Как оптимизировать php?

    dimasmagadan
    @dimasmagadan
    Без кода вам мало кто поможет.

    Но начать можно с этого
    php.net/SplFixedArray
    Ответ написан
    Комментировать
  • Как исправить ошибку переключения шаблона в Wordpress?

    dimasmagadan
    @dimasmagadan
    надо следовать стандартам и не использовать <?=
    Ответ написан
    Комментировать
  • Долгий ответ сервера, не понятно, почему?

    dimasmagadan
    @dimasmagadan
    Пинайте хостера
    у вас те страницы, которые долго грузятся, отдаются минуя их кэш с вот такими заголовками
    X-Cache: MISS from t1.hoster.ru
    X-Cache-Lookup: HIT from t1.hoster.ru:6666

    После того, как запинаете хостера, нужно будет решить, сколько кэша и где вам нужно.
    Иметь несколько уровней кэширования - плохо. Лучше оставить что-то одно. Проще оставить тот кэш, который вы можете самостоятельно контролировать. В вашем случае это значит отказаться от кэширования на стороне хостера и поставить плагин кэширования для WP.

    Еще один очень важный момент.
    Этот плагин кэширования (не важно, какой плагин вы будете ставить) нужно будет корректно настроить. Встречал сайты, где плагины были настроены так, что сайт от них торомозил еще больше. Ваша ситуация под такой сценарий как раз и попадает.
    Если самостоятельно настроить плагин кэширования не сможете, отказывайтесь от плагина, откатывайтесь к кэшу от хостера. Просите их включить кэш максимально агрессивно.
    Ответ написан
  • Filter и action - в чем разница этих хуков?

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

    Фильтр же дает нам какие-то данные и мы можем их вернуть как есть или в измененном виде.
    Например в функции, которая запускает оповещение про отъезд, может быть фильтр на количество дней и на место прибывания.
    Повесив свой фильтр на эти переменные, мы сможем вернуть не "к маме на неделю", а "на Сахалин навсегда".
    Ответ написан
    Комментировать