Sukurkite nemokamą tinkintą domeno URL trumpiklį (su „Cloudflare Workers“)

in Ištekliai ir įrankiai

Mūsų turinį palaiko skaitytojai. Jei spustelėsite mūsų nuorodas, galime uždirbti komisinį atlyginimą. Kaip mes peržiūrime.

Šiame įraše pasidalinsiu su jumis kaip galite sukurti savo tinkintą domeno URL trumpiklį naudodami „Cloudflare Workers“.. Nesvarbu, ar esate žiniatinklio kūrėjas, norintis prie savo diržo pridėti dar vieną įrankį, verslo savininkas, norintis jūsų nuorodų prekės ženklą naudoti be didelės kainos, ar tiesiog žmogus, mėgstantis dirbti su žiniatinklio technologijomis, šis žingsnis po žingsnio vadovas skirtas tu.

Kaip žiniatinklio kūrėjas ir technologijų entuziastas mane visada žavėjo smulkmenos, kurios daro internetą veiksmingesnį ir patogesnį. Vieną dieną, dalindamasis ypač ilgu ir sudėtingu URL su kolega, noriu paprasto, individualizuoto būdo sutrumpinti nuorodas. Žinoma, yra daugybė URL sutrumpinimo paslaugų, bet norėjau kažko, kas labiau jaustųsi „aš“ – ko galėčiau pritaikyti ir valdyti.

Tada man suklupo idėja sukurti savo tinkintą URL sutrumpinimą naudojant „Cloudflare Workers“.. Tai buvo tarsi paslėpto lobio radimas didžiulėje interneto technologijų jūroje. Galėčiau ne tik sutrumpinti URL, bet ir tai padaryti naudodamas savo domeno pavadinimą nemokamai! Šio atradimo jaudulys priminė pirmą kartą, kai įdiegiau svetainę – tą įgalinimo ir begalinių galimybių antplūdį.

Šį atradimą dar labiau jaudino supratimas, kad jis gali būti puiki, nemokama alternatyva populiarioms paslaugoms, tokioms kaip Bit.ly arba TinyURL, kuriant firmines trumpas nuorodas tinkintame domene. Daugelis įmonių ir privačių asmenų moka gerus pinigus už tokią funkciją, tačiau čia yra būdas pasiekti tą patį rezultatą neišleidžiant nė cento.

1 veiksmas: užregistruokite domeno vardą (naudokite trumpą domeną)

    Pirmasis žingsnis kuriant tinkintą URL sutrumpinimą yra domeno pavadinimo užregistravimas. Tai bus jūsų firminių trumpų nuorodų pagrindas, todėl rinkitės išmintingai!

    Štai keli patarimai, padėsiantys pasirinkti tobulą domeną:

    1. Trumpai: Visa URL sutrumpinimo esmė yra sukurti glaustas nuorodas. Jei įmanoma, ieškokite 3–5 simbolių domenų vardų. Tai gali būti santrumpa, akronimas arba patrauklus žodis.
    2. Padarykite tai įsimintiną: pasirinkite ką nors lengvai įsimenamo ir įvedamo. Taip jums ir kitiems bus lengviau naudotis jūsų sutrumpintomis nuorodomis.
    3. Apsvarstykite savo prekės ženklą: jei naudojate tai verslo ar asmeniniam prekės ženklui, pabandykite suderinti domeną su esamu prekės ženklo identitetu.
    4. Patikrinkite užimtumą: trumpi, patrauklūs domenai yra labai paklausūs. Jei pirmasis pasirinkimas nepasiekiamas, gali tekti būti kūrybiškiems arba apsvarstyti alternatyvius aukščiausio lygio domenus (ALD), pvz., .io, .co arba .me.
    5. Pagalvokite apie ALD: Nors .com yra populiarus, nevenkite kitų ALD. Kai kurie, pvz., .link arba .click, gali būti ypač tinkami URL sutrumpinimui.

    Štai keli pavyzdžiai, kurie jus įkvėps:

    • abc.nuoroda
    • go.io
    • shrt.co
    • zap.me

    Pasirinkę domeną, turėsite jį įsigyti iš domenų registratoriaus. Kai kurios populiarios parinktys:

    • Namecheap
    • GoDaddy
    • Cloudflare (Rekomenduojama – tai taip pat labai patogu, nes naudosime „Cloudflare Workers“)

    Atminkite, kad nors domenas kainuos pinigus, tai yra vienkartinis pirkimas per metus, o likusi URL sutrumpinimo sąranka bus nemokama naudojant „Cloudflare Workers“.

    Profesionalo patarimas: prieš užbaigdami pirkimą įsitikinkite, kad domenas nesusietas su jokiu šlamštu ar kenkėjiška veikla. Galite patikrinti jo istoriją naudodami tokius įrankius kaip Domain Tools arba Wayback Machine.

    Turėdami naują spindintį domeną, esate pasirengę pereiti prie kito veiksmo: nustatyti „Cloudflare“ savo domenui. Bet mes tai aptarsime kitame skyriuje.

    2 veiksmas: sukonfigūruokite savo domeno DNS įrašus

    Dabar, kai turite domeną, laikas nustatyti DNS konfigūraciją. Šis veiksmas yra labai svarbus siekiant užtikrinti, kad jūsų „Cloudflare Workers“ tinkamai veiktų su jūsų naujai užregistruotu domenu.

    Cloudflare

    Pereikime per procesą:

    1. Pridėkite savo domeną prie „Cloudflare“.

      • Jei dar to nepadarėte, susikurkite nemokamą „Cloudflare“ paskyrą.
      • „Cloudflare“ prietaisų skydelyje spustelėkite „Pridėti svetainę“ ir įveskite savo domeno pavadinimą.
      • „Cloudflare“ nuskaitys esamus DNS įrašus. Ištrinkite visus rastus įrašus (nebent domeną taip pat naudojate el. paštui ar kitoms svarbioms paslaugoms, tokiu atveju pasilikite juos).

      2. Atnaujinkite vardų serverius (nepaisykite šio veiksmo, jei jūsų domenas užregistruotas „Cloudflare“)

        „Cloudflare“ vardų serveriai
        • „Cloudflare“ suteiks jums vardų serverių rinkinį.
        • Eikite į savo domeno registratoriaus svetainę ir pakeiskite esamus vardų serverius tais, kuriuos teikia „Cloudflare“.
        • Šis veiksmas gali užtrukti iki 24 valandų, kol jis bus paplitęs visame pasaulyje.

        3. Sukonfigūruokite DNS įrašus

        „Cloudflare“ DNS valdymas
        • „Cloudflare“ DNS nustatymuose pridėsime du naujus A įrašus.
        • Pridėti:
        Tipas: A
        Vardas: @
        Turinys: 192.0.2.1
        TTL: Automatinis
        Tarpinio serverio būsena: Įgaliotinis (oranžinis debesis – labai svarbu)

        Tipas: A
        Vardas: WWW
        Turinys: 192.0.2.1
        TTL: Automatinis
        Tarpinio serverio būsena: Įgaliotinis (oranžinis debesis – labai svarbu)

        Šis 192.0.2.1 IP yra specialus „fiktyvus“ adresas. Jis skirtas dokumentacijai ir bandymams, todėl jis puikiai atitinka mūsų poreikius.

        4. Įgalinkite „Cloudflare“ tarpinį serverį

        • Įsitikinkite, kad tarpinio serverio būsena (oranžinė debesies piktograma) įjungta jūsų DNS įraše.
        • Tai leidžia „Cloudflare“ įgalioti jūsų srautą ir yra būtina, kad „Cloudflare Workers“ veiktų.

        5. Patikrinkite konfigūraciją

        • Kai vardų serverio pakeitimas bus paplitęs, „Cloudflare“ parodys jūsų domeną kaip „Active“.
        • Tai galite patikrinti „Cloudflare“ prietaisų skydelyje.

          Svarbiausia yra tai, kad mes nenukreipiame jūsų domeno į tikrą žiniatinklio prieglobą. 192.0.2.1 adresas yra tik vietos rezervavimo ženklas. Jūsų „Cloudflare Worker“, kurį nustatysime toliau, perims visas jūsų domeno užklausas ir tvarkys URL sutrumpinimo logiką.

          Profesionalų patarimas: ši sąranka reiškia, kad jums nereikia mokėti ar valdyti jokios žiniatinklio prieglobos. „Cloudflare Workers“ atliks visus sunkius kėlimus, todėl šis sprendimas bus ne tik nemokamas, bet ir neįtikėtinai lengvas bei lengvai prižiūrimas.

          Kai DNS tinkamai sukonfigūruotas, dabar esate pasirengę pereiti prie įdomios dalies – nustatyti „Cloudflare Worker“, kad būtų galima sutrumpinti URL.

          3 veiksmas: „Cloudflare“ darbuotojo sukūrimas

          Dabar, kai „Cloudflare“ sukonfigūravome domeną, laikas sukurti darbuotoją, kuris tvarkys mūsų peradresavimus. „Cloudflare Workers“ teikia vykdymo aplinką be serverio, leidžiančią mums paleisti savo kodą pačiame pakraštyje, arti vartotojų, kad būtų užtikrintas optimalus našumas.

          1. Sukurkite „Cloudflare Worker“.

          • Prieiga prie darbuotojų skyriaus:
            • Prisijunkite prie „Cloudflare“ prietaisų skydelio.
            • Šoninėje juostoje eikite į skyrių „Darbuotojai“.
            • Spustelėkite „Sukurti paslaugą“, jei tai jūsų pirmasis darbuotojas, arba „Sukurti darbuotoją“, jei jau turite darbuotojų.
          • Pavadinkite savo darbuotoją:
            • Pasirinkite aprašomąjį savo darbuotojo pavadinimą, pvz., „masinių peradresavimų tvarkytojas“.
            • Spustelėkite „Sukurti paslaugą“, kad pereitumėte į redaktorių.
          • Darbuotojo scenarijaus rašymas:
            • Redagavimo priemonėje pakeiskite numatytąjį kodą peradresavimo tvarkyklės scenarijumi:
          eksportuoti numatytąjį {
          async fetch(request) {
          const redirectMap = naujas žemėlapis([
          ["google“, „https://www.google.com?subId1=google"],
          ["bing", "https://www.bing.com?subId1=bing"],
          // Jei reikia, pridėkite daugiau peradresavimų
          ]);

          const url = naujas URL(request.url);
          console.log("Visas URL:", url.toString());
          console.log("Pagrindinio kompiuterio pavadinimas:", url.hostname);
          console.log("Kelio pavadinimas:", url.kelio pavadinimas);

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

          if (url.hostname.includes('workers.dev')) {
          path = url.pathname.toLowerCase().replace(/^\//, '').split('/')[1] || '';
          }

          console.log("Apdorotas kelias:", kelias);

          const vieta = redirectMap.get(kelias);
          console.log("Peradresuoti vietą:", vieta);

          // Nuolatiniam peradresavimui pakeisti į 301
          if (vieta) {
          return Response.redirect(vieta, 302);
          }

          // Jei užklausos nėra žemėlapyje, grąžinkite 404 arba pageidaujamą atsarginį numerį
          return new Response(`Nerasta: ${path}`, { status: 404 });
          },
          };
          • Scenarijaus supratimas:
            • Apibrėžiame a redirectMap kuriame yra mūsų trumpieji keliai ir juos atitinkantys pilni URL adresai.
           ["google“, „https://www.google.com?subId1=google"],

          yourshorturl.com/google nukreipia į -> https://www.google.com?subId1=google

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

          yourshorturl.com/bing nukreipia į -> https://www.bing.com?subId1=bing
          • Scenarijus apdoroja gaunamas užklausas, ištraukia kelią ir patikrina, ar jis atitinka bet kurį iš mūsų nustatytų peradresavimų.
          • Jei randama atitiktis, ji grąžina 302 (laikiną peradresavimą) į atitinkamą URL.
          • Jei atitikmens nerasta, jis pateikia 404 nerasta atsakymą.
          • Darbuotojo testavimas:
            • Norėdami atlikti pakeitimus ir išbandyti savo darbuotoją, naudokite „Cloudflare“ prietaisų skydelio funkciją „Greitas redagavimas“.
            • Galite naudoti pateiktą HTTP testavimo įrankį, kad imituotumėte užklausas ir pamatytumėte, kaip jūsų darbuotojas reaguoja.
          • Darbuotojo dislokavimas:
            • Kai būsite patenkinti savo testais, spustelėkite „Išsaugoti ir įdiegti“, kad jūsų darbuotojas veiktų.
          • Darbuotojų maršrutų nustatymas:
          „Cloudflare“ darbuotojų maršrutas
          • Įdiegę eikite į savo darbuotojo skirtuką „Triggers“.
          • Pridėkite maršrutą, atitinkantį jūsų domeną, pvz., *recommends.link/*.
          • Taip užtikrinama, kad visas jūsų domeno užklausas apdoros šis darbuotojas.
          • Sąrankos patikrinimas:
            • Pabandykite pasiekti kelis peradresavimo kelius (pvz., https://recommends.link/url-shortener-guide), kad įsitikintumėte, jog jie veikia taip, kaip tikėtasi.
            • Patikrinkite darbuotojų žurnalus savo „Cloudflare“ prietaisų skydelyje, kad pamatytumėte konsolės išvestį ir patikrintumėte, ar keliai apdorojami tinkamai.

          4 veiksmas: daugiau tinkinimų (pasirenkama)

          Dinaminiai peradresavimai naudojant „Cloudflare KV“.

          Norėdami, kad mūsų peradresavimo sistema būtų lankstesnė ir lengviau valdoma, galime naudoti Cloudflare KV (Key-Value) saugyklą, kad saugotume peradresavimus:

          Sukurkite KV vardų erdvę:

          • „Cloudflare“ prietaisų skydelyje eikite į Darbuotojai > KV. Spustelėkite „Sukurti vardų erdvę“ ir suteikite pavadinimą (pvz., „REDIRECT_MAP“).
          Susiekite KV vardų erdvę su savo darbuotoja:
          • Eikite į savo darbuotojo nustatymus. Skiltyje „KV Namespace Bindings“ pridėkite naują susiejimą. Pasirinkite savo KV vardų sritį ir suteikite jai kintamojo pavadinimą (pvz., REDIRECTS).
          Modifikuokite Worker scenarijų, kad galėtumėte naudoti KV:

           eksportuoti numatytąjį {
          async fetch(request, env) {
          const url = naujas URL(request.url);
          const kelias = url.pathname.toLowerCase().replace(/^\//, '').split('/')[0];

          const vieta = laukti env.REDIRECTS.get(path);

          if (vieta) {
          return Response.redirect(vieta, 301);
          }

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

          Dabar galite pridėti, atnaujinti arba pašalinti peradresavimus pakeisdami KV parduotuvę nekeisdami darbuotojo kodo.

          Parametrizuoti peradresavimai

          Peradresavimuose leiskite naudoti dinaminius parametrus:

             eksportuoti numatytąjį {
            async fetch(request, env) {
            const url = naujas URL(request.url);
            const [kelias, ...params] = url.pathname.toLowerCase().replace(/^\//, '').split('/');

            tegul vieta = laukti env.REDIRECTS.get(path);

            if (vieta) {
            // Vietos žymeklius pakeiskite faktiniais parametrais
            params.forEach((param, index) => {
            vieta = vieta.pakeisti(`{${index}}`, param);
            });
            return Response.redirect(vieta, 301);
            }

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

            Naudodami šią sąranką galite turėti KV įrašą, pvz., „produktas“: „https://mystore.com/item/{0}/details“ ir naudoti jį kaip yourshortlink.com/product/12345.

            Spustelėkite Stebėjimas ir analizė

            Įdiekite pagrindinę analizę registruodami peradresavimo įvykius:

               eksportuoti numatytąjį {
              async fetch(request, env) {
              const url = naujas URL(request.url);
              const kelias = url.pathname.toLowerCase().replace(/^\//, '').split('/')[0];

              const vieta = laukti env.REDIRECTS.get(path);

              if (vieta) {
              // Užregistruokite peradresavimo įvykį
              laukti env.REDIRECTS.put(`${path}_clicks`, (parseInt(laukti env.REDIRECTS.get(`${path}_clicks`) || '0') + 1).toString());
              return Response.redirect(vieta, 301);
              }

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

              Priskirti klaidų puslapiai

              Vietoj paprasto teksto 404 atsakymo grąžinkite tinkintą HTML puslapį:

                 const notFoundPage = `





                Nuoroda nerasta

                body { font-family: Arial, sans-serif; teksto lygiavimas: centre; pamušalas-viršus: 50px; }



                Oi! Nuoroda nerasta
                Trumpa nuoroda, kurios ieškote, neegzistuoja.


                `;

                // Jūsų gavimo funkcijoje:
                return new Response(notFoundPage, {
                būsena: 404,
                antraštės: { 'Content-Type': 'text/html' }
                });

                greitį ribojantis

                Įdiekite bazinio tarifo ribojimą, kad išvengtumėte piktnaudžiavimo:

                   eksportuoti numatytąjį {
                  async fetch(request, env) {
                  const ip = request.headers.get('CF-Connecting-IP');
                  const rateLimitKey = `ratelimit:${ip}`;
                  const currentRequests = parseInt(laukti env.REDIRECTS.get(rateLimitKey) || '0');

                  if (currentRequests > 100) { // 100 užklausų per minutę limitas
                  return new Response('Viršytas normos limitas', { status: 429 });
                  }

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

                  // Likusi peradresavimo logika čia
                  },
                  };

                  A / B testavimas

                  Įdiekite paprastą A/B testavimą savo peradresavimui:

                     eksportuoti numatytąjį {
                    async fetch(request, env) {
                    const url = naujas URL(request.url);
                    const kelias = url.pathname.toLowerCase().replace(/^\//, '').split('/')[0];

                    const locationA = laukti env.REDIRECTS.get(`${path}_A`);
                    const locationB = laukti env.REDIRECTS.get(`${path}_B`);

                    if (vietaA ir vietaB) {
                    const vieta = Math.random() < 0.5? vietaA: vietaB;
                    return Response.redirect(vieta, 301);
                    }

                    // Atsarginis peradresavimas, jei A/B testas nenustatytas
                    const vieta = laukti env.REDIRECTS.get(path);
                    if (vieta) {
                    return Response.redirect(vieta, 301);
                    }

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

                    Šie tinkinimai ir išplėtimai padidina jūsų masinio peradresavimo sistemos funkcionalumą, todėl ji tampa lankstesnė, efektyvesnė ir informatyvesnė. Kiekvieną iš šių funkcijų galima toliau tobulinti ir išplėsti, atsižvelgiant į konkrečius poreikius ir naudojimo atvejus.

                    Šiame tinklaraščio įraše tyrinėjome, kaip sukurti galingą ir lankstų tinkintą URL sutrumpinimą naudojant „Cloudflare Workers“. Šis sprendimas siūlo nemokamą ir veiksmingą būdą sukurti trumpas nuorodas.

                    Lt; DR:

                    1. „Cloudflare Workers“ teikia platformą be serverio, skirtą pritaikytai peradresavimo logikai įgyvendinti su pasauliniu paskirstymu ir maža delsa.
                    2. Tinkama DNS konfigūracija ir darbuotojo maršrutų sąranka yra labai svarbūs norint prijungti pasirinktinį domeną prie darbuotojo.
                    3. Paprastas „JavaScript“ pagrindu veikiantis darbuotojas gali efektyviai tvarkyti sudėtingus peradresavimo scenarijus.
                    4. „Cloudflare“ raktinės vertės (KV) saugykla gali būti panaudota kuriant dinamiškus, lengvai valdomus peradresavimo žemėlapius.
                    5. Darbuotojo ekosistemoje gali būti įdiegtos išplėstinės funkcijos, pvz., parametrizuoti peradresavimai, paspaudimų stebėjimas, pasirinktiniai klaidų puslapiai, dažnio ribojimas ir A/B testavimas.
                    6. Ši sistema turi didelių pranašumų prieš tradicinę peradresavimo metodai, įskaitant geresnį našumą, lengvesnį valdymą ir didesnį lankstumą.

                    Mūsų sukurtas sprendimas turi keletą privalumų:

                    • Mastelis: tvarko milijonus peradresavimų nepablogindamas našumo.
                    • Lankstumas: lengvai pridėkite, keiskite arba pašalinkite peradresavimus nekeisdami pagrindinės logikos.
                    • spektaklis: Naudojasi pasauliniu „Cloudflare“ tinklu greitam peradresavimui visame pasaulyje.
                    • Pritaikymas: leidžia naudoti išplėstines funkcijas, pvz., analizę ir A/B testavimą.
                    • Kainos efektyvumas: Naudojama architektūra be serverio, todėl galima sumažinti prieglobos išlaidas.
                    • Nemokama alternatyva į populiarias paslaugas, tokias kaip Bit.ly arba Tavo siela norėdami sukurti trumpąsias firmines nuorodas tinkintame domene.

                    Dabar, kai suprantate šios „Cloudflare Worker“ pagrindu veikiančios peradresavimo sistemos galią ir lankstumą, laikas pradėti ją veikti:

                    1. Jei dar to nepadarėte, prisiregistruokite gauti Cloudflare paskyrą ir susipažinkite su Workers platforma.
                    2. Įdiekite šią sistemą savo prekės ženklo trumpoms nuorodoms arba masiniams peradresavimams.
                    3. Eksperimentuokite su išplėstinėmis funkcijomis, kurias aptarėme, kad pritaikytumėte sistemą pagal savo konkrečius poreikius.
                    4. Pasidalykite savo patirtimi arba užduokite klausimus toliau pateiktame komentarų skyriuje. Jūsų įžvalgos gali padėti kitiems bendruomenės nariams!
                    5. Jei reikia sudėtingesnių naudojimo atvejų ar pritaikytų diegimų, apsvarstykite galimybę susisiekti su „Cloudflare Workers“ ekspertu arba konsultavimo tarnyba.

                    Būkite smalsūs, mokykitės ir nedvejodami peržengkite ribas, kas įmanoma naudojant tokius įrankius kaip „Cloudflare Workers“.

                    apie Autorius

                    Mattas Ahlgrenas

                    Mathias Ahlgren yra bendrovės vadovas ir įkūrėjas Website Rating, vadovaudamas pasaulinei redaktorių ir rašytojų komandai. Jis yra įgijęs informacijos mokslo ir vadybos magistro laipsnį. Jo karjera pakrypo į SEO po ankstyvos žiniatinklio kūrimo patirties universitete. Daugiau nei 15 metų dirbantis SEO, skaitmeninės rinkodaros ir interneto svetainių kūrėjų srityse. Jo dėmesys taip pat apima svetainių saugumą, kurį patvirtina kibernetinio saugumo sertifikatas. Ši įvairiapusė patirtis patvirtina jo vadovavimą Website Rating.

                    Pagrindinis » Ištekliai ir įrankiai » Sukurkite nemokamą tinkintą domeno URL trumpiklį (su „Cloudflare Workers“)
                    Bendrinti su...