15%

Спести 15% на всички хостинг услуги

Тествай уменията си и получи Отстъпка за всеки хостинг план

Използвайте код:

Skills
За начало
10.10.2024

Как да генерирате кратка връзка в WordPress: Пълно техническо ръководство

WordPress shortlinks са съкратени URL адреси, които пренасочват към конкретна публикация, страница или персонализиран тип публикация на вашия сайт. Те следват формата https://yourdomain.com/?p=POST_ID и се генерират нативно от WordPress чрез вградената му система за пренаписване на постоянни връзки — без нужда от външна услуга.

Това ръководство обяснява всеки метод за генериране, персонализиране и проследяване на WordPress shortlinks, включително нативни работни процеси в редактора, WP-CLI команди, решения базирани на плъгини и поведение на пренасочване на ниво сървър. Независимо дали работите в опростена споделена среда или напълно управлявана настройка на VPS Хостинг, техниките по-долу се прилагат директно.

WordPress генерира shortlink за всяко съдържание в момента, в който то се запазва като чернова или се публикува. Shortlink се изгражда от параметъра на низа за заявка ?p=, последван от вътрешния идентификатор на публикацията в базата данни. Този идентификатор се присвоява последователно от таблицата wp_posts в MySQL или MariaDB и никога не се променя, дори ако по-късно промените slug-а или структурата на постоянната връзка на публикацията.

Когато посетител достъпи shortlink, зарежда се bootstrap-ът index.php на WordPress, двигателят за пренаписване анализира низа за заявка и заявката се пренасочва вътрешно към каноничната постоянна връзка чрез HTTP 301 Moved Permanently отговор. Това означава, че shortlinks са безопасни за SEO — търсачките следват 301 и приписват целия link equity на каноничния URL.

Ключови технически факти:

  • Shortlinks се разрешават изцяло на ниво PHP/WordPress приложение, а не на ниво уеб сървър.
  • Параметърът ?p= работи независимо от настройката на структурата на постоянните ви връзки.
  • Промяната на slug-а на публикацията не нарушава нейния shortlink.
  • Изтриването и повторното създаване на публикация присвоява нов идентификатор, което прави стария shortlink невалиден.

Класическият редактор предоставя специален бутон Get Shortlink директно в мета кутията за публикуване, позиционирана над областта на редактора на публикации.

Стъпка по стъпка:

  1. Отворете или създайте публикация в Класическия редактор.
  2. Запазете публикацията като чернова или я публикувайте — shortlink не може да се генерира за незапазено съдържание, тъй като все още не съществува идентификатор на публикацията.
  3. Кликнете върху Get Shortlink в мета кутията за публикуване. Модален диалог показва URL адреса на shortlink.
  4. Копирайте URL адреса от полето на диалога.

Ако бутонът Get Shortlink не е видим, може да е бил скрит чрез Screen Options. Кликнете върху раздела Screen Options в горния десен ъгъл на екрана на редактора и се уверете, че опцията, свързана с Slug или shortlink, е отметната. Някои теми и плъгини също премахват този UI елемент чрез remove_action('admin_head', 'wp_shortlink_header') или филтъра pre_get_shortlink, за да върнат празен низ.

Редакторът Gutenberg премахна специалния бутон за shortlink от стандартния UI. Въпреки това shortlink все още съществува и е достъпен чрез два подхода.

Подход A — Ръчно изграждане от идентификатора на публикацията:

  1. Отворете публикацията в редактора Gutenberg.
  2. Погледнете адресната лента на браузъра. URL адресът ще съдържа post=XXXX, където XXXX е числовият идентификатор на публикацията.
  3. Изградете shortlink ръчно:
https://yourdomain.com/?p=XXXX

Заменете XXXX с действителния идентификатор на публикацията.

Подход B — Страничен панел с настройки на публикацията:

  1. Отворете публикацията в Gutenberg.
  2. В десния панел с настройки на Публикацията, разгънете секцията Permalink.
  3. Идентификаторът на публикацията е видим в URL адреса на редактора. Някои конфигурации също показват shortlink в панела Summary, ако е активен съвместим плъгин.

Подход C — Възстановяване на бутона за shortlink чрез кодов фрагмент:

Ако искате бутонът за shortlink да се върне в Gutenberg, добавете следното към functions.php на вашата тема или към плъгин, специфичен за сайта:

add_filter( 'get_shortlink', function( $shortlink, $id, $context, $allow_slugs ) {
    return home_url( '/?p=' . $id );
}, 10, 4 );

Този филтър гарантира, че wp_get_shortlink() винаги връща стойност, което повторно активира показването на shortlink в съвместими UI компоненти.

За администратори, управляващи WordPress от командния ред — особено на VPS с cPanel или самостоятелен Dedicated Server — WP-CLI предоставя директен начин за извличане на shortlinks без достъп до таблото за управление.

Извличане на shortlink за конкретна публикация по идентификатор:

wp post get 42 --field=url --path=/var/www/html

Списък на всички публикувани публикации с техните идентификатори и shortlinks:

wp post list --post_status=publish --fields=ID,post_title,post_name --format=table

След като имате идентификатора, shortlink е просто https://yourdomain.com/?p=ID. Можете също да извикате WordPress функцията директно чрез WP-CLI eval:

wp eval 'echo wp_get_shortlink(42);'

Това извежда низа на shortlink точно така, както WordPress би го обслужил, спазвайки всички активни филтри.

Нативните WordPress shortlinks използват формата ?p=ID, който е функционален, но не е запомнящ се или брандиран. Плъгините разширяват тази възможност значително.

Pretty Links е най-широко разпространеният плъгин за shortlinks в екосистемата на WordPress. Той съхранява персонализирани пренасочвания в специална таблица в базата данни (wp_pretty_link и wp_pretty_link_clicks) и предоставя проследяване на кликвания, данни за геолокация и инжектиране на UTM параметри.

Работен процес на конфигурация:

  1. Инсталирайте и активирайте Pretty Links от хранилището за плъгини на WordPress.
  2. Навигирайте до Pretty Links > Add New Link.
  3. Въведете целевия URL (каноничната постоянна връзка на вашата публикация).
  4. Дефинирайте персонализиран slug, например go/my-post.
  5. Изберете тип пренасочване: 301 за постоянно, 302 за временно или 307 за временно със запазване на метода.
  6. Запазете. Shortlink става https://yourdomain.com/go/my-post.

Техническа бележка: Пренаписванията на Pretty Links се обработват на ниво WordPress приложение чрез add_rewrite_rule(), а не на ниво Apache или Nginx. Това означава, че всяко посещение на shortlink изисква пълно зареждане на WordPress bootstrap. При сайтове с голям трафик, това може да добави 50–200ms латентност на пренасочване в сравнение с RewriteRule на ниво сървър. Ако производителността на пренасочването е критична, помислете за прехвърляне на връзки с голям обем към Nginx map директиви или специализирана микроуслуга за пренасочване.

ThirstyAffiliates

За афилиейт маркетолози, ThirstyAffiliates предоставя shortlinks с прикриване на кликвания, автоматично свързване на ключови думи и правила за пренасочване базирани на геолокация. Той съхранява връзки в персонализирани типове публикации (thirstylink), а не в отделна таблица, което го прави съвместим със стандартните работни процеси за архивиране и миграция на WordPress.

Плъгинът Redirection

Плъгинът Redirection управлява както shortlinks, така и общи 301/302 пренасочвания от един интерфейс. Той също така улавя 404 грешки и предлага цели за пренасочване, което е ценно по време на миграции на сайтове.

МетодПерсонализиран SlugПроследяване на кликванияИзисква плъгинВлияние върху производителносттаНай-добър случай на употреба
Нативен `?p=ID`НеНеНеМинималноБързо вътрешно споделяне
Бутон на Класическия редакторНеНеНеМинималноОстарял работен процес
WP-CLI `wp eval`НеНеНеНикакво (CLI)Масови операции, скриптиране
Pretty LinksДаДаДаУмерено (PHP слой)Брандирани връзки, маркетинг
ThirstyAffiliatesДаДа (разширено)ДаУмерено (PHP слой)Управление на афилиейт връзки
Плъгинът RedirectionДаОсновноДаУмерено (PHP слой)Миграции на сайтове, обработка на 404
Nginx `map` директиваДаНе (външен инструмент)НеПочти нулевоПрехвърляне на пренасочвания с голям трафик

При споделен хостинг, всяко пренасочване на shortlink преминава през пълния WordPress стек: PHP-FPM или mod_php се инициализира, зарежда се wp-config.php, отваря се връзката с базата данни и двигателят за пренаписване разрешава заявката. За нисък до умерен трафик, това е напълно приемливо.

При сайтове с голям трафик или при работа с хиляди проследявани shortlinks, натоварването на заявките към базата данни от регистрирането на кликвания може да се превърне в тясно място. Практическите мерки за смекчаване включват:

  • Кеширане на обекти: Инсталирайте Redis или Memcached и конфигурирайте WP_CACHE в wp-config.php. Това кешира търсенето на целта за пренасочване и значително намалява четенията от базата данни.
  • Асинхронно регистриране на кликвания: Конфигурирайте Pretty Links да регистрира кликвания асинхронно, използвайки фонов процес, вместо да блокира отговора при пренасочване.
  • Пренасочвания на ниво CDN: Ако използвате Cloudflare, можете да внедрите правила за масово пренасочване на edge ниво, напълно заобикаляйки WordPress за връзки с голям обем.
  • Nginx map блокове: За среди, администрирани на ниво сървър, дефинирайте карти за пренасочване директно в конфигурацията на 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.

Shortlinks, обслужвани по HTTP и пренасочващи към HTTPS цели, са технически функционални, но излагат потребителите на потенциален прозорец за понижаване. Винаги се уверявайте, че вашият WordPress сайт има инсталиран валиден SSL сертификат, така че shortlinks да се обслужват от https:// от самото начало. Shortlink с смесен протокол (http://yourdomain.com/?p=42 пренасочващ към https://yourdomain.com/post-slug/) добавя допълнителна стъпка на пренасочване и може да предизвика предупреждения за сигурност в браузъра при някои конфигурации.

Ако работите с WordPress на инфраструктурата на AlexHost, сдвояването на вашия сайт с правилно издаден SSL Сертификат елиминира напълно този проблем и гарантира, че всички shortlinks се разрешават чрез единична, сигурна верига от 301 пренасочвания.

Освен това, крайните точки на shortlink могат да бъдат злоупотребявани в фишинг кампании, тъй като дестинацията е скрита. Ако използвате Pretty Links или подобен плъгин, активирайте опцията noindex на страниците за пренасочване и помислете за добавяне на атрибут rel="nofollow" към shortlinks, споделяни външно, за да предотвратите нежелани пътища за обхождане.

Програмно извличане на идентификатора на публикацията

При изграждане на персонализирани интеграции — например, динамично генериране на shortlinks в 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, което означава, че всеки активен плъгин, който модифицира поведението на shortlink, ще бъде автоматично спазван. Това я прави правилната функция за използване, вместо ръчно конкатениране на home_url('/?p=') с идентификатор.

Използвайте тази матрица, за да изберете подходящия метод въз основа на вашите оперативни изисквания:

Използвайте нативни ?p=ID shortlinks, когато:

  • Имате нужда от бързо решение без конфигурация за вътрешно споделяне или тестване.
  • Не се интересувате от брандирани URL адреси или анализи на кликвания.
  • Работите с план за Споделен Уеб Хостинг с ограничени ресурси и искате нулево натоварване от плъгини.

Използвайте Pretty Links или ThirstyAffiliates, когато:

  • Имате нужда от брандирани, четими от хора кратки slug-ове.
  • Необходими са проследяване на кликвания, UTM параметри или атрибуция на конверсии.
  • Управлявате операция за контент маркетинг или афилиейт сайт.

Използвайте Nginx map директиви или правила за пренасочване на Cloudflare, когато:

  • Обемът на пренасочванията надвишава десетки хиляди посещения на ден.
  • Имате нужда от латентност на пренасочване под милисекунда без PHP натоварване.
  • Управлявате инфраструктурата директно на Dedicated Server или високопроизводителен VPS.

Използвайте WP-CLI, когато:

  • Скриптирате масови операции с публикации или миграции.
  • Трябва да извличате shortlinks програмно без браузърна сесия.

Технически ключови изводи

  • Всяка WordPress публикация има постоянен shortlink на /?p=POST_ID от момента на първото й запазване; този идентификатор никога не се променя, освен ако публикацията не бъде изтрита и пресъздадена.
  • Редакторът Gutenberg премахна бутона за UI на shortlink, но не премахна функционалността на shortlink — функцията wp_get_shortlink() и параметърът ?p= остават напълно оперативни.
  • Shortlinks базирани на плъгини (Pretty Links, ThirstyAffiliates) работят на ниво PHP приложение; при сценарии с голям трафик, прехвърлете пренасочванията към Nginx или CDN edge правило.
  • Винаги обслужвайте shortlinks по HTTPS, за да избегнете вериги от многократни пренасочвания и потенциални предупреждения за сигурност.
  • Използвайте wp_get_shortlink() в персонализиран код, вместо ръчно изграждане на URL адреса, така че активните филтри на плъгините да бъдат спазвани.
  • Асинхронното регистриране на кликвания и кеширането на обекти с Redis са двете оптимизации с най-голямо въздействие за сайтове с интензивен трафик на shortlinks.
  • Периодично одитирайте растежа на таблицата в базата данни на вашия плъгин за shortlinks — wp_pretty_link_clicks може да натрупа милиони редове на активни сайтове, влошавайки производителността на заявките без правилно индексиране.

Често задавани въпроси

Нарушава ли промяната на slug-а на постоянната връзка на публикацията нейния shortlink?

Не. Shortlink е свързан с идентификатора на публикацията в базата данни, а не с нейния slug. Промяната на slug-а актуализира каноничния URL, но shortlink-ът ?p=ID продължава да се разрешава правилно чрез 301 пренасочване към новия канонически постоянен адрес.

Защо бутонът Get Shortlink липсва в моя WordPress редактор?

В Gutenberg бутонът беше премахнат от стандартния UI. Той може също да бъде скрит в Класическия редактор чрез Screen Options или потиснат от плъгин, използващ филтъра pre_get_shortlink, връщащ празен низ. Използвайте wp eval 'echo wp_get_shortlink(POST_ID);' чрез WP-CLI, за да извлечете shortlink независимо от състоянието на UI.

Влияят ли WordPress shortlinks на SEO?

Нативните shortlinks използват HTTP 301 пренасочвания към каноничния URL, така че търсачките следват пренасочването и приписват всички сигнали за класиране на каноничната постоянна връзка. Самите shortlinks не се индексират. Уверете се, че вашият плъгин за shortlinks не задава случайно страниците за пренасочване на 200 OK с оскъдно съдържание, което може да създаде проблеми с индексирането.

Каква е разликата между WordPress shortlink и съкращавач на URL адреси като Bitly?

WordPress shortlinks са самостоятелно хоствани и се разрешават на вашия собствен домейн, запазвайки доверието към бранда и поддържайки анализите в рамките на вашата инфраструктура. Услуги за съкращаване на URL адреси на трети страни като Bitly насочват трафика през външен домейн, въвеждайки зависимост от услуга на трета страна и потенциално скривайки вашия бранд в споделени връзки.

Могат ли shortlinks да се използват в отговорите на WordPress REST API?

Да. Извикайте wp_get_shortlink( $post->ID ) в обратна извикване на персонализирана крайна точка на REST API или използвайте филтъра rest_prepare_post, за да добавите полето на shortlink към стандартните отговори за публикации. Това е полезно за headless WordPress настройки, където приложението на предния край се нуждае от споделим кратък URL без да го изгражда от страна на клиента.

15%

Спести 15% на всички хостинг услуги

Тествай уменията си и получи Отстъпка за всеки хостинг план

Използвайте код:

Skills
За начало