format_list_bulletedBu İçerikte Bahsedilen Konular
- arrow_rightKendi URL Kısaltma Servisinizi Host Edin: Shlink Rehberi
- arrow_rightShlink Nedir ve Neden Kullanmalısınız?
- arrow_rightShlink'in Temel Özellikleri
- arrow_rightShlink vs. Diğer URL Kısaltma Çözümleri
- arrow_rightShlink Kurulumu: Adım Adım Rehber
- arrow_right1. Docker ile Shlink Kurulumu
- arrow_right2. Manuel PHP Kurulumu
- arrow_rightGereksinimler
- arrow_rightKurulum Adımları
- arrow_rightShlink Yapılandırması ve İlk Ayarlar
- arrow_rightOrtam Değişkenleri
- arrow_rightÖzel Alan Adı Yapılandırması
- arrow_rightShlink API Kullanımı
- arrow_rightAPI Anahtarı Oluşturma
- arrow_rightTemel API İşlemleri
- arrow_rightShlink İstatistikleri ve Analizi
- arrow_rightGerçek Zamanlı Analiz
- arrow_rightShlink Eklentileri ve Entegrasyonları
- arrow_rightShlink Güvenliği
- arrow_rightTemel Güvenlik Önlemleri
- arrow_rightShlink Performans Optimizasyonu
- arrow_rightÖnbellek (Caching) Yapılandırması
- arrow_rightÖlçeklendirme Stratejileri
- arrow_rightShlink Kullanım Alanları
- arrow_rightSonuç ve Öneriler
Kendi URL Kısaltma Servisinizi Host Edin: Shlink Rehberi
URL kısaltma hizmetleri, modern dijital pazarlama ve sosyal medya yönetiminin vazgeçilmez araçlarından biri haline geldi. Ancak üçüncü taraf hizmetlere bağımlı olmak, veri gizliliği endişeleri, marka tutarlılığı sorunları ve maliyet artışı gibi dezavantajları beraberinde getiriyor. Bu rehberde, Shlink kullanarak kendi URL kısaltma servisinizi nasıl kuracağınızı detaylı olarak inceleyeceğiz.
Shlink, PHP tabanlı açık kaynaklı bir URL kısaltma uygulamasıdır ve bulut sunucu veya VPS üzerinde kolayca barındırılabilir.
Shlink Nedir ve Neden Kullanmalısınız?
Shlink, kendi URL kısaltma servisini kurmak isteyenler için tasarlanmış, tam özellikli açık kaynaklı bir yazılımdır. 2016 yılından bu yana geliştirilen Shlink, Docker desteği, RESTful API, zengin istatistikler ve özelleştirilebilir kısa URL yapısı sunar.
Shlink'in Temel Özellikleri
- Açık Kaynak: Kaynak kodunu inceleyebilir, ihtiyaçlarınıza göre özelleştirebilirsiniz.
- Docker Desteği: Tek komutla kurulum yapabilirsiniz.
- RESTful API: Otomasyon ve entegrasyon için kapsamlı API sunar.
- Zengin İstatistikler: Tıklamaları, coğrafi konumları, cihaz türlerini takip eder.
- Özel Alan Adı: Kendi domaininizle kısa URL'ler oluşturabilirsiniz.
- QR Kod Üretimi: Her kısa URL için otomatik QR kod oluşturur.
Shlink vs. Diğer URL Kısaltma Çözümleri
| Özellik | Shlink | Bitly | TinyURL |
|---|---|---|---|
| Self-Hosted | ✓ | ✗ | ✗ |
| Açık Kaynak | ✓ | ✗ | ✗ |
| Özel Domain | ✓ | Ücretli | ✗ |
| API Erişimi | Ücretsiz | Ücretli | Limitli |
| Detaylı İstatistik | ✓ | Ücretli | Limitli |
| Veri Sahipliği | Tam | Sınırlı | Yok |
Shlink Kurulumu: Adım Adım Rehber
Shlink'i kurmanın birden fazla yolu vardır. En popüler yöntemler Docker ve manuel PHP kurulumudur. VDS veya VPS tercih ederek kendi sunucunuzda barındırma yapabilirsiniz.
1. Docker ile Shlink Kurulumu
Docker, Shlink'i saniyeler içinde çalıştırmanızı sağlar. Öncelikle Docker ve Docker Compose'un sisteminizde kurulu olduğundan emin olun.
version: '3.8'
services:
shlink:
image: shlinkio/shlink:latest
ports:
- "8080:8080"
environment:
- DEFAULT_DOMAIN=kisalt.link
- GEOLITE_LICENSE_KEY=your_license_key
- DB_DRIVER=MYSQL
- DB_HOST=db
- DB_NAME=shlink
- DB_USER=shlink
- DB_PASSWORD=your_password
depends_on:
- db
db:
image: mysql:8.0
environment:
- MYSQL_ROOT_PASSWORD=root_password
- MYSQL_DATABASE=shlink
- MYSQL_USER=shlink
- MYSQL_PASSWORD=your_password
volumes:
- mysql_data:/var/lib/mysql
volumes:
mysql_data:
Bu yapılandırmayı docker-compose.yml dosyasına kaydedip docker-compose up -d komutuyla Shlink'i başlatabilirsiniz.
2. Manuel PHP Kurulumu
Docker kullanmak istemiyorsanız, doğrudan PHP ve MySQL kurarak da Shlink çalıştırabilirsiniz. Bu yöntem daha fazla kontrol sağlar.
Gereksinimler
- PHP 8.1 veya üzeri
- MySQL 8.0+ veya MariaDB
- Composer
- Nginx veya Apache
Kurulum Adımları
- Sunucunuza SSH ile bağlanın
- Proje dizinini oluşturun:
mkdir -p /var/www/shlink - Composer ile Shlink'i indirin:
cd /var/www/shlink
composer create-project shlinkio/shlink .
Kurulum tamamlandıktan sonra veritabanı yapılandırması ve web sunucusu ayarlarınızı yapmalısınız.
Shlink Yapılandırması ve İlk Ayarlar
Kurulum tamamlandıktan sonra Shlink'in temel ayarlarını yapılandırmanız gerekir.
Ortam Değişkenleri
Shlink, .env dosyası üzerinden yapılandırılır. Aşağıdaki temel değişkenleri ayarlamanız önerilir:
DEFAULT_DOMAIN=kisalt.link
GEOLITE_LICENSE_KEY=optional_license_key
IS_HTTPS=true
TRIM_REGULAR_EXPRESSIONS=1
DB_DRIVER=MYSQL
DB_HOST=localhost
DB_NAME=shlink
DB_USER=shlink_user
DB_PASSWORD=guvenli_sifre
Özel Alan Adı Yapılandırması
Kendi alan adınızı Shlink ile kullanmak için DNS ayarlarınızda A kaydı oluşturmanız yeterlidir. Ardından Shlink yönetim panelinden alan adınızı ekleyebilirsiniz.
Örneğin, link.benimsitem.com adresini kullanmak istiyorsanız:
- DNS yönetim panelinize gidin
- A kaydı ekleyin:
link -> SERVER_IP - Shlink admin panelinden "Domains" bölümünden alan adını ekleyin
Shlink API Kullanımı
Shlink'in en güçlü özelliklerinden biri kapsamlı REST API'sidir. Programatik olarak URL kısaltma, istatistikleri okuma ve URL yönetimi yapabilirsiniz.
API Anahtarı Oluşturma
API kullanımı için öncelikle bir API anahtarı oluşturmalısınız. Shlink admin panelinde "API" bölümünden yeni bir anahtar teslim alabilirsiniz.
Temel API İşlemleri
# URL Kısaltma
curl -X POST "https://kisalt.link/api/short-urls" \
-H "X-Api-Key: API_ANAHTARINIZ" \
-H "Content-Type: application/json" \
-d '{"longUrl": "https://example.com/uzun-url-buraya"}'
# Kısa URL Silme
curl -X DELETE "https://kisalt.link/api/short-urls/ABC123" \
-H "X-Api-Key: API_ANAHTARINIZ"
# İstatistikleri Getirme
curl "https://kisalt.link/api/short-urls/ABC123/visits" \
-H "X-Api-Key: API_ANAHTARINIZ"
API entegrasyonu ile e-ticaret siteniz veya uygulamalarınızdan otomatik olarak URL kısaltabilirsiniz.
Shlink İstatistikleri ve Analizi
Shlink, URL performansınızı detaylı şekilde analiz etmenizi sağlar. Her kısa URL için aşağıdaki verileri takip edebilirsiniz:
- Toplam Tıklama Sayısı: URL'in toplam görüntülenme sayısı
- Coğrafi Dağılım: Hangi ülkelerden tıklama geldiği
- Cihaz Türü: Mobil, masaüstü veya tablet
- Tarayıcı Bilgisi: Hangi tarayıcıların kullanıldığı
- Referans Kaynakları: Kullanıcıların hangi sitelerden geldiği
- Zaman Dilimleri: En yoğun tıklama saatleri
Gerçek Zamanlı Analiz
Shlink'in "Realtime" özelliği, canlı tıklama akışını görüntülemenize olanak tanır. Bu özellik, kampanya performansını anlık olarak izlemek için idealdir.
Shlink Eklentileri ve Entegrasyonları
Shlink'in işlevselliğini artıran çeşitli eklentiler mevcuttur:
| Eklenti | İşlev |
|---|---|
| Shlink CLI | Komut satırından URL yönetimi |
| WordPress Eklentisi | WordPress sitelerinde tek tıkla kısaltma |
| Node.js Client | Node.js uygulamalarından API erişimi |
| Python SDK | Python projelerinde entegrasyon |
| Browser Extensions | Tarayıcıdan hızlı kısaltma |
Shlink Güvenliği
Kendi URL kısaltma servisinizi çalıştırırken güvenlik en öncelikli konulardan biridir.
Temel Güvenlik Önlemleri
- SSL/TLS Sertifikası: Always-on HTTPS kullanın
- API Anahtarı Güvenliği: Anahtarları düzenli olarak yenileyin
- Rate Limiting: Aşırı istekleri sınırlayın
- Yedekleme: Düzenli veritabanı yedekleri alın - immutable yedekler ile güvenliğinizi artırabilirsiniz
- Erişim Kontrolü: Yönetim paneline güçlü parolalar kullanın
Shlink Performans Optimizasyonu
Yüksek trafikli URL kısaltma servisleri için performans optimizasyonu kritik önem taşır.
Önbellek (Caching) Yapılandırması
Shlink, Redis veya Memcached kullanarak performansı önemli ölçüde artırabilir:
CACHE_LIFETIME=3600
REDIS_SERVERS=redis://localhost:6379
Ölçeklendirme Stratejileri
Büyüyen talepler için şu stratejileri uygulayabilirsiniz:
- Yatay Ölçeklendirme: Docker Swarm veya Kubernetes ile birden fazla instance çalıştırın
- Veritabanı Optimization: İndeksler ve sorgu optimizasyonu yapın
- CDN Entegrasyonu: Statik içerikler için CDN kullanın
Shlink Kullanım Alanları
Shlink, çeşitli kullanım senaryoları için idealdir:
- Dijital Pazarlama: Kampanya URL'lerini izleyin ve A/B testleri yapın
- Sosyal Medya: Karakter limitini aşmadan uzun linkleri paylaşın
- E-ticaret: Ürün linklerini kısaltarak takibi kolaylaştırın
- İçerik Üreticileri: YouTube, podcast veya blog içeriklerinde kullanın
- Kurumsal Kullanım: Şirket içi link yönetimi ve marka tutarlılığı
Sonuç ve Öneriler
Shlink, kendi URL kısaltma servisinizi kurmanın en güvenilir ve esnek yoludur. Açık kaynak yapısı sayesinde tam veri kontrolü elde eder, özel domain kullanabilir ve maliyetleri düşürürsünüz.
Kendi Shlink sunucunuzu kurmak için bulut sunucu veya VPS hizmetlerimizden yararlanabilirsiniz. Özellikle