Bagikan melalui


Menggunakan Aturan Keluar untuk menambahkan kode pelacakan Analitik Web

oleh Ruslan Yakushev

Bagian dokumentasi ini berlaku untuk Modul Penulisan Ulang URL Versi 2.0 untuk IIS 7.

Panduan ini akan memandu Anda melalui cara membuat aturan penulisan ulang keluar IIS yang menyisipkan skrip pelacakan analitik Web ke halaman Web.

Prasyarat

Untuk menjalankan panduan ini, Anda harus memiliki hal berikut:

  1. Url Rewrite Modul 2.0 RCrelease terinstal.

Pendahuluan

Tujuan dari layanan analitik Web adalah untuk menyediakan informasi statistik kepada penerbit situs Web tentang pengunjung ke situs mereka. Informasi ini membantu penerbit situs mengoptimalkan konten, iklan, dan penawaran layanan untuk meningkatkan kepuasan pelanggan dan ROI. Biasanya, layanan analitik Web online seperti Google Analytics atau pekerjaan Omniture dengan mengumpulkan data tentang pengunjung situs Web. Ketika pemilik situs meminta laporan, penyedia analitik Web memproses data ini dan menyajikannya kepada pemilik situs dalam format yang nyaman dan mudah dipahami. Untuk mengaktifkan pengumpulan data yang diperlukan untuk analitik, pemilik situs Web harus melengkapi semua halaman di situs Web dengan skrip pelacakan yang dikeluarkan oleh penyedia layanan analitik Web

Dalam beberapa kasus, penambahan kode pelacakan ke halaman Web adalah tugas sederhana. Namun, dalam banyak kasus mungkin perlu menambahkan skrip secara manual ke banyak halaman Web. Dalam kasus tersebut, instrumentasi analitik Web menjadi tugas yang mahal dan memakan waktu. Kemampuan penulisan ulang respons dalam modul penulisan ulang URL versi 2 dapat membantu dalam situasi tersebut dengan menjalankan aturan keluar yang mengubah konten respons dengan cepat.

Membuat Aturan Penulisan Ulang Keluar

Untuk memulai, Anda akan membuat aturan penulisan ulang keluar yang menambahkan cuplikan kode JavaScript ke dalam respons HTML. Cuplikan kode dimasukkan segera sebelum tag penutup </isi> , seperti dalam ilustrasi berikut

... 
    <script type='text/javascript'>
        //Your web analytics tracking code goes here...
    </script>
</body>

Contoh kode pelacakan analitik web H T M L dan kode X M L yang menunjukkan fungsi HtmlEncode.PERINGATAN: Dalam contoh khusus ini kode JavaScript diasumsikan berasal dari sumber tepercaya dan harus dimasukkan ke halaman HTML apa adanya. Dalam banyak kasus lain ketika header respons atau konten respons dimodifikasi oleh aturan penulisan ulang keluar, perhatian ekstra harus diambil untuk memastikan bahwa teks yang dimasukkan ke dalam respons tidak berisi kode yang dapat dieksekusi sisi klien, yang dapat mengakibatkan kerentanan pembuatan skrip lintas situs. Ini sangat penting ketika aturan penulisan ulang menggunakan data yang tidak tepercaya, seperti header HTTP atau string kueri, untuk membangun string yang akan dimasukkan ke dalam respons HTTP. Dalam kasus seperti itu, string pengganti harus dikodekan HTML dengan menggunakan fungsi HtmlEncode , misalnya:

<action type="Rewrite" value="{HtmlEncode:{HTTP_REFERER}}" />

Untuk membuat aturan keluar:

  1. Buka Manajer IIS
  2. Pilih "Situs Web Default"
  3. Di Tampilan Fitur pilih "Modul Penulisan Ulang URL"
    Cuplikan layar tampilan fitur jendela I I S Manager dengan Penulisan Ulang U R L dipilih.
  4. Di panel Tindakan di sisi kanan klik "Tambahkan Aturan...". Dalam dialog "Tambahkan Aturan" pilih "Aturan Kosong" di bawah kategori "Aturan keluar" dan klik OK.
    Cuplikan layar kotak dialog Tambahkan Aturan dengan Aturan Kosong dipilih di bawah Aturan Keluar.

Sekarang Anda harus menentukan aturan keluar yang sebenarnya. Dalam MODUL Penulisan Ulang URL 2.0, aturan penulisan ulang keluar ditentukan dengan menentukan informasi berikut:

  • Nama aturan.
  • Prasyarat opsional yang mengontrol apakah aturan ini harus diterapkan ke respons.
  • Pola yang digunakan untuk mencocokkan string dalam respons.
  • Serangkaian kondisi opsional.
  • Tindakan yang harus dilakukan jika pola cocok dan semua pemeriksaan kondisi berhasil.

Penamaan aturan

Dalam kotak teks "Nama" masukkan nama yang akan mengidentifikasi aturan secara unik, misalnya: "Tambahkan skrip pelacakan".

Menentukan Prasyarat

Prasyarat digunakan untuk mengevaluasi apakah evaluasi aturan keluar harus dilakukan pada respons. Misalnya jika aturan yang memodifikasi konten HTML, hanya respons HTTP dengan header jenis konten yang diatur ke "teks/html" yang harus dievaluasi terhadap aturan ini. Evaluasi aturan keluar dan penulisan ulang konten adalah operasi intensif CPU yang dapat berdampak negatif pada performa aplikasi web. Oleh karena itu, gunakan prasyarat untuk mempersempit kasus ketika aturan keluar diterapkan.

Karena aturan yang Anda buat harus diterapkan hanya pada respons HTML, Anda akan menentukan prasyarat yang memeriksa apakah jenis konten header respons HTTP setara dengan "teks/html".

Untuk menentukan prasyarat:

  1. Di daftar Pra-kondisi, pilih "<Buat Pra-kondisi Baru...>".

  2. Ini akan membawa Anda ke dialog editor Pra-kondisi, di mana Anda harus menentukan prasyarat. Tentukan pengaturan prasyarat sebagai berikut:

    • Nama: "IsHTML"

    • Menggunakan: "Ekspresi Reguler"

    • Klik "Tambahkan" untuk memunculkan dialog "Tambahkan kondisi". Dalam dialog ini tentukan:

      • Input kondisi: "{RESPONSE_CONTENT_TYPE}"

      • Periksa apakah string input: "Cocok dengan pola"

      • Pola: "^text/html"

        Cuplikan layar dialog Tambahkan editor Pra-kondisi dengan pengaturan.

  3. Klik OK untuk menyimpan prasyarat dan kembali ke halaman "Edit Aturan".

Menentukan cakupan yang cocok

Aturan penulisan ulang keluar dapat beroperasi pada konten header HTTP atau pada konten isi respons. Aturan ini perlu mengubah konten respons sehingga dalam daftar drop-down "Cakupan Pencocokan" pilih "Respons".

Menentukan pola

Di daftar drop-down "Menggunakan:", pilih opsi "Kecocokan persis".

Dalam kotak teks "Pola" masukkan string berikut:

</body>

Menentukan tindakan

Pilih jenis tindakan "Rewrite" yang tercantum dalam kotak grup "Tindakan". Dalam kotak teks "Nilai", masukkan string berikut:

<script type='text/javascript'>//Your web analytics tracking code goes here...</script></body>

String ini menentukan nilai baru yang akan digunakan sebagai pengganti string yang cocok dalam respons. Dalam kasus khusus ini string "</body>" akan diganti dengan cuplikan kode JavaScript diikuti dengan tag isi HTML penutup.

Biarkan nilai default untuk semua pengaturan lainnya. Halaman properti "Edit Aturan" akan terlihat seperti halaman berikut:

Cuplikan layar halaman properti Edit Aturan Keluar dengan pengaturan yang dipilih.

Simpan aturan dengan mengklik tindakan "Terapkan" di sisi kanan.

Menampilkan aturan penulisan ulang dalam file konfigurasi

Aturan penulisan ulang disimpan baik dalam file aplicationHost.config atau di file web.config. Untuk memeriksa konfigurasi aturan yang baru saja kita buat, buka file web.config yang terletak di %SystemDrive%\inetput\wwwroot\. Dalam file ini Anda akan melihat <rewrite> bagian yang berisi semua definisi aturan:

<rewrite>
 <outboundRules>
  <rule name="Add tracking script" patternSyntax="ExactMatch" preCondition="">
   <match filterByTags="None" pattern="&lt;/body>" />
   <action type="Rewrite" value="&lt;script type='text/javascript'>//Your web analytics tracking code goes here...&lt;/script>&lt;/body>" />
  </rule>
 <preConditions>
  <preCondition name="IsHTML">
    <add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" />
  </preCondition>
 </preConditions>
</outboundRules>
</rewrite>

Menguji aturan

Untuk menguji bahwa aturan menambahkan kode JavaScript dengan benar ke halaman web, minta URL http://localhost/iisstart.htmini .

Setelah Anda mendapatkan respons dari server, buka kode sumber HTML aktual (jika menggunakan Internet Explorer 8 lalu buka Halaman --> Lihat Sumber). HTML respons akan berisi kode JavaScript sebelum tag isi HTML penutup:

Cuplikan layar jendela I I S 7 dengan Notepad memperlihatkan kode JavaScript.

Ringkasan

Dalam panduan ini, Anda telah mempelajari cara menggunakan aturan keluar dalam modul penulisan ulang URL versi 2 untuk memodifikasi konten respons HTTP dengan cepat. Kemampuan ini sangat berguna ketika Anda perlu melakukan modifikasi kecil pada respons HTTP yang dihasilkan oleh aplikasi Web, tetapi Anda tidak memiliki kontrol aplikasi atau tidak praktis untuk membuat perubahan skala besar pada aplikasi.