Teknik Membuat URL SEO Friendly
Membuat URL SEO Friendly atau bisa disebut URL Semantik adalah teknik untuk memperpendek URL parameter berdasarkan objek pada database contohnya seperti http://localhost/username.
Sebelum memulai ada baiknya sobat memahami dulu jika kurang jelas.
* Point pertama URL Semantik ini bisa sobat temukan di situs-situs yang sudah mendunia seperti Facebook ataupun Twitter DLL. Contohnya seperti dibawah ini :
* Point kedua di balik URL tersebut sebenarnya adalah : https://www.facebook.com/profile.php?id=123456789 yang bertujuan mengakses halaman atau file profile.php dengan parameter id=123456789 yang dimana 123456798 adalah data id yang terdapat di database.
* Point ketiga kenapa URL di Point kedua bisa pendek seperti Point pertama jawabannya HTCACCESS yang menjalankan semua itu.
* Point keempat Bagaimana Cara membuatnya ? haha, baik kita langsung saja.
Pertama buat dulu database Import kode dibawah ini pada masing-masing manegemen database sobat yang disukai.
File database.php
CREATE TABLE IF NOT EXISTS `users` ( `user_id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(20) DEFAULT NULL, `fullname` varchar(100) DEFAULT NULL, `photo_profile` varchar(255) DEFAULT NULL, PRIMARY KEY (`user_id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; INSERT INTO `users` (`user_id`, `username`, `fullname`, `photo_profile`) VALUES (1, 'muazramdany', 'Muaz Ramdany', 'default.png');
Dibawah ini adalah struktur folder yang saya buat mungkin sobat bisa membuat seperti contoh di bawah.
Dibawah ini contoh kode sobat bisa gunakan kode tersebut
File db_connection.php
<?php // define connect to database $connect = mysqli_connect('localhost', 'root', 'isi jika di password', 'dbname', '3306'); // statement if tidak terkoneksi ke database if(mysqli_connect_errno()) { exit('Maaf anda tidak terkoneksi ke database'); } ?>
File index.php
<?php //panggil jembatan koneksi ke database include 'db_connection.php'; // tampil data users $query = mysqli_query($connect, "select * from users"); // perintah SQL // looping data while($row = mysqli_fetch_array($query)) { // tampung data di $row ke dalam $data_array as array $data_array[] = $row; } ?> <!DOCTYPE html> <html> <head> <title>Teknik URL Friendly</title> <style type="text/css"> .clearfix { content: " "; display: table; } .container { width: 450px; margin: 40px auto; border: 1px solid #ddd; *min-height: 400px; padding: 20px; } .aside { float: left; margin-top: 20px; } .asideleft { margin-right: 10px; } .asideright { margin-top: 50px; } </style> </head> <body> <div class="container"> <header align="center"> <h1>Teknik Membuat URL SEO Friendly PHP dan HTACCESS</h1> </header> <hr /> <?php if(mysqli_num_rows($query) != 0) : // true /* pecah array yang ada di dalam $data_array yang hanya mengambil data dari $field */ foreach($data_array as $field) : ?> <div style="text-align: center;">Table Users Tersedia <?= mysqli_num_rows($query); ?> Baris</div> <hr /> <div class="content clearfix"> <aside class="aside asideleft"> <a href="#!"> <img src="<?= $field['photo_profile']; ?>" height="200" width="200" /> </a> </aside> <aside class="aside asideright"> <table> <tbody> <tr> <td>User ID</td> <td>:</td> <td><?= $field['user_id']; ?></td> </tr> <tr> <td>Username</td> <td>:</td> <td><?= $field['username']; ?></td> </tr> <tr> <td>Nama Lengkap</td> <td>:</td> <td><?= $field['fullname']; ?></td> </tr> <tr> <td>Foto Profile</td> <td>:</td> <td><?= $field['photo_profile']; ?></td> </tr> <tr> <td style="margin-top: 40px; display: block;"> <a href="<?= $field['username']; ?>">Lihat Profile Saya</a> </td> </tr> </tbody> </table> </aside> </div> <hr /> <?php endforeach; ?> <?php else : ?> <div style="text-align: center; color: red; border: 1px solid #ddd; padding: 20px;"> <h3>MAAF ! DATA BELUM TERSEDIA DI DATABASE SILAHKAN ISI DATA KE DATABASE SECARA MANUAL</h3> </div> <?php endif; ?> </div> </body> </html>
File profile.php
<?php //panggil jembatan koneksi ke database include 'db_connection.php'; // dapatkan data username yang telah di rewrite oleh htaccess // yang tadi url belum di rewrite yaitu : profile.php?username=nama $username = isset($_GET['username']) ? $_GET['username'] : null; // tampil data users dengan mengacu pada $username $query = mysqli_query($connect, "select * from users where username = '$username' "); // perintah SQL // buat variable data object // cara pakai : $field['nama_field_yg_ada_di_database']; $field = mysqli_fetch_array($query); ?> <!DOCTYPE html> <html> <head> <title>Teknik URL Friendly</title> <style type="text/css"> .clearfix { content: " "; display: table; } .container { width: 450px; margin: 40px auto; border: 1px solid #ddd; *min-height: 400px; padding: 20px; } .aside { float: left; margin-top: 20px; } .asideleft { margin-right: 10px; } .asideright { margin-top: 50px; } </style> </head> <body> <div class="container"> <header align="center"> <h1>Teknik Membuat URL SEO Friendly PHP dan HTACCESS</h1> </header> <hr /> <?php // pernyataan jika data di database kosong atau belum ada isi // fungsi mysqli_num_rows() ini untuk menghitung semua data kolom di database return int if(mysqli_num_rows($query) != 0) : // true ?> <div style="text-align: center;">Table Users Tersedia <?= mysqli_num_rows($query); ?> Baris</div> <hr /> <div class="content clearfix"> <aside class="aside asideleft"> <a href="#!"> <img src="<?= $field['photo_profile']; ?>" height="200" width="200" /> </a> </aside> <aside class="aside asideright"> <table> <tbody> <tr> <td>User ID</td> <td>:</td> <td><?= $field['user_id']; ?></td> </tr> <tr> <td>Username</td> <td>:</td> <td><?= $field['username']; ?></td> </tr> <tr> <td>Nama Lengkap</td> <td>:</td> <td><?= $field['fullname']; ?></td> </tr> <tr> <td>Foto Profile</td> <td>:</td> <td><?= $field['photo_profile']; ?></td> </tr> </tbody> </table> </aside> </div> <hr /> <div style="text-align: center;">Hai <?= $field['fullname']; ?> Ini Halaman Profil Anda, <br/> <a href="./index.php">Kembali ke Halaman Rumah</a>.</div> <hr /> <?php else : ?> <div style="text-align: center; color: red; border: 1px solid #ddd; padding: 20px;"> <h3>MAAF ! DATA BELUM TERSEDIA DI DATABASE SILAHKAN ISI DATA KE DATABASE SECARA MANUAL</h3> </div> <?php endif; ?> </div> </body> </html>
Terakhir htacess
Jika susah untuk membuat file htaccess silahkan ikuti instruksi di bawah ini
- Buka editor seperti sublime atau lainnya
- Buat file baru terus tekan CTRL + S atau CTRL + SHIFT + S
- Simpan dengan nama file .htaccess
File .htaccess
Options All -Indexes RewriteEngine On # silahkan jalur projek nya RewriteBase /blogspot/demo/teknik-url-friendly-php-mysql-htaccess/ #rewrite ?username=$1 to username di database RewriteRule ^/?([^/\.]+)$ profile.php?username=$1 [L,NC,QSA]
Kesimpulannya
Jika sobat menerapkan teknik ini pada setiap halaman di situs pribadi Sobat mungkin Google akan mudah meng-index di mesin pencariannya meskipun Sobat harus cari lagi caranya biar sesuai dengan prosedur Google.
Sebenernya teknik pemograman ini sobat bisa temukan di blog-blog lain yang lebih detail dan terperinci, akan tetapi disini saya hanya membagikan sedikit pengalaman saya dalam bidang ini, meskipun tidak seberapa :D. mudah mudahan ini bisa berguna dan bermanfaat.
Jika ada yang di tanyakan jangan segan untuk bertanya, Terima kasih telah berkunjung
mantap gan tutorial nya,,, sedot ya gan buat bahan belajar,, hehehhehe
ReplyDeleteok siap gan, terimakasih atas kunjungannya :D
Delete