Сокращатель URL для WordPress превращает длинные постоянные ссылки, генерируемые вашей CMS, в короткие, брендированные, отслеживаемые ссылки для расшаривания за пределами сайта. WordPress отлично публикует. Он не создан, чтобы сказать вам, сколько людей кликнули по ссылке, которую вы бросили в рассылку, твит или печатный флаер. Именно этот пробел и закрывает сокращатель.
Вот краткая версия перед деталями. Вы сокращаете и отслеживаете ссылки из WordPress по четырём причинам: брендированные социальные шеры, соответствующие вашему сайту, а не общему домену; отслеживаемые исходящие и партнёрские ссылки, чтобы знать, что реально получает клики; QR-коды для печати и упаковки, указывающие на ссылку, которую можно изменить позже; и аналитика кликов, которую ваша CMS просто не даёт. WordPress знает, что пост опубликован. Он не знает, что ссылка внутри него получила 4000 кликов из Германии в понедельник.
Есть четыре способа это настроить, и они обменивают усилия на контроль. Плагин - наименьшая работа, если совместимый существует. REST API Elido - наиболее гибкий и путь, к которому большинство команд приходит в итоге. Zapier - посередине как no-code мост. И всегда можно вставлять ссылки вручную. Остальная часть поста описывает каждый вариант, затем охватывает то, что люди делают неправильно: разница между красивыми постоянными ссылками и короткими ссылками, замена хрупких плагинов редиректа и где редирект должен происходить, чтобы никогда не замедлять сайт.
Что на самом деле делает сокращатель URL для WordPress#
Уберите маркетинг - сокращатель делает две вещи. Он отображает короткий слаг на длинное назначение и считает каждое прохождение по этому слагу. WordPress не делает ни того, ни другого для ссылок, которые вы расшариваете в других местах.
У ваших постов уже есть URL. WordPress создаёт постоянную ссылку для каждого, обычно читаемый слаг на вашем собственном домене. Эта постоянная ссылка - для людей, читающих ваш сайт. Она не компактна, не брендирована для расшаривания на платформе с ограниченным количеством символов, и WordPress не ведёт записей о том, кто кликнул по ней, как только она уходит со страницы. Короткая ссылка - отдельный объект: компактный URL на redirect-домене, опционально вашем брендированном домене, который перенаправляет на назначение и логирует клик.
Различие важно, потому что их легко спутать. Красивая постоянная ссылка и короткая ссылка похожи и обе ведут куда-то. Только одна из них создана для расшаривания и измерения. Вернёмся к этому.
Путь первый: плагин WordPress#
Путь через плагин - тот, который большинство ищет первым, и не зря. Плагин устанавливается из директории плагинов WordPress, подключается с API-токеном, и короткие ссылки начинают появляться без единой строки PHP.
Хочу честно рассказать о текущем состоянии, потому что доступность плагинов меняется, и лучше вы понимали форму пути, чем доверяли устаревшему скриншоту настроек. Общий паттерн любого плагина сокращателя одинаков: устанавливаете, вставляете скоупированный на рабочее пространство API-токен из вашего инструмента для ссылок, и плагин вызывает API сокращателя от вашего имени при публикации или при нажатии кнопки в редакторе. Некоторые плагины автоматически создают короткую ссылку при публикации и записывают её в кастомное поле. Другие добавляют мета-блок, где вы генерируете её по запросу. Хорошие позволяют выбрать брендированный домен и добавить теги, чтобы ссылка попала в правильное место в аналитике.
Если поддерживаемый плагин Elido для WordPress есть в списке, установите его из дашборда и подключите с токеном из /settings/api. Если вы не можете подтвердить текущий, поддерживаемый плагин для вашего сокращателя - не форсируйте это. Полузаброшенный плагин, ломающийся на следующем обновлении WordPress, хуже пути через API, который вы контролируете. Когда плагин подходит - это вариант с наименьшими усилиями. Когда нет - переходите к API.
Один момент перед тем как доверять любому плагину: проверьте, где происходит редирект. Плагин, который только регистрирует ссылку во внешнем сокращателе - нормально. Плагин, который также устанавливает локальный обработчик редиректа, резолвящий ссылки через ваш собственный WordPress-сервер - медленный паттерн, о котором речь ниже. Вы хотите, чтобы ссылка создавалась в WordPress и резолвилась на edge, а не через PHP.
Путь второй: REST API Elido#
Это путь с наибольшим количеством движущихся частей и наибольшим контролем, и к нему обращаются команды, которым нужно надёжно создавать короткие ссылки автоматически при каждой публикации.
WordPress запускает action при изменении статуса поста. Нужный - transition_post_status, который срабатывает всякий раз, когда пост переходит между состояниями, включая переход в publish. Вы вешаете на него обработчик, вызываете API Elido для создания ссылки на постоянную ссылку поста и сохраняете возвращённый короткий URL в мета-поле поста, чтобы отобразить его в шаблоне, редакторе или виджете расшаривания. Руководство по плагинам WordPress документирует систему хуков, а справочник REST API WordPress описывает мета-эндпоинты, если хотите отобразить короткую ссылку в блочном редакторе.
Сторона Elido - три строки. Вот обработчик публикации на PHP, который создаёт брендированную короткую ссылку при первой публикации поста и пропускает последующие правки:
add_action( 'transition_post_status', 'elido_shorten_on_publish', 10, 3 );
function elido_shorten_on_publish( $new_status, $old_status, $post ) {
if ( $new_status !== 'publish' || $old_status === 'publish' ) {
return; // только при первой публикации, не при каждой правке
}
if ( get_post_meta( $post->ID, '_elido_short_url', true ) ) {
return; // уже есть
}
$res = wp_remote_post( 'https://api.elido.app/v1/links', array(
'headers' => array(
'Authorization' => 'Bearer ' . ELIDO_TOKEN,
'Content-Type' => 'application/json',
'Idempotency-Key' => 'wp-post-' . $post->ID,
),
'body' => wp_json_encode( array(
'destination_url' => get_permalink( $post ),
'tags' => array( 'wordpress', 'auto-publish' ),
) ),
) );
if ( is_wp_error( $res ) ) {
return; // логировать и продолжить; публикация никогда не должна проваливаться из-за этого
}
$link = json_decode( wp_remote_retrieve_body( $res ), true );
if ( ! empty( $link['short_url'] ) ) {
update_post_meta( $post->ID, '_elido_short_url', $link['short_url'] );
}
}
Два момента в нём заслуживают внимания. Idempotency-Key выведен из ID поста, поэтому если хук публикации срабатывает дважды (а это случается), вы получаете ту же ссылку обратно, а не дубликат. И обработчик поглощает собственные ошибки. Создание короткой ссылки никогда не должно блокировать публикацию; если вызов API упал - пост всё равно выходит, а ссылку создаёте позже. Быстрый старт на API и SDK подробнее описывает модель идемпотентности и обработку ошибок на пяти языках, а страница функций API и SDK перечисляет все эндпоинты.
Если хотите, чтобы ссылка находилась на вашем домене, а не на общем хосте сокращателя, передайте domain_id и сначала настройте домен. Руководство по кастомным доменам описывает DNS-запись и автоматический TLS, а функция кастомных доменов объясняет, почему брендированная ссылка на вашем хосте превосходит общую по доверию и CTR.
Путь третий: Zapier как no-code мост#
Между плагином и кодовым обработчиком - Zapier. Это правильный ответ, когда нужна автоматизация, не хочется писать PHP и нельзя найти надёжный плагин.
Подключение - двухшаговый Zap. Триггер - «Новый опубликованный пост в WordPress». Действие - «Создать ссылку в Elido». Вы сопоставляете постоянную ссылку поста с полем назначения, опционально передаёте заголовок поста как тег и включаете. С этого момента каждый опубликованный пост чеканит короткую ссылку без участия кого-либо. Можно добавить третий шаг для записи короткого URL в Google Sheet, публикации в Slack или отправки в планировщик соцсетей.
Zapier берёт плату за задачу и добавляет несколько секунд задержки, и вы не получаете тонкий контроль, который даёт API над идемпотентностью и обработкой ошибок. Взамен - рабочая интеграция за десять минут без деплоя. Для большинства издательских команд это правильный компромисс до тех пор, пока объём или точность не подтолкнут их к API. Подробный разбор автоматизации через Zapier описывает многошаговые Zap.
Путь четвёртый: вручную#
Не пренебрегайте ручным путём. Если вы публикуете несколько постов в неделю и расшариваете каждый осознанно, создавать короткую ссылку вручную в дашборде Elido и вставлять её в пост или социальный инструмент - совершенно разумно. Вы получаете брендированные ссылки и полное отслеживание кликов без интеграции для обслуживания.
Ручной путь перестаёт масштабироваться, когда публикуете часто, когда несколько человек расшаривают одни и те же ссылки и нужна согласованность, или когда хотите ссылку в теле поста до нажатия «Опубликовать». Это момент для автоматизации. До тех пор дашборд плюс копипаст - рабочая схема, а не временный костыль.
Красивые постоянные ссылки - не короткие ссылки#
Это постоянно запутывает людей, поэтому говорю прямо. Постоянные ссылки WordPress и короткие ссылки решают разные задачи, и обычно нужны обе.
Красивая постоянная ссылка - это человекочитаемый URL поста на вашем домене. Она помогает читателям и поисковым системам понять страницу. Она не компактна, не предназначена для расшаривания на платформе с ограничением символов, и WordPress не отслеживает по ней клики, как только ссылка покидает ваш сайт. У WordPress также есть старая форма ?p=123 и хук wp_shortlink, но это просто псевдоним на вашем домене. Не брендирован и не отслеживается.
Короткая ссылка - намеренный, расшариваемый, измеримый объект. Живёт на redirect-домене, может нести ваш бренд, может добавлять UTM-параметры во время редиректа, может истекать и логирует каждый клик в аналитику, которую можно реально запросить. Когда расшариваете пост в рассылке или соцсетях, нужна короткая ссылка, а не raw-постоянная, потому что только короткая ссылка говорит вам, что произошло после клика. Пост о брендированных коротких ссылках описывает настройку бренд-домена, а сокращатели URL для паблишеров углублённо рассматривает именно рабочий процесс публикации.
Замена хрупких плагинов редиректа WordPress#
Многие WordPress-сайты накапливают плагины редиректа. Одни - для легитимной SEO-гигиены, исправляя 301 после изменения постоянной ссылки. Другие постепенно начинают делать то, в чём плохи: управлять исходящими и партнёрскими ссылками, которые вы расшариваете и хотите отслеживать.
Второй сценарий - их слабое место. Плагин редиректа, резолвящий «красивую» исходящую ссылку, выполняет редирект через PHP и вашу базу данных при каждом клике. При любом реальном трафике это добавляет нагрузку на хост, обслуживающий ваш контент, а данные кликов, если они вообще есть, скудны. Паттерн выглядит аккуратно в дашборде и плохо ведёт себя под нагрузкой.
Чистое разделение: оставьте плагины редиректа для внутренних 301 ваших собственных URL, где им и место, и перенесите расшариваемые исходящие и партнёрские ссылки в сокращатель, резолвящий за пределами сайта и отслеживающий корректно. Вы перестаёте платить PHP-налог на редиректы за ссылки, обслуживание которых никогда не было задачей вашего сайта, и получаете реальную аналитику по тем, что важны.
Выполняйте редирект на edge, а не в PHP#
Это точка производительности, определяющая, поможет ли сокращатель или навредит, и причина, по которой архитектура важнее плагина.
Когда короткая ссылка резолвится через WordPress, клик попадает в ваш PHP-стек и базу данных, прежде чем кто-то достигнет назначения. При небольшом потоке - нормально, при нагрузке - болезненно, и это связывает скорость ваших расшариваемых ссылок с нагрузкой на ваш контент-сайт. Когда короткая ссылка резолвится на edge, клик вообще не касается WordPress. Он попадает в redirect-PoP рядом с пользователем, отвечается из кэша и перенаправляется.
Elido резолвит редиректы на мульти-регионных edge-точках присутствия с p95 менее 15ms при попадании в кэш. Ваш WordPress-хост не находится в этом пути. Неважно, создали ли вы ссылку через плагин, API, Zapier или вручную - сам клик обслуживается за пределами сайта, поэтому вирусный пост не тащит за собой вашу CMS. Пост о p95 редиректа менее 15ms объясняет, как удерживается этот бюджет задержки, а страница функций аналитики описывает, что логируется при каждом таком клике.
Весь аргумент за резолвинг за пределами сайта в одной фразе: ссылка, по которой кликают ваши читатели, никогда не должна делить сервер со страницей, которую вы хотите, чтобы они прочитали.
Выбор пути#
Если нужна наименьшая работа и для вашего сокращателя существует поддерживаемый плагин - используйте его. Если нужна автоматизация без кода - используйте Zapier. Если нужен полный контроль и надёжное создание ссылок при каждой публикации - используйте API и хук transition_post_status. Если публикуете редко и расшариваете осознанно - делайте вручную. Большинство команд начинает вручную или через Zapier и переходят к API, когда короткие ссылки становятся частью того, как выходит каждый пост.
Какой бы путь вы ни выбрали, сделайте два момента правильно: создайте ссылку с вашим брендированным доменом, чтобы она соответствовала сайту, с которого пришла, и убедитесь, что редирект резолвится на edge, а не через ваш PHP WordPress. Брендированные ссылки хочет маркетинговая сторона, edge-резолвинг хочет инженерная, и они не в противоречии. Можно иметь и то, и другое. Смотрите страницу решений для маркетологов для стороны кампанийного отслеживания и страницу тарифов для того, что включает каждый уровень.