WordPress’te Kısa Bağlantı Nasıl Oluşturulur: Eksiksiz Teknik Kılavuz
WordPress kısa bağlantıları, sitenizde belirli bir gönderi, sayfa veya özel gönderi türüne yönlendiren kısaltılmış URL’lerdir. https://yourdomain.com/?p=POST_ID biçimini izlerler ve herhangi bir harici hizmet gerektirmeden WordPress’in yerleşik kalıcı bağlantı yeniden yazma sistemi kullanılarak WordPress tarafından yerel olarak oluşturulurlar.
Bu kılavuz, yerel düzenleyici iş akışları, WP-CLI komutları, eklenti tabanlı çözümler ve sunucu düzeyinde yönlendirme davranışı dahil olmak üzere WordPress kısa bağlantılarını oluşturma, özelleştirme ve izlemenin her yöntemini açıklamaktadır. İster kısıtlı bir paylaşımlı ortamda ister tam yönetilen bir VPS Hosting kurulumunda çalışıyor olun, aşağıdaki teknikler doğrudan uygulanabilir.
WordPress Kısa Bağlantıları Nedir ve Nasıl Çalışır
WordPress, taslak olarak kaydedildiği veya yayımlandığı anda her içerik parçası için bir kısa bağlantı oluşturur. Kısa bağlantı, ?p= sorgu dizesi parametresinden ve ardından gönderinin dahili veritabanı kimliğinden oluşturulur. Bu kimlik, MySQL veya MariaDB’deki wp_posts tablosu tarafından sıralı olarak atanır ve gönderi slug’ını veya kalıcı bağlantı yapısını daha sonra değiştirseniz bile asla değişmez.
Bir ziyaretçi kısa bağlantıya eriştiğinde, WordPress’in index.php önyüklemesi yüklenir, yeniden yazma motoru sorgu dizesini ayrıştırır ve istek, bir HTTP 301 Moved Permanently yanıtı kullanılarak dahili olarak kurallı kalıcı bağlantıya yönlendirilir. Bu, kısa bağlantıların SEO açısından güvenli olduğu anlamına gelir — arama motorları 301’i takip eder ve tüm bağlantı değerini kurallı URL’ye aktarır.
Temel teknik bilgiler:
- Kısa bağlantılar, web sunucusu düzeyinde değil, tamamen PHP/WordPress uygulama katmanında çözümlenir.
?p=parametresi, kalıcı bağlantı yapısı ayarınızdan bağımsız olarak çalışır.- Bir gönderinin slug’ını değiştirmek kısa bağlantısını bozmaz.
- Bir gönderiyi silip yeniden oluşturmak yeni bir kimlik atar ve bu durum eski kısa bağlantıyı geçersiz kılar.
Yöntem 1: Klasik Düzenleyicide Kısa Bağlantı Oluşturma
Klasik Düzenleyici, gönderi düzenleyici alanının üzerinde konumlandırılmış yayımlama meta kutusunda doğrudan özel bir Kısa Bağlantı Al düğmesi sunar.
Adım adım:
- Klasik Düzenleyicide bir gönderi açın veya oluşturun.
- Gönderiyi taslak olarak kaydedin veya yayımlayın — henüz gönderi kimliği olmadığından kaydedilmemiş içerik için kısa bağlantı oluşturulamaz.
- Yayımlama meta kutusundaki Kısa Bağlantı Al düğmesine tıklayın. Bir modal iletişim kutusu kısa bağlantı URL’sini görüntüler.
- URL’yi iletişim kutusu alanından kopyalayın.
Kısa Bağlantı Al düğmesi görünmüyorsa, Ekran Seçenekleri aracılığıyla gizlenmiş olabilir. Düzenleyici ekranının sağ üst köşesindeki Ekran Seçenekleri sekmesine tıklayın ve Slug veya kısa bağlantıyla ilgili seçeneğin işaretli olduğundan emin olun. Bazı temalar ve eklentiler de bu UI öğesini remove_action('admin_head', 'wp_shortlink_header') aracılığıyla kaldırır veya boş bir dize döndürmek için pre_get_shortlink filtresini kullanır.
Yöntem 2: Gutenberg Blok Düzenleyicisinde Kısa Bağlantı Oluşturma
Gutenberg düzenleyicisi, varsayılan kullanıcı arayüzünden özel kısa bağlantı düğmesini kaldırdı. Ancak kısa bağlantı hâlâ mevcuttur ve iki yaklaşım aracılığıyla erişilebilir.
Yaklaşım A — Gönderi kimliğinden manuel oluşturma:
- Gönderiyi Gutenberg düzenleyicisinde açın.
- Tarayıcının adres çubuğuna bakın. URL,
XXXX‘nin sayısal gönderi kimliği olduğupost=XXXXiçerecektir. - Kısa bağlantıyı manuel olarak oluşturun:
https://yourdomain.com/?p=XXXXXXXX kısmını gerçek gönderi kimliğiyle değiştirin.
Yaklaşım B — Gönderi Ayarları kenar çubuğu:
- Gönderiyi Gutenberg’de açın.
- Sağdaki Gönderi ayarları panelinde Kalıcı Bağlantı bölümünü genişletin.
- Gönderi kimliği, düzenleyici URL’sinde görünür. Bazı yapılandırmalar, uyumlu bir eklenti etkinse Özet panelinde de kısa bağlantıyı görüntüler.
Yaklaşım C — Bir kod parçacığı aracılığıyla kısa bağlantı düğmesini geri yükleme:
Gutenberg’de kısa bağlantı düğmesini geri istiyorsanız, temanızın functions.php dosyasına veya siteye özgü bir eklentiye aşağıdakileri ekleyin:
add_filter( 'get_shortlink', function( $shortlink, $id, $context, $allow_slugs ) {
return home_url( '/?p=' . $id );
}, 10, 4 );Bu filtre, wp_get_shortlink()‘nin her zaman bir değer döndürmesini sağlar ve bu da uyumlu UI bileşenlerinde kısa bağlantı görüntüsünü yeniden etkinleştirir.
Yöntem 3: WP-CLI Aracılığıyla Kısa Bağlantı Oluşturma
WordPress’i komut satırında yöneten yöneticiler için — özellikle cPanel’li VPS veya yalın bir Dedicated Server üzerinde — WP-CLI, kontrol paneline dokunmadan kısa bağlantıları almanın doğrudan bir yolunu sunar.
Kimliğe göre belirli bir gönderi için kısa bağlantıyı alın:
wp post get 42 --field=url --path=/var/www/htmlTüm yayımlanmış gönderileri kimlikleri ve kısa bağlantılarıyla listeleyin:
wp post list --post_status=publish --fields=ID,post_title,post_name --format=tableKimliğe sahip olduğunuzda, kısa bağlantı basitçe https://yourdomain.com/?p=ID‘dir. WordPress işlevini WP-CLI eval aracılığıyla da doğrudan çağırabilirsiniz:
wp eval 'echo wp_get_shortlink(42);'Bu, aktif filtrelere saygı göstererek kısa bağlantı dizesini tam olarak WordPress’in sunacağı şekilde çıktılar.
Yöntem 4: Özel Slug’lar ve İzleme ile Eklenti Tabanlı Kısa Bağlantılar
Yerel WordPress kısa bağlantıları ?p=ID biçimini kullanır; bu işlevsel olmakla birlikte akılda kalıcı veya markaya özgü değildir. Eklentiler bu özelliği önemli ölçüde genişletir.
Pretty Links
Pretty Links, WordPress ekosisteminde en yaygın kullanılan kısa bağlantı eklentisidir. Özel yönlendirmeleri özel bir veritabanı tablosunda (wp_pretty_link ve wp_pretty_link_clicks) depolar ve tıklama izleme, coğrafi konum verileri ve UTM parametre ekleme özellikleri sunar.
Yapılandırma iş akışı:
- WordPress eklenti deposundan Pretty Links’i yükleyin ve etkinleştirin.
- Pretty Links > Yeni Bağlantı Ekle‘ye gidin.
- Hedef URL’yi (gönderinizin kurallı kalıcı bağlantısı) girin.
- Örneğin
go/my-postgibi özel bir slug tanımlayın. - Yönlendirme türünü seçin: kalıcı için
301, geçici için302veya yöntem korumalı geçici için307. - Kaydedin. Kısa bağlantı
https://yourdomain.com/go/my-postolur.
Teknik not: Pretty Links yeniden yazmaları, Apache veya Nginx düzeyinde değil, add_rewrite_rule() aracılığıyla WordPress uygulama katmanında işlenir. Bu, her kısa bağlantı isabetinin tam bir WordPress önyüklemesi gerektirdiği anlamına gelir. Yoğun trafikli sitelerde bu, sunucu düzeyindeki RewriteRule ile karşılaştırıldığında yönlendirme başına 50–200ms gecikme ekleyebilir. Yönlendirme performansı kritikse, yüksek hacimli bağlantıları Nginx map yönergelerine veya özel bir yönlendirme mikro hizmetine taşımayı düşünün.
ThirstyAffiliates
Affiliate pazarlamacılar için ThirstyAffiliates, tıklama gizleme, otomatik anahtar kelime bağlantısı ve coğrafi konum tabanlı yönlendirme kurallarıyla kısa bağlantılar sunar. Bağlantıları ayrı bir tablo yerine özel gönderi türlerinde (thirstylink) depolar; bu da onu standart WordPress yedekleme ve taşıma iş akışlarıyla uyumlu kılar.
Redirection Eklentisi
Redirection eklentisi, hem kısa bağlantıları hem de genel 301/302 yönlendirmelerini tek bir arayüzden yönetir. Ayrıca 404 hatalarını yakalar ve yönlendirme hedefleri önerir; bu da site taşımaları sırasında oldukça değerlidir.
Karşılaştırma: WordPress Kısa Bağlantı Yöntemleri
| Yöntem | Özel Slug | Tıklama İzleme | Eklenti Gerektirir | Performans Etkisi | En İyi Kullanım Durumu |
|---|
| — | — | — | — | — | — |
|---|
| Yerel `?p=ID` | Hayır | Hayır | Hayır | Minimal | Hızlı dahili paylaşım |
|---|
| Klasik Düzenleyici düğmesi | Hayır | Hayır | Hayır | Minimal | Eski iş akışı |
|---|
| WP-CLI `wp eval` | Hayır | Hayır | Hayır | Yok (CLI) | Toplu işlemler, betik yazma |
|---|
| Pretty Links | Evet | Evet | Evet | Orta (PHP katmanı) | Markalı bağlantılar, pazarlama |
|---|
| ThirstyAffiliates | Evet | Evet (gelişmiş) | Evet | Orta (PHP katmanı) | Affiliate bağlantı yönetimi |
|---|
| Redirection eklentisi | Evet | Temel | Evet | Orta (PHP katmanı) | Site taşımaları, 404 yönetimi |
|---|
| Nginx `map` yönergesi | Evet | Hayır (harici araç) | Hayır | Neredeyse sıfır | Yüksek trafikli yönlendirme boşaltma |
|---|
Kısa Bağlantı Performansı için Sunucu Düzeyinde Değerlendirmeler
Paylaşımlı barındırmada, her kısa bağlantı yönlendirmesi tam WordPress yığınından geçer: PHP-FPM veya mod_php başlatılır, wp-config.php yüklenir, veritabanı bağlantısı açılır ve yeniden yazma motoru sorguyu çözümler. Düşük ila orta trafik için bu tamamen kabul edilebilirdir.
Yüksek trafikli sitelerde veya binlerce izlenen kısa bağlantı çalıştırırken, tıklama günlüğünden kaynaklanan veritabanı sorgu yükü bir darboğaz haline gelebilir. Pratik çözümler şunlardır:
- Nesne önbellekleme: Redis veya Memcached yükleyin ve
wp-config.phpiçindeWP_CACHE‘ı yapılandırın. Bu, yönlendirme hedefi aramasını önbelleğe alır ve veritabanı okumalarını önemli ölçüde azaltır. - Asenkron tıklama günlüğü: Pretty Links’i, yönlendirme yanıtını engellemek yerine bir arka plan işlemi kullanarak tıklamaları asenkron olarak günlüğe kaydedecek şekilde yapılandırın.
- CDN düzeyinde yönlendirmeler: Cloudflare kullanıyorsanız, yüksek hacimli bağlantılar için WordPress’i tamamen atlayarak uç noktada toplu yönlendirme kuralları uygulayabilirsiniz.
- Nginx map blokları: Sunucu tarafından yönetilen ortamlar için, yönlendirme haritalarını doğrudan Nginx yapılandırmasında tanımlayın:
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;
}
}Bu yaklaşım, PHP’yi çağırmadan yönlendirmeleri mikrosaniyeler içinde sunar.
SSL, Güvenlik ve Kısa Bağlantı Bütünlüğü
HTTP üzerinden sunulan ve HTTPS hedeflerine yönlendiren kısa bağlantılar teknik olarak işlevseldir, ancak kullanıcıları potansiyel bir düşürme penceresine maruz bırakır. Kısa bağlantıların başından itibaren https:// üzerinden sunulması için WordPress sitenizde geçerli bir SSL sertifikasının yüklü olduğundan her zaman emin olun. Karma protokollü bir kısa bağlantı (http://yourdomain.com/?p=42‘dan https://yourdomain.com/post-slug/‘a yönlendirme) ekstra bir yönlendirme adımı ekler ve bazı yapılandırmalarda tarayıcı güvenlik uyarılarını tetikleyebilir.
WordPress’i AlexHost altyapısı üzerinde çalıştırıyorsanız, sitenizi düzgün şekilde verilmiş bir SSL Sertifikası ile eşleştirmek bu sorunu tamamen ortadan kaldırır ve tüm kısa bağlantıların tek, güvenli bir 301 yönlendirme zinciri üzerinden çözümlenmesini sağlar.
Ayrıca, hedef gizlendiğinden kısa bağlantı uç noktaları kimlik avı kampanyalarında kötüye kullanılabilir. Pretty Links veya benzer bir eklenti kullanıyorsanız, yönlendirme sayfalarında noindex seçeneğini etkinleştirin ve istenmeyen tarama yollarını önlemek için harici olarak paylaşılan kısa bağlantılara rel="nofollow" özelliği eklemeyi düşünün.
Gönderi Kimliğini Programatik Olarak Alma
Özel entegrasyonlar oluştururken — örneğin bir REST API yanıtında veya e-posta şablonunda kısa bağlantıları dinamik olarak oluştururken — WordPress’in yerel işlevini kullanın:
$post_id = get_the_ID(); // Inside The Loop
$shortlink = wp_get_shortlink( $post_id );
echo esc_url( $shortlink );Döngü dışında, gönderi kimliğini açıkça geçirin:
$shortlink = wp_get_shortlink( 42 );wp_get_shortlink() işlevi get_shortlink filtresini uygular; bu, kısa bağlantı davranışını değiştiren aktif eklentilerin otomatik olarak dikkate alınacağı anlamına gelir. Bu, home_url('/?p=')‘ı bir kimlikle manuel olarak birleştirmek yerine kullanılması gereken doğru işlevi yapar.
Karar Matrisi: Doğru Kısa Bağlantı Yaklaşımını Seçme
Operasyonel gereksinimlerinize göre uygun yöntemi seçmek için bu matrisi kullanın:
Yerel ?p=ID kısa bağlantılarını şu durumlarda kullanın:
- Dahili paylaşım veya test için hızlı, yapılandırma gerektirmeyen bir çözüme ihtiyacınız var.
- Markalı URL’ler veya tıklama analitiği konusunda endişeniz yok.
- Kaynak kısıtlı bir Paylaşımlı Web Hosting planındasınız ve sıfır eklenti yükü istiyorsunuz.
Pretty Links veya ThirstyAffiliates’i şu durumlarda kullanın:
- Markalı, insan tarafından okunabilir kısa slug’lara ihtiyacınız var.
- Tıklama izleme, UTM parametreleri veya dönüşüm ilişkilendirmesi gerekiyor.
- İçerik pazarlama operasyonu veya affiliate sitesi yönetiyorsunuz.
Nginx map yönergelerini veya Cloudflare yönlendirme kurallarını şu durumlarda kullanın:
- Yönlendirme hacmi günde on binlerce isabeti aşıyor.
- PHP yükü olmadan milisaniyenin altında yönlendirme gecikmesine ihtiyacınız var.
- Bir Dedicated Server veya yüksek performanslı VPS üzerinde altyapıyı doğrudan yönetiyorsunuz.
WP-CLI’yi şu durumlarda kullanın:
- Toplu gönderi işlemlerini veya taşımaları betikleştiriyorsunuz.
- Tarayıcı oturumu olmadan kısa bağlantıları programatik olarak almanız gerekiyor.
Teknik Temel Çıkarımlar
- Her WordPress gönderisi, ilk kaydedildiği andan itibaren
/?p=POST_IDadresinde kalıcı bir kısa bağlantıya sahiptir; bu kimlik, gönderi silinip yeniden oluşturulmadıkça asla değişmez. - Gutenberg düzenleyicisi kısa bağlantı UI düğmesini kaldırdı, ancak kısa bağlantı işlevselliğini kaldırmadı —
wp_get_shortlink()işlevi ve?p=parametresi tamamen çalışmaya devam etmektedir. - Eklenti tabanlı kısa bağlantılar (Pretty Links, ThirstyAffiliates) PHP uygulama katmanında çalışır; yüksek trafikli senaryolarda yönlendirmeleri Nginx’e veya bir CDN uç kuralına taşıyın.
- Çok adımlı yönlendirme zincirlerinden ve potansiyel güvenlik uyarılarından kaçınmak için kısa bağlantıları her zaman HTTPS üzerinden sunun.
- Aktif eklenti filtrelerinin dikkate alınması için URL’yi manuel olarak oluşturmak yerine özel kodda
wp_get_shortlink()kullanın. - Asenkron tıklama günlüğü ve Redis nesne önbellekleme, yoğun kısa bağlantı trafiğine sahip siteler için en yüksek etkili iki optimizasyondur.
- Kısa bağlantı eklentinizin veritabanı tablo büyümesini periyodik olarak denetleyin —
wp_pretty_link_clicksaktif sitelerde uygun indeksleme olmadan sorgu performansını düşürerek milyonlarca satır biriktirebilir.
Sıkça Sorulan Sorular
Bir gönderinin kalıcı bağlantı slug’ını değiştirmek kısa bağlantısını bozar mı?
Hayır. Kısa bağlantı, gönderinin slug’ına değil veritabanı kimliğine bağlıdır. Slug’ı değiştirmek kurallı URL’yi günceller, ancak ?p=ID kısa bağlantısı yeni kurallı kalıcı bağlantıya 301 yönlendirmesi aracılığıyla doğru şekilde çözümlenmeye devam eder.
WordPress düzenleyicimde Kısa Bağlantı Al düğmesi neden eksik?
Gutenberg’de düğme varsayılan kullanıcı arayüzünden kaldırıldı. Ayrıca Klasik Düzenleyicide Ekran Seçenekleri aracılığıyla gizlenmiş veya boş bir dize döndüren pre_get_shortlink filtresini kullanan bir eklenti tarafından bastırılmış olabilir. UI durumundan bağımsız olarak kısa bağlantıyı almak için WP-CLI aracılığıyla wp eval 'echo wp_get_shortlink(POST_ID);' kullanın.
WordPress kısa bağlantıları SEO’yu etkiler mi?
Yerel kısa bağlantılar, kurallı URL’ye HTTP 301 yönlendirmeleri kullanır; bu nedenle arama motorları yönlendirmeyi takip eder ve tüm sıralama sinyallerini kurallı kalıcı bağlantıya aktarır. Kısa bağlantıların kendisi dizine eklenmez. Kısa bağlantı eklentinizin, dizinleme sorunları oluşturabilecek ince içerikli yönlendirme sayfalarını yanlışlıkla 200 OK olarak ayarlamadığından emin olun.
WordPress kısa bağlantısı ile Bitly gibi bir URL kısaltıcı arasındaki fark nedir?
WordPress kısa bağlantıları kendi kendine barındırılır ve kendi alan adınızda çözümlenir; bu da marka güvenini korur ve analitiği altyapınız içinde tutar. Bitly gibi üçüncü taraf kısaltıcılar, trafiği harici bir alan adı üzerinden yönlendirir; bu da üçüncü taraf bir hizmete bağımlılık yaratır ve paylaşılan bağlantılarda markanızı gizleyebilir.
Kısa bağlantılar WordPress REST API yanıtlarında kullanılabilir mi?
Evet. Özel bir REST API uç nokta geri çağrısı içinde wp_get_shortlink( $post->ID ) çağırın veya kısa bağlantı alanını standart gönderi yanıtlarına eklemek için rest_prepare_post filtresini kullanın. Bu, ön uç uygulamasının istemci tarafında oluşturmadan paylaşılabilir kısa bir URL’ye ihtiyaç duyduğu başsız WordPress kurulumları için kullanışlıdır.
