Задать вопрос
  • Как правильно перенести WordPress на другой сервер?

    Никита Кит: Жесть. Тупо жесть.

    1. Если верстальщик - не давай советов в тех областях, в которых ничегошеньки не понимаешь.

    2. Если не нужна матчасть - поздравляю, ты уже отстал от конкурентов. Матчасть нужна всем.

    3. Разница куда кешировать сильно большая, так как кеш используется в процессе обработки запроса на сервере (в процессе работы скрипта), и никакого отношения к сети не имеет. Это именно время исполнения скрипта на стороне сервера. Скорость доступа к памяти и к диску сильно отличается:

    Read 1 MB sequentially from memory 250,000 ns
    Disk seek 10,000,000 ns

    Если это небольшой простой скрипт с общим временем исполнения менее 100мс - разница несущественна, да и кешировать там нечего. Если это большой и сложный сайт, на котором одни запросы к БД могут выборки делать по секунде и больше, а потом из полученных массивов данных еще и надо что-то колбасить и генерить на вывод - такие вещи надо кешировать, для того и существует object cache и fragment cache. Дилеи на стороне сети это совершенно другая сфера, и там свои нюансы. Впрочем, средний сетевой дилей все равно всегда меньше серверного времени для сложных приложений.

    4. Скорость соединения 20мбс вообще до лампочки. Что 2 Мбс, что 200. У протокола TCP есть такие штуки как congestion control, и ваши данные летают маленькими пакетами туда-назад с медленно растущей скоростью. Любая потеря пакета откатывает скорость назад. Поэтому в реальности канал/соединение практически никогда не утилизируется полностью. А для маленьких файлов (из чего состоит основа веб - html, css, js) утилизация сетевого ресурса никогда не превышает 1-3%. Если бы вы изучали матчасть, то были бы в курсе.

    5. Время жизни кеша в оперативе как раз достаточное. Потому что кеш это изначально штука не вечная, он регулярно обновляется. У кеширующих бекендов реализована грамотная функция очистки кеша автоматом по принципу LRU (Least Recent Use). Опять же, матчасть.

    6. Сервер грузит как раз запись на диск. Потому что ресурс чтения/перезаписи у RAM практически неисчерпаем, у дисков он сильно ограничен. Потому что каналов у RAM очень много, I/O у диска сильно ограничен. Кроме того, запись-чтение на диск в любой случае задействует и память промежуточно, плюс в памяти ОС кеширует дескрипторы файлов, плюс задействуется и CPU в большей степени. В общем, ресурсоемкость использования диска сильно выше, живучесть дискового носителя сильно ниже.

    Повторюсь, учите матчасть. Или же не встрявайте в дискуссии, в которых ровным счетом ничего не понимаете.
  • Могут ли заблокировать от большого количества просмотров adsense?

    Jony1337: Редиректы поисковики тоже не любят. Для рекламной площадки сам по себе редирект не является проблемой, но я не совсем понял что вы имеете в виду под "уже после чего человек поделился новостью в соч сети"
  • Как поддомены влияют на SEO и почему их редко используют?

    Гура: Если вам нужен общий поисковый вес и аудитория разных разделов может пересекаться - тогда один сайт, тематика по папкам/рубрикам. Если нужны разные сайты - используйте поддомены.
  • Как посмотреть все отправленные письма в WP?

    mUchenik: Вы используете тот же MailPoet как систему управления рассылками (письмами), а внешний сервис используете только для отправки писем. Грубо говоря, вместо Yandex Mail вы указываете в настройках плагина другой метод отправки писем.
    Спасибо, и вас с наступающим)
  • Могут ли заблокировать от большого количества просмотров adsense?

    Jony1337: да не в домене дело. А в совершении действия автоматическим / полуавтоматическим способом по определенному паттерну, без непосредственно сознательного решения и действия пользователя.
  • Могут ли заблокировать от большого количества просмотров adsense?

    Jony1337: вы открываете вкладку независимо от желания посетителя, увеличивая таким образом количество просмотров. Накрутка в чистом виде.
  • Как правильно перенести WordPress на другой сервер?

    Никита Кит: Лоооооол :) Бро, ну реально, второй раз уже советую удалить свой ответ и не позориться))) Речь идет об оперативной памяти СЕРВЕРА. Или кластера серверов. Или внешнего именно object cache storage, который только под это и создан (см. сервисы AWS). Учи матчасть.
  • Как переделать запрос get_posts на query_posts с пагинацией в данном случае?

    lexstile: как называется php-файл этого шаблона? Это главный запрос, главный цикл? Или вторичный где-нибудь в сайдбаре или под основным контентом?
  • Почему не работают скрипты из внешнего файла?

    Евгений Вольф: Да, именно для таких целей он там и есть. Впрочем, можно на дев-сервере решить проще:
    wp_enqueue_style('vendor_style', get_template_directory_uri().'/assets/css/foundation.css', array(), date('U'), true );
    wp_enqueue_style('custom_style', get_template_directory_uri().'/assets/css/app.css', array(), date('U'), true );

    Как я уже говорил, четвертый параметр вызова данной функции - это как раз то, что будет передано в параметр script.js?v=X
  • Стоит ли использовать фреймворки для небольших проектов?

    Sanes: Если ровными руками пилить (читать - хорошо изучить и использовать правильно) то не утомишься. То же касается и любого фреймворка - если его не совсем ровными руками пилить, то утомишься поддерживать, а другие разрабы потом плакать будут. А вот с точки зрения выгоды для клиента - стоимость дальнейшего сопровождения, гибкость, возможность смены подрядчика - тот же WP сильно выигрывает.
  • Почему не работают скрипты из внешнего файла?

    1. wp_print_styles не стоит использовать для enqueue уже 5 лет как, с версии 3.3 это чревато конфликтами. https://make.wordpress.org/core/2011/12/12/use-wp_...
    2.
    wp_register_style('themeStyle', $path . 'style.css');
    - wp_register_style необходимо вызывать в хуке wp_enqueue_scripts, иначе могут возникать проблемы - https://core.trac.wordpress.org/ticket/17916
    3. $path = get_bloginfo('template_directory') . "/" - зачем такая конструкция? get_template_directory_uri() создана специально для этого.
    4. wp_deregister_script('jquery'); - сколько переговорено на эту тему... Вы экономите на спичках, а конфликты у других плагинов с этим бывают. Иногда грузится 2 версии сразу - и родная, и ваша. Иногда плагины просто не видят вашу. Сейчас уже все реже такое происходит, но это есть. Смысл замены jQuery?
    5. "У тебя не хватает wp_register_style" - в этом нет необходимости, wp_enqueue_* регистрирует сам, см. документацию и код функции. "Registers the style if source provided (does NOT overwrite) and enqueues."

    Это краткий code review без вникания в детали. Вердикт - сильно устаревший подход, применяемый без оглядки на корректное использование API ядра к месту и по сути, с потенциальными гарантированными проблемными местами.

    Кроме того, использование одной и той же nonce через 'nonce' => wp_create_nonce('myajax-nonce'), является опасным решением с точки зрения безопасности. Пока оно используется в реальности для 1-2 вызовов каких-то похожих, типа подгрузки постов при скролле - проблемы не будет. Как только функционал растет, и действия на аякс-хуках выполняют разные вещи и требуют разных прав, использование одной nonce может быть опасным.
  • Почему не работают скрипты из внешнего файла?

    Евгений Вольф: WP дописывает cache busting сам, по умолчанию - свою версию. Что в данном случае не помогает, конечно же. Поэтому этим параметром можно управлять в функции wp_enqueue_style/wp_enqueue_script - четвертый из пяти аргумент вызова функции - версия файла.
  • Как переделать запрос get_posts на query_posts с пагинацией в данном случае?

    WQP, а кто вам сказал что get_posts очень медленный? Вы код функции смотрели? Она вызывает тот же WP_Query, только с уже предустановленными параметрами. При чем параметрами, которые как раз ускоряют запрос - suppress_filters => true, no_found_rows => true.
  • Как правильно перенести WordPress на другой сервер?

    Никита Кит: вы бы хоть понимали как работает object cache для начала, да и вообще кеширование разных типов на разных уровнях. В WP в ядре кеширование реализовано чуть более чем целиком. Единственное, что не используется (не навязывается) ни одно конкретное бекенд-решение, именно благодаря этому WP может работать на таком огромном количестве и разнообразии железа и софта самых разных версий. Забросив всего лишь интерфейс для желаемого бекенда в папку wp-content мы получаем возможность кешировать в том бекенде, который нам нужен - memcache, memcached, redis, APC etc. Что является грамотным с точки зрения архитектуры и масштабируемости. В ModX из коробки объектный кеш хранится не в памяти (RAM), а в файлах в папке core/cache что сильно, очень сильно уступает по скорости кешированию в память. Кроме того, в ModX также есть опциональный ключ MODX_CONFIG_KEY в конфиге, который делает ровно то же самое, что WP_CACHE_KEY_SALT - если он определен, то кеш складывается по уникальному адресу для избежания конфликтов - core/cache/MODX_CONFIG_KEY. Подключение кеширования в память в ModX требует заметно больших танцев, чем в WP, порог входа выше. И если его там подключить, то, повторяю, при использовании memcached будет ровно та же проблема - пересечение и конфликт данных от разных сайтов, которые лежат рядом. Потому что это проблема не платформы/CMS, а самого memcached. Например, в Redis такая проблема отсутствует.
  • Как правильно перенести WordPress на другой сервер?

    Никита Кит: Я вчера поковырял код плагина и свои сайты, которые его используют, и все оказалось проще. Автор вопроса изначально не настроил плагин правильно. Для того, чтобы Memcached Redux корректно работал с несколькими сайтами, достаточно в wp-config.php каждого сайта добавить константу WP_CACHE_KEY_SALT. Этого нет явно в документации плагина, но даже в Changelog есть. У меня они стоят и все работает. Так что проблема не в ломке плагина, а в том, что его попросту забыли настроить. Впрочем, это проблема конкретно memcached и того как он работает, поэтому она касается любых нескольких сайтов на любых платформах/фреймворках/CMS. Если есть данные и таблицы в БД с одинаковыми названиями, они будут конфликтовать между собой. Плагин при наличии константы WP_CACHE_KEY_SALT делает данные уникальными для каждого сайта.
  • Почему не корректно работает ajax корзина?

    Кирилл Трифонов: Теперь включите пермалинки (ЧПУ) и попробуйте снова.
  • Почему не работает простейшее условие?

    verdex: Тогда попробуйте === вместо ==. И да, нет необходимости использовать промежуточную переменную, можете работать напрямую с $_POST['type']
  • Как написать условия на пхп или на JS если есть файл, или объект то показывать, а если нет то спрятать вордпресс?

    RushV: Так а зачем вы оба фрагмента кода скопировали? Первый - это чистый код для вывода самой ссылки (значения из post_meta) без какого-либо html. Чтобы легче понять. Второй фрагмент - это уже реальный код с html. Удалите первый фрагмент и все будет как надо.