Safelink Redirects Plus Ui v3.2

Thiết lập và cấu hình Safelink để bảo vệ các liên kết đi ra và quản lý hiệu quả việc chuyển hướng bên ngoài.

Plugin Safelink được thêm vào từ phiên bản 3.2, do đó bạn chỉ có thể kích hoạt nó nếu đang sử dụng phiên bản 3.2.0 trở lên.

Bạn muốn xem bản demo?? Bạn có thể xem bản demo của tính năng Safelink này tại đây. Safelink Generator trang.

Safelink là một tính năng bảo vệ và quản lý các liên kết đi ra bằng cách chuyển hướng người dùng qua một trang trung gian trước khi đến đích cuối cùng. Nó giúp cải thiện bảo mật, kiểm soát lưu lượng truy cập bên ngoài và tùy chọn hiển thị thêm nội dung như quảng cáo, cảnh báo hoặc bộ đếm thời gian. Điều này đảm bảo việc duyệt web an toàn hơn cho khách truy cập và mang lại cho chủ sở hữu blog sự linh hoạt hơn cũng như cơ hội kiếm tiền khi xử lý các liên kết bên ngoài.

Cấu hình Safelink

Để sử dụng tính năng này, trước tiên bạn cần thiết lập. Việc đầu tiên cần làm là kích hoạt plugin safelink thông qua Trình thiết kế giao diện:

  1. Hãy truy cập Trình thiết kế giao diện Blogger.
  2. Nhấp vào tab Nâng cao .
  3. Từ danh sách thả xuống, chọn Plugin: Safelink (Experimental) .
  4. Đặt chiều dài của Safelink thành 2px để kích hoạt nó.

Bây giờ bạn cần cấu hình ít nhất một trang Safelink. Trang Safelink là trang mà người dùng được chuyển hướng đến và được yêu cầu thực hiện một vài thao tác để lấy lại liên kết gốc. Bạn có thể cấu hình các trang Safelink thông qua Trình chỉnh sửa HTML của giao diện.

  1. Hãy mở Trình chỉnh sửa HTML của Blogger.
  2. Hãy tìm đoạn mã sau và đặt liên kết trang của bạn vào những vị trí được đánh dấu. Không bắt buộc phải đặt liên kết của cả bốn trang, ít nhất phải có một liên kết:

    Bạn chỉ cần nhập đường dẫn của trang thay vì toàn bộ URL. Ví dụ, nếu bạn muốn bao gồm , chỉ cần nhập . https://www.example.com/p/my-safelink-page.html, only put /p/my-safelink-page.html.

    <Variable name="safelink.page1" description="Safelink Page 1" type="string" default="" value="/p/safelink-page-1.html"/>
    [!] Safelink Page 1
    [!] @type {String}
    [!] Warning: Don't add full url of the safelink page, only include the pathname
    
    <Variable name="safelink.page2" description="Safelink Page 2" type="string" default="" value=""/>
    [!] Safelink Page 2
    [!] @type {String}
    [!] Warning: Don't add full url of the safelink page, only include the pathname
    
    <Variable name="safelink.page3" description="Safelink Page 3" type="string" default="" value=""/>
    [!] Safelink Page 3
    [!] @type {String}
    [!] Warning: Don't add full url of the safelink page, only include the pathname
    
    <Variable name="safelink.page4" description="Safelink Page 4" type="string" default="" value=""/>
    [!] Safelink Page 4
    [!] @type {String}
    [!] Warning: Don't add full url of the safelink page, only include the pathname

Liên kết an toàn từ Anchor

Bạn có thể thêm lớp tên (classname) safeL vào <a> vào các phần tử để tự động đặt liên kết phía sau tính năng safelink. Ví dụ:

<a class='button safeL' href='link_here'>title_here</a>

Nếu muốn, bạn cũng có thể sử dụng phần tử như hình bên dưới: <button>:

<button type='button' class='button safeL' data-href='link_here'>title_here</button>

Safelink Generator

Công cụ tạo Safelink cho phép bạn tạo safelink từ liên kết gốc. Bạn có thể tích hợp công cụ này vào một trang hiện có hoặc một trang mới.

  1. Trong chế độ xem trình chỉnh sửa trang, hãy nhấp chuột biểu tượng ở góc dưới bên phải của tiêu đề.
  2. Sẽ xuất hiện hai tùy chọn:: Chế độ xem HTMLChế độ xem soạn thảo.
  3. Lựa chọn 'Chế độ xem HTML'.
  4. Sao chép và dán đoạn mã sau.
    <!--[ Begin: Safelink Generator area ]-->
    <style>
    .inF.cB button{--svgW:16px;--svgH:16px;position:absolute;inset-block-start:10px;inset-inline-end:10px;width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:var(--contentB);border-radius:8px;border:1px solid var(--contentLa);opacity:0.5;cursor:pointer}
    .inF.cB input{padding-inline-end:50px}
    .inF.cB input:not(:placeholder-shown) ~ button{opacity:1}
    .sgMw{max-width:600px;margin:40px auto}
    .sgOw{display:flex;align-items:center;gap:12px 8px;flex-wrap:wrap;background:var(--contentB);border:1px solid var(--contentL);border-radius:5px;padding:12px}
    .sgOw span{width:100%;line-height:1.4em;font-size:14px}
    .sgOw button{--svgW:20px;--svgH:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;background:var(--linkB);color:#fffdfc;border-radius:8px;cursor:pointer}
    </style>
    <script>
    /*! Plus UI Javascript (safelink/generator.js) | Authors: Deo Kumar, Armaan Kumar (https://fineshopdesign.com) | License: Unlicensed | Copyright (c) 2024-2025 Fineshop Design */
    "use strict";((e,t,l)=>{let{cEl:n,iAE:a,aEL:s,qSel:i,gId:p,eHTML:o,tNtf:g,df:c,pl:u,bg:r}=e,d=e=>(e=>new URL(e,l.baseURI))((e=>e.replace(/(^\w+:|^)/,""))(e)),h=(t,l,n="s")=>{let a=(t=>{let l=JSON.stringify(t);return{decoded:t,value:l,data:e.B64.O3.e(l)}})(l);return t+`#${n}=${encodeURIComponent(a.data)}`},v=u.sl,b=v.pg.map(e=>new URL(e,r.cnHmU).href),f=l.currentScript,C=[];v.ok||C.push("The Safelink plugin is not enabled. The generated links will not work until it is enabled."),0===b.length&&C.push("No Safelink page has been configured!");let k=n("div",{className:"sgMw",innerHTML:`${0!==C.length?`<div class='alert warning'><b>Warning!</b>${C.map((e,t)=>`${t+1}. ${e}`).join("<br>")}</div>`:""}<div class='inF cB' data-message='URL must begin with http:// or https://'><input type='text' name='link' id='sg_f_link' placeholder=' '><label for='sg_f_link'>Destination URL</label><button type='button' id='sg_f_clear_link'><svg class='line' viewBox='0 0 24 24'><path d='M19.0005 4.99988L5.00049 18.9999M5.00049 4.99988L19.0005 18.9999'></path></svg></button></div><div class='inF' data-message='Select a page for safelink'><select id='sg_f_page'><optgroup label='Static pages'><option value='${o(r.cnHmU)}'${0===b.length?" selected":""}>Homepage</option></optgroup>${0!==b.length?`<optgroup label='Safelink Pages'>${b.reduce((e,t,l)=>`${e}<option value='${o(t)}'${0===l?" selected":""}>Safelink Page (${o(v.pg[l])})</option>`,"")}</optgroup>`:""}</select><label for='sg_f_page'>Safelink Page</label></div><div class='sgOw'><span class='sgOl'></span><button type='button' class='sgOv'><svg class='line' viewBox='0 0 24 24'><path d='M15.58 12C15.58 13.98 13.98 15.58 12 15.58C10.02 15.58 8.42004 13.98 8.42004 12C8.42004 10.02 10.02 8.42004 12 8.42004C13.98 8.42004 15.58 10.02 15.58 12Z'></path><path d='M12 20.27C15.53 20.27 18.82 18.19 21.11 14.59C22.01 13.18 22.01 10.81 21.11 9.39997C18.82 5.79997 15.53 3.71997 12 3.71997C8.46997 3.71997 5.17997 5.79997 2.88997 9.39997C1.98997 10.81 1.98997 13.18 2.88997 14.59C5.17997 18.19 8.46997 20.27 12 20.27Z'></path></svg></button><button type='button' class='sgOc'><svg class='line' viewBox='0 0 24 24'><path d='M16 12.9V17.1C16 20.6 14.6 22 11.1 22H6.9C3.4 22 2 20.6 2 17.1V12.9C2 9.4 3.4 8 6.9 8H11.1C14.6 8 16 9.4 16 12.9Z'></path><path d='M22 6.9V11.1C22 14.6 20.6 16 17.1 16H16V12.9C16 9.4 14.6 8 11.1 8H8V6.9C8 3.4 9.4 2 12.9 2H17.1C20.6 2 22 3.4 22 6.9Z'></path></svg></button></div>`});a(f,"beforebegin",k);let $=p("sg_f_link"),_=p("sg_f_clear_link"),m=p("sg_f_page"),w=i(".sgOl",k),H=i(".sgOv",k),L=i(".sgOc",k),U=()=>{if(!e.B64)return null;let t=$.value.trim();return""===t?null:(/^https?:\/\//.test(t)||(t=`https://${t}`),h(m.value,{v:1,u:t}))},M=()=>{let e=U();w.innerText=e||"Input a valid Destination URL first!"};M(),s($,"change",M),s($,"input",M),s($,"keyup",M),s(m,"change",M),s(m,"input",M),s($,"blur",()=>{let e=$.value.trim();""!==e&&(/^https?:\/\//.test(e)?$.value!==e&&($.value=e):$.value=`https://${e}`)}),s(_,"click",()=>{$.value="",M()}),s(H,"click",()=>{let e=U();e?t.open(e,"_blank"):g(w.textContent)}),s(L,"click",()=>{let t=U();t?e.cpT(t).then(()=>g("Link copied to clipboard!")):g(w.textContent)}),c.then(()=>{M(),e.iBF().then(async e=>{let t=new e(d(r.cnHmU)),[l,a]=await Promise.all([t.posts.list(),t.pages.list()]);[["Recent Posts",l],["Recent Pages",a]].forEach(([e,t])=>{let l=n("optgroup",{attributes:{label:e},innerHTML:t.reduce((e,t)=>`${e}<option value='${o(t.url)}'>${o(t.title)}</option>`,"")});m.appendChild(l)})})})})(PU,window,document);
    </script>
    <!--[ End: Safelink Generator area ]-->
    
  5. Bạn nên thêm một đoạn mô tả trang phía trên đoạn mã đã cho.

Đăng nhận xét