Як згенерувати коротке посилання у WordPress: повний технічний посібник
Короткі посилання WordPress — це скорочені URL-адреси, які перенаправляють на певну публікацію, сторінку або користувацький тип запису на вашому сайті. Вони мають формат https://yourdomain.com/?p=POST_ID і генеруються нативно WordPress за допомогою вбудованої системи перезапису постійних посилань — без використання зовнішніх сервісів.
Цей посібник пояснює кожен метод генерування, налаштування та відстеження коротких посилань WordPress, включаючи нативні робочі процеси редактора, команди WP-CLI, рішення на основі плагінів та поведінку перенаправлення на рівні сервера. Незалежно від того, чи працюєте ви в економному спільному середовищі, чи на повністю керованому VPS Хостингу, наведені нижче техніки застосовуються безпосередньо.
Що таке короткі посилання WordPress і як вони працюють
WordPress генерує коротке посилання для кожного фрагмента контенту в момент його збереження як чернетки або публікації. Коротке посилання формується з параметра рядка запиту ?p= після якого йде внутрішній ідентифікатор запису в базі даних. Цей ідентифікатор призначається послідовно таблицею wp_posts в MySQL або MariaDB і ніколи не змінюється, навіть якщо ви пізніше зміните ярлик або структуру постійного посилання запису.
Коли відвідувач переходить за коротким посиланням, завантажується завантажувач index.php WordPress, рушій перезапису аналізує рядок запиту, і запит внутрішньо перенаправляється на канонічне постійне посилання за допомогою HTTP-відповіді 301 Moved Permanently. Це означає, що короткі посилання є безпечними для SEO — пошукові системи слідують за 301 і приписують весь ваговий коефіцієнт посилань канонічній URL-адресі.
Ключові технічні факти:
- Короткі посилання вирішуються повністю на рівні застосунку PHP/WordPress, а не на рівні веб-сервера.
- Параметр
?p=працює незалежно від налаштування структури постійних посилань. - Зміна ярлика запису не порушує його коротке посилання.
- Видалення та повторне створення запису призначає новий ідентифікатор, що робить старе коротке посилання недійсним.
Метод 1: Генерування короткого посилання в класичному редакторі
Класичний редактор надає спеціальну кнопку Отримати коротке посилання безпосередньо в мета-блоці публікації, розташованому над областю редактора записів.
Покрокова інструкція:
- Відкрийте або створіть запис у класичному редакторі.
- Збережіть запис як чернетку або опублікуйте його — коротке посилання не може бути згенероване для незбереженого контенту, оскільки ідентифікатор запису ще не існує.
- Натисніть Отримати коротке посилання в мета-блоці публікації. Модальне діалогове вікно відображає URL-адресу короткого посилання.
- Скопіюйте URL-адресу з поля діалогового вікна.
Якщо кнопка Отримати коротке посилання не відображається, її могло бути приховано через Параметри екрана. Натисніть вкладку Параметри екрана у верхньому правому куті екрана редактора та переконайтеся, що опція Ярлик або пов’язана з коротким посиланням опція позначена. Деякі теми та плагіни також видаляють цей елемент інтерфейсу за допомогою remove_action('admin_head', 'wp_shortlink_header') або фільтра pre_get_shortlink, щоб повернути порожній рядок.
Метод 2: Генерування короткого посилання в блоковому редакторі Gutenberg
Редактор Gutenberg видалив спеціальну кнопку короткого посилання з інтерфейсу за замовчуванням. Однак коротке посилання все ще існує і доступне через два підходи.
Підхід A — Ручне формування з ідентифікатора запису:
- Відкрийте запис у редакторі Gutenberg.
- Подивіться на адресний рядок браузера. URL-адреса міститиме
post=XXXX, деXXXX— це числовий ідентифікатор запису. - Сформуйте коротке посилання вручну:
https://yourdomain.com/?p=XXXXЗамініть XXXX на фактичний ідентифікатор запису.
Підхід B — Бічна панель налаштувань запису:
- Відкрийте запис у Gutenberg.
- На правій панелі налаштувань Запис розгорніть розділ Постійне посилання.
- Ідентифікатор запису видно в URL-адресі редактора. Деякі конфігурації також відображають коротке посилання на панелі Зведення, якщо активний сумісний плагін.
Підхід C — Відновлення кнопки короткого посилання за допомогою фрагмента коду:
Якщо ви хочете повернути кнопку короткого посилання в Gutenberg, додайте наступне до файлу functions.php вашої теми або плагіна для конкретного сайту:
add_filter( 'get_shortlink', function( $shortlink, $id, $context, $allow_slugs ) {
return home_url( '/?p=' . $id );
}, 10, 4 );Цей фільтр гарантує, що wp_get_shortlink() завжди повертає значення, що повторно вмикає відображення короткого посилання в сумісних компонентах інтерфейсу.
Метод 3: Генерування коротких посилань через WP-CLI
Для адміністраторів, які керують WordPress у командному рядку — особливо на VPS з cPanel або виділеному Виділеному сервері — WP-CLI надає прямий спосіб отримання коротких посилань без використання панелі керування.
Отримати коротке посилання для конкретного запису за ідентифікатором:
wp post get 42 --field=url --path=/var/www/htmlСписок усіх опублікованих записів з їхніми ідентифікаторами та короткими посиланнями:
wp post list --post_status=publish --fields=ID,post_title,post_name --format=tableПісля отримання ідентифікатора коротке посилання — це просто https://yourdomain.com/?p=ID. Ви також можете викликати функцію WordPress безпосередньо через WP-CLI eval:
wp eval 'echo wp_get_shortlink(42);'Це виводить рядок короткого посилання точно так, як WordPress його обслуговував би, з урахуванням будь-яких активних фільтрів.
Метод 4: Короткі посилання на основі плагінів з користувацькими ярликами та відстеженням
Нативні короткі посилання WordPress використовують формат ?p=ID, який є функціональним, але не запам’ятовується і не підходить для брендування. Плагіни значно розширюють цю можливість.
Pretty Links
Pretty Links — найбільш широко використовуваний плагін коротких посилань в екосистемі WordPress. Він зберігає користувацькі перенаправлення в окремій таблиці бази даних (wp_pretty_link та wp_pretty_link_clicks) і надає відстеження кліків, дані геолокації та впровадження параметрів UTM.
Робочий процес налаштування:
- Встановіть та активуйте Pretty Links з репозиторію плагінів WordPress.
- Перейдіть до Pretty Links > Додати нове посилання.
- Введіть цільову URL-адресу (канонічне постійне посилання вашого запису).
- Визначте користувацький ярлик, наприклад
go/my-post. - Виберіть тип перенаправлення:
301для постійного,302для тимчасового або307для тимчасового зі збереженням методу. - Збережіть. Коротке посилання стає
https://yourdomain.com/go/my-post.
Технічна примітка: Перезаписи Pretty Links обробляються на рівні застосунку WordPress через add_rewrite_rule(), а не на рівні Apache або Nginx. Це означає, що кожне звернення до короткого посилання спричиняє повне завантаження WordPress. На сайтах з великим трафіком це може додавати 50–200 мс затримки на кожне перенаправлення порівняно з RewriteRule на рівні сервера. Якщо продуктивність перенаправлення є критичною, розгляньте можливість перенесення посилань з великим обсягом трафіку на директиви Nginx map або спеціалізований мікросервіс перенаправлення.
ThirstyAffiliates
Для афілійованих маркетологів ThirstyAffiliates надає короткі посилання з маскуванням кліків, автоматичним зв’язуванням ключових слів та правилами перенаправлення на основі геолокації. Він зберігає посилання в користувацьких типах записів (thirstylink), а не в окремій таблиці, що робить його сумісним зі стандартними робочими процесами резервного копіювання та міграції WordPress.
Плагін Redirection
Плагін Redirection керує як короткими посиланнями, так і загальними перенаправленнями 301/302 з єдиного інтерфейсу. Він також фіксує помилки 404 та пропонує цілі перенаправлення, що є цінним під час міграції сайтів.
Порівняння: методи коротких посилань WordPress
| Метод | Користувацький ярлик | Відстеження кліків | Потребує плагін | Вплив на продуктивність | Найкращий випадок використання |
|---|
| — | — | — | — | — | — |
|---|
| Нативний `?p=ID` | Ні | Ні | Ні | Мінімальний | Швидке внутрішнє поширення |
|---|
| Кнопка класичного редактора | Ні | Ні | Ні | Мінімальний | Застарілий робочий процес |
|---|
| WP-CLI `wp eval` | Ні | Ні | Ні | Відсутній (CLI) | Масові операції, скриптування |
|---|
| Pretty Links | Так | Так | Так | Помірний (рівень PHP) | Брендовані посилання, маркетинг |
|---|
| ThirstyAffiliates | Так | Так (розширене) | Так | Помірний (рівень PHP) | Управління афілійованими посиланнями |
|---|
| Плагін Redirection | Так | Базове | Так | Помірний (рівень PHP) | Міграція сайтів, обробка 404 |
|---|
| Директива Nginx `map` | Так | Ні (зовнішній інструмент) | Ні | Майже нульовий | Розвантаження перенаправлень з великим трафіком |
|---|
Міркування щодо продуктивності коротких посилань на рівні сервера
На спільному хостингу кожне перенаправлення короткого посилання проходить через повний стек WordPress: ініціалізується PHP-FPM або mod_php, завантажується wp-config.php, відкривається з’єднання з базою даних і рушій перезапису вирішує запит. Для низького та помірного трафіку це цілком прийнятно.
На сайтах з великим трафіком або при роботі з тисячами відстежуваних коротких посилань навантаження на базу даних від журналювання кліків може стати вузьким місцем. Практичні заходи пом’якшення включають:
- Кешування об’єктів: Встановіть Redis або Memcached та налаштуйте
WP_CACHEуwp-config.php. Це кешує пошук цілі перенаправлення та значно зменшує кількість читань з бази даних. - Асинхронне журналювання кліків: Налаштуйте Pretty Links для асинхронного журналювання кліків за допомогою фонового процесу, а не блокування відповіді перенаправлення.
- Перенаправлення на рівні CDN: Якщо ви використовуєте Cloudflare, ви можете реалізувати масові правила перенаправлення на межі мережі, повністю обходячи WordPress для посилань з великим обсягом трафіку.
- Блоки map в Nginx: Для середовищ, що адмініструються на рівні сервера, визначте карти перенаправлень безпосередньо в конфігурації Nginx:
map $request_uri $redirect_target {
/go/my-post https://yourdomain.com/full-canonical-url/;
/go/another https://yourdomain.com/another-post/;
}
server {
if ($redirect_target) {
return 301 $redirect_target;
}
}Цей підхід обслуговує перенаправлення за мікросекунди без виклику PHP.
SSL, безпека та цілісність коротких посилань
Короткі посилання, що обслуговуються через HTTP і перенаправляють на цілі HTTPS, технічно функціональні, але піддають користувачів потенційному вікну пониження рівня безпеки. Завжди переконуйтеся, що на вашому сайті WordPress встановлено дійсний SSL-сертифікат, щоб короткі посилання обслуговувалися з https:// з самого початку. Коротке посилання зі змішаним протоколом (http://yourdomain.com/?p=42 з перенаправленням на https://yourdomain.com/post-slug/) додає додатковий перехід перенаправлення і може викликати попередження безпеки браузера в деяких конфігураціях.
Якщо ви запускаєте WordPress на інфраструктурі AlexHost, поєднання вашого сайту з належним чином виданим SSL-сертифікатом повністю усуває цю проблему та гарантує, що всі короткі посилання вирішуються через єдиний безпечний ланцюжок перенаправлення 301.
Крім того, кінцеві точки коротких посилань можуть бути використані у фішингових кампаніях, оскільки місце призначення приховане. Якщо ви використовуєте Pretty Links або подібний плагін, увімкніть опцію noindex на сторінках перенаправлення та розгляньте можливість додавання атрибута rel="nofollow" до зовнішньо поширюваних коротких посилань, щоб запобігти ненавмисним шляхам сканування.
Програмне отримання ідентифікатора запису
При створенні користувацьких інтеграцій — наприклад, динамічного генерування коротких посилань у відповіді REST API або шаблоні електронного листа — використовуйте нативну функцію WordPress:
$post_id = get_the_ID(); // Inside The Loop
$shortlink = wp_get_shortlink( $post_id );
echo esc_url( $shortlink );Поза циклом The Loop передайте ідентифікатор запису явно:
$shortlink = wp_get_shortlink( 42 );Функція wp_get_shortlink() застосовує фільтр get_shortlink, що означає, що будь-який активний плагін, який змінює поведінку коротких посилань, буде автоматично враховано. Це робить її правильною функцією для використання замість ручного об’єднання home_url('/?p=') з ідентифікатором.
Матриця рішень: вибір правильного підходу до коротких посилань
Використовуйте цю матрицю для вибору відповідного методу на основі ваших операційних вимог:
Використовуйте нативні короткі посилання ?p=ID коли:
- Вам потрібне швидке рішення без налаштування для внутрішнього поширення або тестування.
- Вас не турбують брендовані URL-адреси або аналітика кліків.
- Ви перебуваєте на плані Спільного веб-хостингу з обмеженими ресурсами і хочете нульових накладних витрат на плагіни.
Використовуйте Pretty Links або ThirstyAffiliates коли:
- Вам потрібні брендовані, зрозумілі людині короткі ярлики.
- Потрібне відстеження кліків, параметри UTM або атрибуція конверсій.
- Ви керуєте операцією контент-маркетингу або афілійованим сайтом.
Використовуйте директиви map Nginx або правила перенаправлення Cloudflare коли:
- Обсяг перенаправлень перевищує десятки тисяч звернень на день.
- Вам потрібна затримка перенаправлення менше мілісекунди без накладних витрат PHP.
- Ви безпосередньо керуєте інфраструктурою на Виділеному сервері або високопродуктивному VPS.
Використовуйте WP-CLI коли:
- Ви скриптуєте масові операції з записами або міграції.
- Вам потрібно отримати короткі посилання програмно без сеансу браузера.
Ключові технічні висновки
- Кожен запис WordPress має постійне коротке посилання за адресою
/?p=POST_IDз моменту першого збереження; цей ідентифікатор ніколи не змінюється, якщо запис не буде видалено та відтворено. - Редактор Gutenberg видалив кнопку інтерфейсу короткого посилання, але не видалив функціональність коротких посилань — функція
wp_get_shortlink()та параметр?p=залишаються повністю функціональними. - Короткі посилання на основі плагінів (Pretty Links, ThirstyAffiliates) працюють на рівні застосунку PHP; для сценаріїв з великим трафіком перенесіть перенаправлення на Nginx або правило CDN на межі мережі.
- Завжди обслуговуйте короткі посилання через HTTPS, щоб уникнути багатоетапних ланцюжків перенаправлення та потенційних попереджень безпеки.
- Використовуйте
wp_get_shortlink()у користувацькому коді замість ручного формування URL-адреси, щоб активні фільтри плагінів враховувалися. - Асинхронне журналювання кліків та кешування об’єктів Redis є двома оптимізаціями з найбільшим впливом для сайтів з інтенсивним трафіком коротких посилань.
- Periodically audit your shortlink plugin’s database table growth —
wp_pretty_link_clicksможе накопичувати мільйони рядків на активних сайтах, погіршуючи продуктивність запитів без належного індексування.
Часті запитання
Чи порушує зміна ярлика постійного посилання запису його коротке посилання?
Ні. Коротке посилання прив’язане до ідентифікатора запису в базі даних, а не до його ярлика. Зміна ярлика оновлює канонічну URL-адресу, але коротке посилання ?p=ID продовжує правильно вирішуватися через перенаправлення 301 на нове канонічне постійне посилання.
Чому кнопка «Отримати коротке посилання» відсутня в моєму редакторі WordPress?
У Gutenberg кнопку було видалено з інтерфейсу за замовчуванням. Вона також може бути прихована в класичному редакторі через Параметри екрана або пригнічена плагіном за допомогою фільтра pre_get_shortlink, що повертає порожній рядок. Використовуйте wp eval 'echo wp_get_shortlink(POST_ID);' через WP-CLI для отримання короткого посилання незалежно від стану інтерфейсу.
Чи впливають короткі посилання WordPress на SEO?
Нативні короткі посилання використовують HTTP-перенаправлення 301 на канонічну URL-адресу, тому пошукові системи слідують за перенаправленням і приписують усі сигнали ранжування канонічному постійному посиланню. Самі короткі посилання не індексуються. Переконайтеся, що ваш плагін коротких посилань випадково не встановлює сторінки перенаправлення як 200 OK з тонким контентом, що може створити проблеми з індексацією.
У чому різниця між коротким посиланням WordPress і скорочувачем URL-адрес, таким як Bitly?
Короткі посилання WordPress розміщуються на власному сервері та вирішуються у вашому власному домені, зберігаючи довіру до бренду та зберігаючи аналітику у вашій інфраструктурі. Сторонні скорочувачі, такі як Bitly, маршрутизують трафік через зовнішній домен, створюючи залежність від стороннього сервісу та потенційно приховуючи ваш бренд у поширюваних посиланнях.
Чи можна використовувати короткі посилання у відповідях REST API WordPress?
Так. Викличте wp_get_shortlink( $post->ID ) у зворотному виклику користувацького кінцевого пункту REST API або використовуйте фільтр rest_prepare_post для додавання поля короткого посилання до стандартних відповідей записів. Це корисно для безголових налаштувань WordPress, де клієнтський застосунок потребує короткої URL-адреси для поширення без її формування на стороні клієнта.
