Ücretsiz Özel Alan Adı URL Kısaltıcı Oluşturun (Cloudflare Çalışanlarıyla)

in Kaynaklar ve Araçlar

İçeriğimiz okuyucu desteklidir. Bağlantılarımıza tıklarsanız, bir komisyon kazanabiliriz. Nasıl gözden geçiriyoruz?.

Bu yazımda sizlerle paylaşacağım Cloudflare Workers'ı kullanarak kendi özel alan adı URL kısaltıcınızı nasıl oluşturabilirsiniz?. İster işinize başka bir araç eklemek isteyen bir web geliştiricisi olun, ister yüksek fiyat etiketi olmadan bağlantılarınızı markalamak isteyen bir işletme sahibi olun, ister yalnızca web teknolojileriyle uğraşmayı seven biri olun, bu adım adım kılavuz size yöneliktir. Sen.

Bir web geliştiricisi ve teknoloji meraklısı olarak interneti daha verimli ve kullanıcı dostu hale getiren küçük şeyler beni her zaman büyülemiştir. Bir gün, özellikle uzun ve hantal bir URL'yi bir meslektaşımla paylaşırken, kendimi bağlantıları kısaltmanın basit, kişiselleştirilmiş bir yolunu dilerken buldum. Elbette piyasada çok sayıda URL kısaltma hizmeti var, ancak ben daha çok "ben" hissi veren, özelleştirebileceğim ve kontrol edebileceğim bir şey istedim.

İşte o zaman Cloudflare Workers'ı kullanarak kendi özel URL kısaltıcımı oluşturma fikri aklıma geldi.. Uçsuz bucaksız web teknolojileri denizinde gizli bir hazine bulmak gibiydi. Yalnızca URL'leri kısaltmakla kalmayıp, bunu kendi alan adımla da ücretsiz olarak yapabilirim! Bu keşfin heyecanı bana ilk kez bir web sitesi kurduğum zamanı hatırlattı; o güçlenme ve sonsuz olasılıklar telaşı.

Bu keşfi daha da heyecan verici kılan şey, özel bir alanda markalı kısa bağlantılar oluşturmak için Bit.ly veya TinyURL gibi popüler hizmetlere harika, ücretsiz bir alternatif olarak hizmet edebileceğinin farkına varılmasıydı. Birçok işletme ve birey bu tür bir işlevsellik için iyi para ödüyor, ancak burada aynı sonucu bir kuruş bile harcamadan elde etmenin bir yolu var.

Adım 1: Alan Adı Kaydı Yapın (Kısa Alan Adı Kullanın)

    Özel URL kısaltıcınızı oluşturmanın ilk adımı bir alan adı kaydettirmektir. Bu, markalı kısa bağlantılarınızın temeli olacaktır, bu yüzden akıllıca seçim yapın!

    Mükemmel alan adını seçmenize yardımcı olacak bazı ipuçları:

    1. Kısa tutmak: URL kısaltıcının asıl amacı kısa bağlantılar oluşturmaktır. Mümkünse 3-5 karakterli alan adlarını arayın. Bu bir kısaltma, kısaltma veya akılda kalıcı bir kelime olabilir.
    2. Unutulmaz kılın: Hatırlanması ve yazılması kolay bir şey seçin. Bu sizin ve başkalarının kısaltılmış bağlantılarınızı kullanmasını kolaylaştıracaktır.
    3. Markanızı düşünün: Bunu bir işletme veya kişisel marka için kullanıyorsanız alan adını mevcut marka kimliğinizle uyumlu hale getirmeye çalışın.
    4. Kullanılabilirliği kontrol et: Kısa, akılda kalıcı alan adları yoğun talep görüyor. İlk tercihiniz mevcut değilse yaratıcı olmanız veya .io, .co veya .me gibi alternatif üst düzey alan adlarını (TLD'ler) düşünmeniz gerekebilir.
    5. TLD'yi düşünün: .com popüler olsa da diğer TLD'lerden çekinmeyin. .link veya .click gibi bazıları özellikle URL kısaltıcı için uygun olabilir.

    İşte size ilham verecek bazı örnekler:

    • abc.link
    • go.io
    • shrt.com
    • zap.me

    Alan adınızı seçtikten sonra onu bir alan adı kayıt şirketinden satın almanız gerekir. Bazı popüler seçenekler şunlardır:

    • Namecheap
    • GoDaddy
    • Cloudflare (Önerilir – Cloudflare Workers'ı kullanacağımız için bu da çok kullanışlıdır)

    Alan adı ücretli olsa da, bunun yılda bir kerelik bir satın alma olduğunu ve URL kısaltıcı kurulumumuzun geri kalanının Cloudflare Workers kullanılarak ücretsiz olacağını unutmayın.

    Profesyonel ipucu: Satın alma işleminizi tamamlamadan önce alan adının herhangi bir spam veya kötü amaçlı etkinlikle ilişkili olmadığından emin olun. Domain Tools veya Wayback Machine gibi araçları kullanarak geçmişini kontrol edebilirsiniz.

    Yeni alan adınız elinizde olduğundan bir sonraki adıma geçmeye hazırsınız: alan adınız için Cloudflare kurulumu. Ancak bunu bir sonraki bölümde ele alacağız.

    2. Adım: Alanınız için DNS Kayıtlarını Yapılandırın

    Artık alanınızı aldığınıza göre DNS yapılandırmasını ayarlamanın zamanı geldi. Bu adım, Cloudflare Çalışanlarınızın yeni kayıtlı alanınızla doğru şekilde çalışmasını sağlamak için çok önemlidir.

    Cloudflare

    Süreci gözden geçirelim:

    1. Alan Adınızı Cloudflare'e Ekleyin

      • Henüz yapmadıysanız, ücretsiz bir Cloudflare hesabı oluşturun.
      • Cloudflare kontrol panelinizde “Site Ekle”ye tıklayın ve alan adınızı girin.
      • Cloudflare mevcut DNS kayıtlarını tarayacaktır. Bulduğu tüm kayıtları silin (alan adını e-posta veya diğer önemli hizmetler için de kullanmıyorsanız, bu durumda bunları saklayın).

      2. Ad Sunucularını Güncelleyin (Alanınız Cloudflare'e kayıtlıysa bu adımı göz ardı edin)

        Cloudflare ad sunucuları
        • Cloudflare size bir dizi ad sunucusu sağlayacaktır.
        • Alan adı kayıt kuruluşunuzun web sitesine gidin ve mevcut ad sunucularını Cloudflare tarafından sağlanan ad sunucularıyla değiştirin.
        • Bu adımın dünya çapında yayılması 24 saat kadar sürebilir.

        3. DNS Kayıtlarını Yapılandırın

        Cloudflare DNS yönetimi
        • Cloudflare DNS ayarlarınıza iki yeni A kaydı ekleyeceğiz.
        • Aşağıdakileri ekleyin:
        Tip: A
        Adınız: @
        İçerik: 192.0.2.1
        TTL: Oto
        Vekil durumu: Proxy uygulandı (turuncu bulut - çok önemli)

        Tip: A
        Adınız: www
        İçerik: 192.0.2.1
        TTL: Oto
        Vekil durumu: Proxy uygulandı (turuncu bulut - çok önemli)

        Bu 192.0.2.1 IP'si özel bir "kukla" adrestir. Dokümantasyon ve test için ayrılmıştır, bu da onu ihtiyaçlarımız için mükemmel kılar.

        4. Cloudflare Proxy'yi etkinleştirin

        • DNS kaydınız için proxy durumunun (turuncu bulut simgesi) etkinleştirildiğinden emin olun.
        • Bu, Cloudflare'in trafiğinizi proxy olarak kullanmasına olanak tanır ve Cloudflare Çalışanlarının çalışması için gereklidir.

        5. Yapılandırmayı Doğrulayın

        • Ad sunucusu değişikliği yayıldıktan sonra Cloudflare, alan adınızı "Etkin" olarak gösterecektir.
        • Bunu Cloudflare kontrol panelinde doğrulayabilirsiniz.

          Buradaki kilit nokta, alan adınızı herhangi bir gerçek web barındırma hizmetine yönlendirmememizdir. 192.0.2.1 adresi yalnızca yer tutucudur. Daha sonra kuracağımız Cloudflare Worker'ınız alan adınıza gelen tüm istekleri engelleyecek ve URL kısaltma mantığını yönetecektir.

          Profesyonel İpucu: Bu kurulum, herhangi bir web barındırma için ödeme yapmanıza veya onu yönetmenize gerek olmadığı anlamına gelir. Cloudflare Çalışanları tüm ağır yükleri üstlenecek, bu da bu çözümü yalnızca ücretsiz değil aynı zamanda inanılmaz derecede hafif ve bakımı kolay hale getirecek.

          DNS'niz doğru şekilde yapılandırıldığında, artık heyecan verici kısma geçmeye hazırsınız: Cloudflare Worker'ınızı URL kısaltmayı yönetecek şekilde ayarlama.

          3. Adım: Cloudflare Çalışanı Oluşturma

          Artık etki alanımızı Cloudflare'de yapılandırdığımıza göre, yönlendirmelerimizi yönetecek Worker'ı oluşturmanın zamanı geldi. Cloudflare Çalışanları, optimum performans için kodumuzu kullanıcılarımıza yakın, uçta çalıştırmamıza olanak tanıyan sunucusuz bir yürütme ortamı sağlar.

          1. Cloudflare Çalışanı Oluşturun

          • İşçiler Bölümüne Erişim:
            • Cloudflare panonuza giriş yapın.
            • Kenar çubuğundan “İşçiler” bölümüne gidin.
            • Bu ilk Çalışanınızsa "Hizmet Oluştur"a, zaten mevcut İşçileriniz varsa "İşçi Oluştur"a tıklayın.
          • Çalışanınızın Adını Verin:
            • Worker'ınız için "toplu yönlendirme işleyicisi" gibi açıklayıcı bir ad seçin.
            • Düzenleyiciye ilerlemek için “Hizmet Oluştur”a tıklayın.
          • İşçi Senaryosunun Yazılması:
            • Düzenleyicide, varsayılan kodu yönlendirme işleyici komut dosyasıyla değiştirin:
          varsayılan ver {
          asenkron getirme(istek) {
          const yönlendirmeMap = yeni Harita([
          ["google", "https://www.google.com?subId1=google"],
          ["bing", "https://www.bing.com?subId1=bing"],
          // Gerektiğinde buraya daha fazla yönlendirme ekleyin
          ]);

          const url = yeni URL(request.url);
          console.log("Tam URL:", url.toString());
          console.log("Ana Bilgisayar Adı:", url.ana Bilgisayar Adı);
          console.log("Yol adı:", url.yoladı);

          let yol = url.pathname.toLowerCase().replace(/^\//, '').split('/')[0];

          if (url.anasistem adı.includes('işçiler.dev')) {
          yol = url.pathname.toLowerCase().replace(/^\//, '').split('/')[1] || '';
          }

          console.log("İşlenen yol:", yol);

          const konum = yönlendirmeMap.get(yol);
          console.log("Konumu yönlendir:", konum);

          // Kalıcı yönlendirme için 301 olarak değiştirin
          eğer (konum) {
          return Response.redirect(konum, 302);
          }

          // Eğer istek haritada değilse, 404'ü veya tercih ettiğiniz geri dönüşü döndürün
          return new Response(`Bulunamadı: ${path}`, { status: 404 });
          },
          };
          • Senaryoyu Anlamak:
            • Bir tanımlıyoruz yönlendirme Haritası kısa yollarımızı ve bunlara karşılık gelen tam URL'leri içerir.
                ["google", "https://www.google.com?subId1=google"],

          yourshorturl.com/google -> https://www adresine yönlendirir.google.com?subId1=google

          ["bing", "https://www.bing.com?subId1=bing"],

          yourshorturl.com/bing, -> https://www.bing.com?subId1=bing adresine yönlendirir
          • Komut dosyası, gelen istekleri işler, yolu çıkarır ve tanımlanmış yönlendirmelerimizden herhangi biriyle eşleşip eşleşmediğini kontrol eder.
          • Bir eşleşme bulunursa ilgili URL'ye 302 (Geçici Yönlendirme) döndürür.
          • Eşleşme bulunamazsa 404 Bulunamadı yanıtı döndürür.
          • İşçiyi Test Etmek:
            • Değişiklik yapmak ve Çalışanınızı test etmek için Cloudflare kontrol panelindeki "Hızlı Düzenleme" özelliğini kullanın.
            • İstekleri simüle etmek ve Çalışanınızın nasıl yanıt verdiğini görmek için sağlanan HTTP test aracını kullanabilirsiniz.
          • İşçinin Görevlendirilmesi:
            • Testlerinizden memnun kaldığınızda Worker'ınızı canlı hale getirmek için “Kaydet ve Dağıt”a tıklayın.
          • İşçi Rotalarını Ayarlama:
          cloudflare işçi rotası
          • Dağıtımdan sonra Worker'ınız için "Tetikleyiciler" sekmesine gidin.
          • Alanınızla eşleşen bir rota ekleyin; örneğin *önerir.link/*.
          • Bu, etki alanınıza gelen tüm isteklerin bu Çalışan tarafından işlenmesini sağlar.
          • Kurulumun Doğrulanması:
            • Yönlendirme yollarınızdan birkaçına erişmeyi deneyin (ör. https://recommends.link/url-shortener-guide) beklendiği gibi çalıştıklarından emin olmak için.
            • Konsol çıktısını görmek ve yolların doğru şekilde işlendiğini doğrulamak için Cloudflare kontrol panelinizdeki İşçi Günlüklerini kontrol edin.

          4. Adım: Daha Fazla Özelleştirme (İsteğe Bağlı)

          Cloudflare KV ile Dinamik Yönlendirmeler

          Yönlendirme sistemimizi daha esnek ve yönetimi daha kolay hale getirmek için yönlendirmelerimizi depolamak için Cloudflare KV (Anahtar-Değer) depolamayı kullanabiliriz:

          KV Ad Alanı oluşturun:

          • Cloudflare kontrol panelinizde İşçiler > KV'ye gidin. "Ad alanı oluştur"u tıklayın ve ona bir ad verin (örneğin, "REDIRECT_MAP").
          KV Ad Alanını Çalışanınıza bağlayın:
          • Çalışanınızın ayarlarına gidin. “KV Ad Alanı Bağlantıları” altında yeni bir bağlama ekleyin. KV ad alanınızı seçin ve ona bir değişken adı verin (örneğin, REDIRECTS).
          Worker komut dosyasını KV'yi kullanacak şekilde değiştirin:

             varsayılan ver {
          async fetch(istek, ortam) {
          const url = yeni URL(request.url);
          const yol = url.pathname.toLowerCase().replace(/^\//, '').split('/')[0];

          const konum = wait env.REDIRECTS.get(path);

          eğer (konum) {
          return Response.redirect(konum, 301);
          }

          return new Response(`Bulunamadı: ${path}`, { status: 404 });
          },
          };

          Artık Çalışan kodunu değiştirmeden KV deposunu değiştirerek yönlendirmeleri ekleyebilir, güncelleyebilir veya kaldırabilirsiniz.

          Parametreli Yönlendirmeler

          Yönlendirmelerinizde dinamik parametrelere izin verin:

               varsayılan ver {
            async fetch(istek, ortam) {
            const url = yeni URL(request.url);
            const [yol, ...params] = url.pathname.toLowerCase().replace(/^\//, '').split('/');

            let konum = wait env.REDIRECTS.get(path);

            eğer (konum) {
            // Yer tutucuları gerçek parametrelerle değiştir
            params.forEach((param, dizin) => {
            konum = konum.replace(`{${index}}`, param);
            });
            return Response.redirect(konum, 301);
            }

            return new Response(`Bulunamadı: ${path}`, { status: 404 });
            },
            };

            Bu kurulumla "product" : "https://mystore.com/item/{0}/details" gibi bir KV girişiniz olabilir ve bunu şu şekilde kullanabilirsiniz: yourshortlink.com/product/12345.

            İzleme ve Analiz'e tıklayın

            Yönlendirme olaylarını günlüğe kaydederek temel analizleri uygulayın:

                 varsayılan ver {
              async fetch(istek, ortam) {
              const url = yeni URL(request.url);
              const yol = url.pathname.toLowerCase().replace(/^\//, '').split('/')[0];

              const konum = wait env.REDIRECTS.get(path);

              eğer (konum) {
              // Yönlendirme olayını günlüğe kaydet
              wait env.REDIRECTS.put(`${path__clicks`, (parseInt(await env.REDIRECTS.get(`${path__clicks`) || '0') + 1).toString());
              return Response.redirect(konum, 301);
              }

              return new Response(`Bulunamadı: ${path}`, { status: 404 });
              },
              };

              Özel Hata Sayfaları

              Düz metin 404 yanıtı yerine özel bir HTML sayfası döndürün:

                   const notFoundPage = `





                Bağlantı Bulunamadı

                gövde { yazı tipi ailesi: Arial, sans-serif; metin hizalama: ortala; üst dolgu: 50 piksel; }



                Hata! Bağlantı Bulunamadı
                Aradığınız kısa bağlantı mevcut değil.


                `;

                // Getirme fonksiyonunuzda:
                yeni Yanıt döndür (notFoundPage, {
                durum: 404,
                başlıklar: { 'Content-Type': 'text/html' }
                });

                Hız sınırlama

                Kötüye kullanımı önlemek için temel oran sınırlamasını uygulayın:

                     varsayılan ver {
                  async fetch(istek, ortam) {
                  const ip = request.headers.get('CF-Bağlantı-IP');
                  constrateLimitKey = `ratelimit:${ip}`;
                  const currentRequests = parseInt(await env.REDIRECTS.get(rateLimitKey) || '0');

                  if (currentRequests > 100) { // Dakika başına 100 istek sınırı
                  return new Response('Hız sınırı aşıldı', { durum: 429 });
                  }

                  wait env.REDIRECTS.put(rateLimitKey, (currentRequests + 1).toString(), {expirationTtl: 60});

                  // Yönlendirme mantığınızın geri kalanı burada
                  },
                  };

                  A / B Testi

                  Yönlendirmeleriniz için basit A/B testi uygulayın:

                       varsayılan ver {
                    async fetch(istek, ortam) {
                    const url = yeni URL(request.url);
                    const yol = url.pathname.toLowerCase().replace(/^\//, '').split('/')[0];

                    const konumA = wait env.REDIRECTS.get(`${path__A`);
                    const konumB = wait env.REDIRECTS.get(`${path__B`);

                    if (konumA && konumB) {
                    const konumu = Math.random() < 0.5 ? konumA : konumB;
                    return Response.redirect(konum, 301);
                    }

                    // A/B testi ayarlanmamışsa normal yönlendirmeye geri dönüş
                    const konum = wait env.REDIRECTS.get(path);
                    eğer (konum) {
                    return Response.redirect(konum, 301);
                    }

                    return new Response(`Bulunamadı: ${path}`, { status: 404 });
                    },
                    };

                    Bu özelleştirmeler ve genişletmeler, toplu yönlendirme sisteminize önemli işlevler ekleyerek onu daha esnek, güçlü ve bilgilendirici hale getirir. Bu özelliklerin her biri, özel ihtiyaçlarınıza ve kullanım durumlarınıza göre daha da geliştirilebilir ve genişletilebilir.

                    Bu blog yazısı boyunca Cloudflare Workers'ı kullanarak güçlü ve esnek bir özel URL kısaltıcının nasıl oluşturulacağını araştırdık. Bu çözüm, geniş ölçekte kısa bağlantılar oluşturmaya yönelik ücretsiz ve etkili bir yaklaşım sunar.

                    TL; DR:

                    1. Cloudflare Çalışanları, küresel dağıtım ve düşük gecikme süresiyle özel yönlendirme mantığını uygulamak için sunucusuz bir platform sağlar.
                    2. Özel etki alanınızı Çalışana bağlamak için doğru DNS yapılandırması ve Çalışan Rotaları kurulumu çok önemlidir.
                    3. Basit bir JavaScript tabanlı Worker, karmaşık yeniden yönlendirme senaryolarını verimli bir şekilde işleyebilir.
                    4. Cloudflare'in Anahtar-Değer (KV) depolamasından dinamik, kolay yönetilebilir yönlendirme haritaları oluşturmak için yararlanılabilir.
                    5. Parametrelendirilmiş yönlendirmeler, tıklama izleme, özel hata sayfaları, hız sınırlama ve A/B testi gibi gelişmiş özellikler, Worker ekosisteminde uygulanabilir.
                    6. Bu sistem geleneksel sistemlere göre önemli avantajlar sunuyor yönlendirme yöntemleriİyileştirilmiş performans, daha kolay yönetim ve gelişmiş esneklik dahil.

                    Oluşturduğumuz çözüm birçok avantaj sunuyor:

                    • ölçeklenebilirlik: Performans kaybı olmadan milyonlarca yönlendirmeyi yönetir.
                    • Esneklik: Temel mantığı değiştirmeden yönlendirmeleri kolayca ekleyin, değiştirin veya kaldırın.
                    • Performans: Dünya çapında hızlı yönlendirmeler için Cloudflare'in küresel ağından yararlanır.
                    • Kişiselleştirme: Analitik ve A/B testi gibi gelişmiş özelliklere olanak tanır.
                    • Maliyet etkinliği: Sunucusuz mimariyi kullanarak barındırma maliyetlerini azaltma potansiyeline sahiptir.
                    • Ücretsiz alternatif Bit.ly gibi popüler hizmetlere veya Yourls özel bir alanda markalı kısa bağlantılar oluşturmak için.

                    Artık bu Cloudflare Worker tabanlı yönlendirme sisteminin gücünü ve esnekliğini anladığınıza göre, onu eyleme geçirmenin zamanı geldi:

                    1. Henüz yapmadıysanız Cloudflare hesabına kaydolun ve Workers platformunu tanıyın.
                    2. Bu sistemi kendi markalı kısa bağlantılarınız veya toplu yönlendirmeleriniz için uygulayın.
                    3. Sistemi özel ihtiyaçlarınıza göre uyarlamak için tartıştığımız gelişmiş özellikleri deneyin.
                    4. Aşağıdaki yorumlar bölümünde deneyimlerinizi paylaşın veya sorular sorun. Görüşleriniz topluluktaki diğer kişilere yardımcı olabilir!
                    5. Daha gelişmiş kullanım örnekleri veya özel uygulamalar için bir Cloudflare Workers uzmanına veya danışmanlık hizmetine ulaşmayı düşünün.

                    Meraklı kalın, öğrenmeye devam edin ve Cloudflare Workers gibi araçlarla mümkün olanın sınırlarını zorlamaktan çekinmeyin.

                    Yazar Hakkında

                    Matt Ahlgren

                    Mathias Ahlgren CEO'su ve kurucusudur. Website Rating, küresel bir editör ve yazar ekibini yönetiyor. Bilgi bilimi ve yönetimi alanında yüksek lisans derecesine sahiptir. Kariyeri, üniversite yıllarında erken web geliştirme deneyimlerinin ardından SEO'ya yöneldi. SEO, dijital pazarlama ve web geliştirme alanında 15 yılı aşkın deneyime sahip. Odak noktası aynı zamanda Siber Güvenlik sertifikasıyla kanıtlanan web sitesi güvenliğini de içermektedir. Bu çeşitli uzmanlık onun liderliğini desteklemektedir. Website Rating.

                    Ana Sayfa » Kaynaklar ve Araçlar » Ücretsiz Özel Alan Adı URL Kısaltıcı Oluşturun (Cloudflare Çalışanlarıyla)
                    Paylaş...