Содержание

Как Яндекс.Дзен, плагин кэширования для WordPress и хостинг повысили мое давление / Хабр

Это статья, скорее, из серии «хозяйке на заметку». Ну и еще немного о личных переживаниях и раздолбайстве.

Если вам приходится сталкиваться с сайтами на WordPress, на которых установлен плагин кэширования WP Super Cache, то статья может быть для вас небесполезна. В остальном, это просто небольшая история.

Вкратце, начало истории таково: жил был сайт. Тематический информационно-новостной. Сделанный неведомым мастером на CMS WordPress. И сделанный ровно так, как того позволяли в тот момент средства его владельца. Со временем сайт набирал популярность, количество посетителей росло. Сам сайт «зарабатывал» на рекламе. Т.е. чем больше посетителей — тем лучше. В какой-то момент, при пиковых нагрузках, сайт начал сдавать: страницы загружались медленно и все такое. Но, конечно, пока петух не клюнул, никто особо не шевелился. Петух появился в момент, когда сайт должен был освещать некоторое привлекающее внимание публики событие. Посетители набежали, сайт лег, а все предполагаемые доходы таяли на глазах. В силу обстоятельств в качестве реаниматора пришлось выступать мне. Об этом я написал тогда статью. Мое решение было жутковатым (не повторяйте), но главная цель была выполнена — мечты были спасены. В основном.

Разумеется, никто не был заинтересован в повторении подобной ситуации и над сайтом поработали. В первую очередь — выяснили причины падения и высокой нагрузки на сервер. Они были банальны: отсутствие на сайте кэширования как такого и скверно реализованный механизм учета и показа количества просмотров статей. Последний сам по себе создавал приличную нагрузку: при каждом запросе страницы статьи он брал из базы данных количество просмотров этой статьи, выводил его, а затем прибавлял единицу и записывал обратно в БД. При этом для хранения использовалась таблица

wp_postmeta с метаданными (так это, кажется, называется в WP). В которой хранилась масса совершенно не относящейся к учету просмотров информации и которая была весьма велика.

Проблему кэширования решили просто: в спокойной обстановке нормально установили плагин WP Super Cache. Что, многие, если я правильно помню, советовали мне сделать вместо жутковатого костыля, который я соорудил, в комментариях к той моей статье. Честно говоря, я и тогда и сейчас плохо ориентировался в экосистеме WordPress и поэтому и появился тот костыль. Плагин кэширования ставили и настраивали уже знающие люди и он хорошо встал прямо «из коробки». Таким образом была решена проблема кэширования. Почему был выбран именно этот плагин — я точно не знаю. Насколько я понимаю, это один из самых популярных плагинов такого типа для WP.

С учетом просмотров поступили несколько иначе. Понятно, что от изначального механизма нужно было отказаться. От самого учета просмотров отказываться не хотелось: на него, как минимум, был завязан показ блоков вроде «самые популярные статьи за неделю». Все плагины для учета просмотров, даже если они и «дружили» с плагином кэширования, оказались весьма прожорливыми и, чаще всего, реализовывали тот же механизм с записью и извлечением данных из wp_postmeta.

Для небольшого сайта это вполне подходит. Для сайта с достаточно солидными пиковыми показателями посещаемости — уже нет: слишком прожорливо для такой небольшой функции. Тут как нельзя кстати подвернулся оплаченный на годы вперед и неиспользуемый хостинг. Самый простой и дешевый. На него и свалили обязанности по хранению, учету и отдаче данных о просмотрах. Все асинхронное, т.е. даже если он упадет, то основной сайт продолжит спокойно показывать статьи, рекламу и все, что должен показывать. Оперативное хранение данных о просмотрах возложили на Redis, а долговременное — на MySQL. Так оно и крутится, есть особо не просит и выедает 1-2% от максимально разрешенной нагрузки на том хостинге.

И вот, проходит довольно продолжительное время. Опять ночь и опять старая история. На сайт идет довольно мощный трафик и сайт начинает падать. И опять я оказываюсь единственным бодрствующим условным специалистом в округе. Я, конечно, удивлен повторению событий. Первая мысль — кто-то случайно отключил кэширование. Но нет, в исходном коде страницы сайта, который отдает мне падающий сервер я вижу признаки работы плагина кэширования. Все должно быть ok. Но в панели управления сервером я вижу, что оперативной памяти не осталось, количество запросов к БД неимоверное и все плохо. Первым делом, я открываю страницу с описанием плагина, быстро пробегаю ее глазами, ничего не обнаруживаю и оставляю это занятие. Следующий шаг — посмотреть статистику. Я вижу, что основной поток трафика льется на сайт с Яндекс.Дзен. И запрос, который приводит пользователя на сайт, выглядит так:

https://example.com?utm_referrer=https:%2F%2Fzen.yandex.com

Т.е. Яндекс.Дзен добавляет свою utm-метку к адресу. Поскольку сервер уже окончательно лежит и отдает мне только 500, то проверить теорию о том, что страницы с таким «довеском» почему-то не кэшируются, я толком не могу. Поэтому рождается очередной «костыль» (впоследствии был заменен): в .htaccess добавляется редирект, который преобразует запрос с utm-метками в запрос без них до того, как в дело вступит WordPress и все его могучие плагины.

Машина перезагружается и, вуаля, все работает: сайт быстро загружается, сервер тихо шуршит на пониженных оборотах. Как ничего и не было.

Тут я расслабился и полез спокойно смотреть настройки плагина кэширования. В первую очередь — галочку «Не кэшировать страницы с параметрами GET», которая там есть. Все нормально, она не стоит. Плюс, как показал эксперимент, плагин отлично справляется с кэшированием запросов с любым набором произвольных параметров. Если это не utm-метки (на самом деле, я срезал редиректом только запросы определенного вида, а не все, где есть utm-метки).

Вот тут я внимательнее (с помощью CTRL+F) пригляделся к странице плагина. И нашел там в FAQ славный пункт “How should I best use the utm_source tracking tools in Google Analytics with this plugin?”. Понятно, что при первом беглом осмотре я его благополучно проигнорировал: вроде бы ничего общего с проблемой. При этом, кстати, он не то чтобы очень содержательный и не предлагает какой-то конкретный путь решения.

Единственный возможно полезный вывод в статье: если у вас сайт на WP с плагином WP Super Cache, то проверьте, что он делает (или не делает), если ему на вход подать запрос со параметрами «?utm_referrer=https:%2F%2Fzen.yandex.com» и т.п. Я не уверен, что при установке этого плагина все так уж внимательно читают его FAQ. Конкретная реализация, судя по всему, остаются за владельцами сайта: когда я в последний раз смотрел на обновление этого плагина, никаких изменений по поводу его странной реакции на utm-метки я не увидел.

Но история была бы неполной (и я не стал бы ее рассказывать), если бы не случилось очередного подтверждения закона Мерфи. Пока мы мирно переписывались со владельцем сайта и наблюдали, как сайт спокойно работает около часа … сайт упал. Неожиданно и окончательно. Нет доступа к панели управления сервером, не работает FTP, SSH и все прочее. Ничего не работает. Если до этого мое давление было лишь слегка поднято решением задачи, которую подкинули Я.Дзен и плагин кэширования (ведь это отдельное удовольствие — быстро понять и починить что-то в условиях легкой нервотрепки), то тут со мной приключилась целая мини-паническая атака.

И только смутное ощущение того, что парой строчек в .htaccess невозможно убить всё через час после внесения этих строчек, не дало перерасти «мини» в нечто более полноценное. В общем, после пары минут обмена удивленными сообщениями мы полезли в личный кабинет хостинг-провайдера у которого живет сервер. И там в тикетах мы нашли предупреждение о «технических работах с X по Y по МСК». Самое интересное, что на почте, как ни искали, никаких сообщений от хостера об этих работах мы так и не нашли. Тикет при этом был, минимум, суточной давности. До этого подобные сообщения приходили на почту, а в тикеты службы поддержки (да и в сам кабинет хостера) никто без особой надобности обычно вообще не смотрит. Поэтому произошедшее стало большой неожиданностью. После чего мы поругали за глаза хостера, посмеялись, подождали пока все не заработает и пошли спать.

Вот такая история.

два плагина для вывода виджетов на сайты wordpress

Привет, друзья! Одним из положительных факторов, влияющих на раскрутку канала на Дзен, является наличие внешних ссылок. Часто, внешние ссылки – это источник активного трафика. Если у вас есть собственный сайт и канал на Яндекс.Дзен одной тематики, для раскрутки второй площадки часть трафика с сайта можно перенаправлять на канал.

Реализовывается это с помощью специальных плагинов. Обратите внимание, что речь идет о плагинах для сайтов, сделанных на движке wordpress.

Плагин №1. Виджет для Яндекс.Дзен позволяет вывести в сайдбаре блога виджет с карточками записей на канале Яндекс.Дзен.

Плагин №2. Yandex.Zen PostGrid работает за счет размещения специального шорткода в любом месте сайта и выводит последние записи с вашего канала на Дзен.

Эти модули легко найти в базе wordpress: для этого в строке поиска плагинов введите запрос «Widget for Yandex Zen». Выдача будет выглядеть следующим образом:

Содержание:

Виджет для Яндекс.Дзен

После установки и активации плагина необходимо перейти в его настройки.

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

Ссылка для копирования находится здесь:

 

Следующая опция Отображение логотипа отвечает за его отображение на карточке статьи. Логотип можно показывать всегда, вообще не показывать или только на первой карточке.

И последняя настройка – это выбор стиля логотипа.

В разделе Внешний вид на сайте в списке доступных виджетов появится Виджет для Яндекс.Дзен.

Все, что останется сделать, это с помощью мышки перетянуть его в боковую колонку сайта (в сайдбар).

Из настроек – придумайте заголовок и укажите, какое количество новостей (карточек) должно отображаться в активном виджете.

В результате в сайдбаре сайта появится новый раздел.

Клик по любой из карточек открывает публикацию на Дзен.

Yandex.Zen PostGrid

Этот плагин также требует установки и активации на сайте wordpress. Следующий этап – его настройки.

Я рекомендую активировать опцию Включить кэширование. По желанию можно включить иконку Zen. Галочка напротив опции Автовставка после контента поста позволит выводить карточки публикаций с Дзен после статей. Если карточки публикаций необходимо транслировать в другом месте на сайте, не активируйте последнюю опцию.

В раздел Сгенерировать шорткод нужно добавить адрес вашего канала с Яндекс.Дзен. Копировать адрес полностью не нужно, достаточно его id  или названия.

Где найти адрес канала, я рассказывала немного выше.

Далее укажите, сколько записей нужно выводить, и количество колонок.

После всех настроек для генерации шорткода кликните по кнопке Сохранить и получить шорт код.

Теперь скопируйте его и разместите в любом месте на вашем сайте.

Я это сделаю с помощью плагина Ad Inserter. Подробнее о настройках плагина вы можете прочитать в статье Как добавить сайт в гугл адсенсе.

Обратите внимание, что количество колонок и записей нужно регулировать под шаблон блога. После небольшого тестирования оптимальным показателем для моего сайта оказались следующие значения: 4 записи, 6 колонок.

Но в статье виджет выводится таким образом.

Клик по любой из карточек открывает публикацию на Яндекс.Дзен.

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

Заключение

Итак, для вывода последних публикаций на сайт с канала Яндекс.Дзен используются специальные виджеты через установку плагинов. На сегодняшний день мне известно два плагина, обеспечивающих этот функционал.

Если карточки публикаций должны выводиться в сайдбаре – установите плагин Виджет для Яндекс. Дзен. Хотите размещать анонсы в статье или под статьями – вам понадобится плагин Yandex.Zen PostGrid.

Преимущества виджетов:

  • Связка сайта и канала на Дзен;
  • Перенаправление части активного трафика с сайта на канал;
  • Повышение активности на канале и, как следствие, рост подписчиков, охвата и дочитываний публикаций;
  • Дополнительный способ привлечения новой аудитории.

Автор статьи Ольга Абрамова, блог Денежные ручейки

Плагин Yandex.Zen PostGrid для WordPress

App Details

Плагин позволяет отображать последнюю запись с вашего канала ZEN.

[zengrid id=»» count=»» col=»»]

Чтобы установить шорткод, перейдите на страницу «Настройки/Яндекс.Дзен PostGrid» в консоли администратора.

Цена

Начиная с $0 в месяц.

Плагин Ultimate Comparison Tables

By Common Ninja

Попробуйте бесплатно!

Информация о приложении

Rating

Reviewers

3 reviews

Tags

яндекс дзенwidgetyandexyandex zenzen

Developed By Vladimir Popov

Common Ninja plugins

Some of the best Common Ninja plugins for WordPress

Browse our extensive collection of WordPress compatible plugins и легко встраивайте их в любой веб-сайт, блог, платформу электронной коммерции или конструктор сайтов.

Быстро и просто

Легко найти лучшие плагины WordPress для вас

Лучшие плагины и виджеты для WordPress уже не за горами! Исследуйте каталог Common Ninja и найдите лучшие ускорители сайтов WordPress — плагины, расширения, виджеты и многое другое! Какие инструменты продвижения сайта нужны дизайнерам? Просмотрите весь наш каталог виджетов и плагинов сегодня, чтобы узнать!

Testimonial

Testimonial плагины для WordPress

Галереи

Галереи плагины для WordPress

SEO

SEO плагины для WordPress

Contact Form

Contact Form plugins for WordPress

Forms

Forms plugins for WordPress

Social Feeds

Social Feeds plugins for WordPress

Social Sharing

Social Sharing plugins for WordPress

Events Calendar

Events Calendar плагины для WordPress

Sliders

плагины Sliders для WordPress

Analytics

плагины Analytics для WordPress

Reviews

Reviews plugins for WordPress

Comments

Comments plugins for WordPress

Portfolio

Portfolio plugins for WordPress

Maps

Maps plugins for WordPress

Security

Security plugins for WordPress

Translation

Translation плагины для WordPress

Ads

плагины Ads для WordPress

Video Player

плагины Video Player для WordPress

Music Player

Music Player plugins for WordPress

Backup

Backup plugins for WordPress

Privacy

Privacy plugins for WordPress

Optimize

Optimize plugins for WordPress

Chat

Chat plugins for WordPress

Countdown

Плагины обратного отсчета для WordPress

Email-маркетинг

Плагины Email-маркетинга для WordPress

Tabs

Плагины Tabs для WordPress

Членство

Плагины членства для WordPress

Popup

Popup Plugins для WordPress

SiteMap

Sitemap Plugar

Плагины электронной коммерции для WordPress

Служба поддержки клиентов

Плагины службы поддержки для WordPress

Инвентарь

Плагины инвентаризации для WordPress

Видеаплеер

Плагины видеоплееры для WordPress

Spestimonials

Плагины для WordPress

Social Social Social Socials

плагины для WordPress

Social Share Share Share ShareS 9007

.

Плагины социальных каналов для WordPress

Slider

Плагины Slider для WordPress

Обзоры

Плагины обзоров для WordPress

Portfolio

Portfolio plugins for WordPress

Membership

Membership plugins for WordPress

Forms

Forms plugins for WordPress

Events Calendar

Events Calendar plugins for WordPress

Contact

Contact plugins for WordPress

Comments

Плагины комментариев для WordPress

Аналитика

Аналитические плагины для WordPress

Откройте для себя плагины и приложения для других платформ

Найдите больше приложений для вашей платформы

Другие плагины

Найдите еще


Классные плагины

Виджет для Zen — WP Hive

Хотите написать отзыв?

Вы автор этого плагина? Хотите написать более подробный отзыв?

Отправить отзыв

Хорошо, блестяще!

Плагин показал отличные результаты в наших тестах. Все выглядит хорошо!

Тесты, выполненные тестовым скриптом WP Hive Результаты

  • Минимальное влияние на использование памяти Использование памяти этим плагином меньше, чем среднее использование памяти другими плагинами на WordPress.org + 200 КБ. Проверьте часто задаваемые вопросы для получения дополнительной информации.

  • Минимальное влияние на скорость страницы Влияние этого плагина на PageSpeed ​​меньше, чем среднее влияние других плагинов на WordPress.org + 1000 миллисекунд

  • Нет ошибок PHP, предупреждений, уведомлений Автоматический тест WP Hive не обнаружил ошибок PHP при активации этого плагина на нашем сервере

    .
  • Нет проблем с Javascript Автоматический тест WP Hive не обнаружил ошибок JavaScrip при активации этого плагина на нашем сервере

    .
  • Последняя версия PHP 7.4.8, совместимая Последняя версия плагина совместима с последней версией PHP

    .
  • Последняя версия WordPress 6. 0.2, совместимая Последняя версия плагина совместима с последней версией PHP

    .
  • Оптимизированный размер базы данных Плагин создает менее 50 таблиц базы данных

  • Нет ошибок активации Автоматический тест WP Hive не обнаружил ошибки активации при активации этого плагина на нашем сервере

    .
  • Нет ошибок ресурсов Автоматический тест WP Hive не обнаружил ошибок ресурсов при попытке этого плагина на нашем сервере

    .
  • Часто обновляется Плагин обновлялся как минимум один раз за последние 90 дней

  • Во время тестирования проблем не обнаружено.
  • Скачать плагин Сайт плагина

    О виджете для Zen

    Производительность

    Скорость страницы

    • Среднее время загрузки страницы увеличилось на 0,03 с
    • Это быстрее, чем 99% плагинов

    Эталон теста скорости Узнайте больше о том, как мы собираем данные

    • Перед активацией плагина
    • После активации плагина

    Страниц
    Контрольный показатель
    Изменение

    Среднее изменение

    — 0,03 с

    /(главная страница)

    — 0,06 с

    /wp-admin/edit-comments. php

    p/admin-w/admin-w/

    — 0,01 с 9 tags.php?taxonomy=category

    — 0,02 с

    /wp-admin/edit.php

    + 0,01 с

    /wp-admin/index.php

    — 0,09 с

    /mediaw -new.php

    — 0,18 с

    /wp-admin/options-discussion.php

    + 0,02 с

    /wp-admin/options-writing.php

    — 0,02 с

    /wp-admin/post-new.php

    + 0,14 с

    /wp-admin/post-new.php?post_type=page

    + 0,15 с

    /wp-admin/upload.php

    — 0,29 с

    Больше Меньше

    Тест использования памяти Узнайте больше о том, как мы собираем данные

    • Перед активацией плагина
    • После активации плагина

    Страниц
    Контрольный показатель
    Изменение

    Среднее изменение

    + 25,51 КБ

    / (главная страница)

    — 4,58 КБ

    /wp-admin/edit-comments.php

    9004-w/wp/admin/wp/wp/wp-w/wp-wp/wp-wp/wp-wp/wp-wp/wp-wp/wp-wp/wp-wp/wp-wp/wp-wp/wp-wp-wp/wp-admin tags. php?taxonomy=category

    + 2,59 КБ

    /wp-admin/edit.php

    + 2,6 КБ

    /wp-admin/index.php

    + 2,6 КБ

    /wp-admin/media/media -new.php

    + 2,48 КБ

    /wp-admin/options-discussion.php

    + 10,51 КБ

    /wp-admin/options-writing.php

    + 7,94 КБ

    /wp-admin/post-new.php

    + 3,54 КБ

    /wp-admin/post-new.php ? POST_TYPE = Page

    + 2,49KB

    /WP-ADMIN/UPLOAD.PHP

    + 2,46KB

    Подробнее Меньше

    Пользовательский рейтинг Widget For Zen Hive Users 9033

    40404040320 9000 40320 9000 40330.

    Статистика

    Подробнее

    Таблицы базы данных

    Плагин добавил 0 дополнительных опций в ваш WordPress.

    WP-Options

    Плагин добавил 1 дополнительную опцию на ваш сайт WordPress.

    • widget_zen_widget

    Покажите свой плагин

    PHP 7.4.8

    Работает на WP Hive

    WP 6.0.2

    Работает на 1 WP 0 Hive 906 0 WP 0 Hive 906

    PHP 7.