Если сайт не использует аватары из Gravatar, WordPress всё равно может тянуть внешние запросы к ssl.gravatar.com в комментариях, профиле автора и некоторых блоках темы. На небольшом сайте это часто незаметно, но на проектах с упором на скорость, приватность и минимизацию внешних зависимостей такие запросы лучше убрать.
Задача здесь не в том, чтобы «сломать аватарки», а в том, чтобы перевести сайт на локальные аватары или стандартную заглушку и перестать дергать внешний сервис на каждом просмотре страницы.
Когда Gravatar действительно мешает
Отключать его имеет смысл, если:
- на сайте нет комментариев или они используются редко;
- аватары авторов не критичны для интерфейса;
- вам важна приватность и вы не хотите отправлять хэши email-адресов на сторонний сервис;
- в отчётах по производительности видны внешние запросы к Gravatar;
- страницы комментариев или карточки автора грузятся медленнее из-за сетевых обращений.
Если же на сайте активное сообщество и аватары — часть UX, лучше не отключать сервис полностью, а ограничиться кешированием и оптимизацией темы. Но для большинства корпоративных и контентных сайтов отключение Gravatar — нормальная техническая чистка.
Диагностика: откуда идут запросы к Gravatar
Сначала проверьте, действительно ли сайт обращается к внешнему сервису. Самый простой способ — открыть страницу с комментариями или блоком автора и посмотреть вкладку Network в браузере. Ищите запросы к доменам gravatar.com и secure.gravatar.com.
В WordPress запросы могут появляться из нескольких мест:
- шаблон комментариев через
get_avatar(); - виджеты и блоки автора;
- плагины, которые выводят отзывы, комментарии или карточки пользователей;
- сама тема, если она использует аватар в шапке комментариев или профиле автора.
Если вы не уверены, откройте исходный код страницы и найдите gravatar. Иногда запрос виден не в HTML, а только в сетевых обращениях после загрузки страницы.
Что проверить до правки кода
- Есть ли на сайте комментарии и нужны ли они вообще.
- Использует ли тема локальную заглушку для аватаров.
- Нет ли плагина, который отдельно подгружает Gravatar.
- Не завязан ли на аватарку какой-то блок в шаблоне автора.
Пошаговое решение: отключаем Gravatar штатно
Самый безопасный способ — отключить аватары в настройках WordPress. Это убирает использование Gravatar в стандартных местах, но не всегда останавливает сторонние темы и плагины, если они вызывают сервис напрямую.
Шаг 1. Отключите аватары в админке
Перейдите в Настройки → Обсуждение и снимите галочку с пункта Показывать аватары. После сохранения WordPress перестанет выводить стандартные аватары в комментариях и профилях, где используется системная логика.
Это самый простой вариант, но он не всегда достаточен. Если тема или плагин вызывают get_avatar() напрямую, часть запросов может остаться.
Шаг 2. Подмените аватар на локальную заглушку через фильтр
Если нужно оставить визуальный блок аватара, но убрать внешние обращения, используйте фильтр get_avatar. Он позволяет подменить HTML аватара на локальную картинку или нейтральную заглушку.
add_filter('get_avatar', function ($avatar, $id_or_email, $size, $default, $alt) {
$size = (int) $size;
$src = get_stylesheet_directory_uri() . '/assets/img/avatar-placeholder.png';
return sprintf(
'<img alt="%s" src="%s" class="avatar avatar-%d photo" height="%d" width="%d" loading="lazy" decoding="async" />',
esc_attr($alt ?: 'Avatar'),
esc_url($src),
$size,
$size,
$size
);
}, 10, 5);Этот вариант подходит, если вам важно сохранить верстку без внешних запросов. Картинку avatar-placeholder.png нужно добавить в дочернюю тему или в собственный мини-плагин.
Шаг 3. Если аватары не нужны вообще, отключите их через код
Когда на сайте нет комментариев или они не используют аватары как часть интерфейса, можно принудительно отключить Gravatar и вернуть стандартную заглушку WordPress.
add_filter('pre_option_show_avatars', '__return_zero');Это короткое решение, но его лучше применять осознанно: оно влияет на весь сайт. Если позже вы включите комментарии или подключите плагин с отзывами, аватары всё равно останутся выключенными.
Если тема или плагин всё равно тянут Gravatar
Иногда отключение в настройках не помогает, потому что внешний запрос формируется не через стандартные настройки WordPress, а напрямую в коде темы или плагина. Тогда нужно искать конкретный вызов get_avatar() или прямую ссылку на Gravatar в шаблонах.
Типичный сценарий — в файле комментариев или карточке автора используется что-то вроде:
<?php echo get_avatar( get_the_author_meta( 'user_email' ), 64 ); ?>Если вы контролируете тему, замените этот вызов на локальный аватар или на вывод без картинки. Если тема сторонняя и обновляется отдельно, лучше не править её напрямую — используйте дочернюю тему или фильтр, если он доступен.
Пример: убрать аватар только в комментариях
Иногда нужно оставить аватар в профиле автора, но убрать его в комментариях, где внешний запрос особенно заметен. В этом случае можно подменить вывод только для comment loop:
add_filter('get_avatar', function ($avatar, $id_or_email, $size, $default, $alt) {
if (is_admin()) {
return $avatar;
}
if (doing_filter('comment_text') || doing_filter('comment_author')) {
return '';
}
return $avatar;
}, 10, 5);Такой подход не универсален и зависит от темы. Перед внедрением проверьте, где именно вызывается фильтр, иначе можно случайно убрать аватар и там, где он нужен.
Сравнение подходов: настройка, код, плагин
| Способ | Что делает | Плюсы | Минусы |
|---|---|---|---|
| Настройки WordPress | Выключает показ аватаров в админке | Быстро, без кода | Не всегда убирает запросы из темы и плагинов |
Фильтр get_avatar | Подменяет внешний аватар локальным | Гибко, можно сохранить дизайн | Нужно тестировать в теме и комментариях |
| Мини-плагин или MU-plugin | Централизует логику отключения | Не зависит от темы | Нужно поддерживать код отдельно |
Если у вас несколько сайтов или часто меняется тема, удобнее вынести решение в маленький mu-plugin. Тогда отключение Gravatar не потеряется после обновления темы.
Как оформить это как мини-плагин
Для стабильности лучше не держать такой код в functions.php, если тема может меняться. Создайте файл, например wp-content/mu-plugins/disable-gravatar.php, и положите туда простую логику.
<?php
/**
* Plugin Name: Disable Gravatar
*/
add_filter('pre_option_show_avatars', '__return_zero');MU-plugin загружается автоматически и не требует активации в админке. Это удобно для технических правок, которые должны работать всегда.
Проверка результата после внедрения
После изменений не ограничивайтесь визуальной проверкой. Нужно убедиться, что внешние запросы реально исчезли.
- Откройте страницу с комментариями в режиме инкогнито.
- Проверьте вкладку Network и отфильтруйте запросы по
gravatar. - Посмотрите исходный HTML: нет ли ссылок на
gravatar.com. - Проверьте страницу автора и карточки пользователей, если они есть в теме.
- Сравните Lighthouse или WebPageTest до и после, если сайт чувствителен к внешним ресурсам.
Если запросы остались, значит источник не в стандартном аватаре WordPress. Тогда ищите прямой вызов в теме или плагине, а не в настройках.
Частые ошибки и как их исправить
Отключили аватары, но запросы остались
Это почти всегда означает, что тема или плагин вызывает Gravatar напрямую. Проверьте шаблоны комментариев, блок автора и плагины с отзывами. Иногда проблема сидит в кастомном виджете, который неочевиден в админке.
Сломалась верстка комментариев
Если вы полностью убрали HTML аватара, а тема ожидала фиксированный блок слева, может поехать отступ или выравнивание. В таком случае лучше не удалять аватар, а подменить его локальной заглушкой того же размера.
Появились дубли стилей или пустые контейнеры
Некоторые темы выводят контейнер аватара даже при пустом изображении. Тогда нужно править шаблон или CSS, а не только фильтр. Иначе на странице останется пустой круг или лишний отступ.
Использовали правку в родительской теме
После обновления изменения пропадут. Для таких задач либо дочерняя тема, либо mu-plugin — нормальная практика. Это особенно важно, если вы отключаете Gravatar не на одном сайте, а на нескольких проектах.
Безопасность и производительность: что учесть
Отключение Gravatar — это не только про скорость. Вы уменьшаете число внешних обращений и не передаёте хэш email-адреса стороннему сервису без необходимости. Для сайтов с повышенными требованиями к приватности это разумная мера.
Если вам всё же нужны аватары, но вы хотите минимизировать нагрузку, используйте локальные изображения и не тяните их с удалённого домена. В этом сценарии полезно хранить заглушку в теме или в отдельном плагине и отдавать её с вашего сервера.
Для сайтов, где важна общая чистка фронтенда, можно сочетать отключение Gravatar с другими точечными оптимизациями. Например, в Clearfy Pro есть инструменты для удаления лишних элементов и технической чистки сайта: https://wpshop.ru/plugins/clearfy?utm_source=wpplugin.ru&utm_medium=article&utm_campaign=kak-otklyuchit-gravatar-v-wordpress-i-ubrat-lishnie-zaprosy-k-ssl-gravatar-com.
Если после отключения Gravatar сайт всё равно делает много внешних запросов, проверьте не только аватары, но и шрифты, видео, карты и сторонние счетчики. Обычно проблема не в одном ресурсе, а в наборе мелких зависимостей, которые суммарно дают лишнюю задержку.