04 Agustus
2013

URL Shortener Using YOURLS

Untuk menggunakan YOURLS sebagai URL Shortener pada WordPress, dapat dilakukan secara manual dengan mengikuti langkah-langkah berikut:

  1. Download YOURLS Versi 1.6 pada YOURLS Download
  2. Extract YOURLS Versi 1.6 yang baru saja di download dengan cara:
    unzip -x YOURLS-1.6.zip
  3. Ubah nama folder “YOURLS-1.6” menjadi “sl” dengan cara:
    mv -v YOURLS-1.6 sl
  4. Buat file sl/.htaccess dengan isi sebagai berikut:
    # BEGIN YOURLS
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /sl/
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ /sl/yourls-loader.php [L]
    </IfModule>
    # END YOURLS
    
  5. Masuk ke Control Panel pada Hosting Provider dan gunakan fasilitas menu MySQLDB untuk membuat database dengan nama misalnya:
    yourls_sldb
    jangan lupa juga untuk membuat user dan password yang memiliki akses penuh pada database yourls_sldb
  6. Catat nama database, nama user dan password yang baru saja dibuat, misalnya:
    Nama User: yourls_sldb
    Password: P455w0rd
    Nama Database: yourls_sldb
  7. Buat file sl/user/config.php dengan cara:
    cp -av sl/user/config-sample.php sl/user/config.php
  8. Ubah isi file sl/user/config.php yang berhubungan dengan YOURLS_DB_USER, YOURLS_DB_PASS dan YOURLS_DB_NAME dan lainnya dengan cara mengubah baris-baris kalimat dibawah ini:
    define('YOURLS_DB_USER', 'yourls_sldb');
    define('YOURLS_DB_PASS', 'P455w0rd');
    define('YOURLS_DB_NAME', 'yourls_sldb');
    define('YOURLS_DB_HOST', 'localhost');
    define('YOURLS_DB_PREFIX', 'wpsl_');
    define('YOURLS_SITE', 'http://www.your_site.com/sl');
    define('YOURLS_COOKIEKEY', 'modify this text with something random');
    $yourls_user_passwords = array( 'yourls_sldb' => 'P455w0rd', 'yourls' => 'P455w0rd2' );

    Untuk mendapatkan cookie key diatas click link berikut: YOURLS Cookie Key

  9. Buat file sl/api.php dengan cara:
    cp -av sl/sample-public-api.txt sl/api.php
  10. Ubah file sl/api.php dengan isi seperti dibawah ini:
    <?php
    define('YOURLS_ABSPATH', str_replace( '\\', '/', dirname(__FILE__)));
    define('YOURLS_INC', YOURLS_ABSPATH . '/includes');
    define('YOURLS_USERDIR', YOURLS_ABSPATH . '/user');
    require_once(YOURLS_USERDIR . '/config.php');
    define('YOURLS_USERURL', YOURLS_SITE . '/user');
    define('YOURLS_LANG_DIR', YOURLS_USERDIR . '/languages');
    define('YOURLS_PLUGINDIR', YOURLS_USERDIR . '/plugins');
    define('YOURLS_PLUGINURL', YOURLS_USERURL . '/plugins');
    define('YOURLS_PAGEDIR', YOURLS_ABSPATH.'/pages');
    define('YOURLS_FLOOD_DELAY_SECONDS', 15);
    // comma separated list of IPs that can bypass flood check.
    define('YOURLS_FLOOD_IP_WHITELIST', '');
    define('YOURLS_COOKIE_LIFE', 60*60*24*7);
    define('YOURLS_NONCE_LIFE', 43200); // 3600 * 12
    define('YOURLS_NOSTATS', false);
    define('YOURLS_ADMIN_SSL', false);
    define('YOURLS_DEBUG', false);
    if (defined('YOURLS_DEBUG') && YOURLS_DEBUG == true) {
      error_reporting( -1 );
    } else {
      error_reporting(E_ERROR | E_PARSE);
    }
    define('YOURLS_PRIVATE', false);
    require_once(YOURLS_ABSPATH . '/yourls-api.php');
    
  11. Upload directory sl dengan segala isinya ke website root directory yang aktif, umumnya pada shared hosting directory tersebut berada di /home/user_name/public_html/
  12. Jalankan instalasi YOURLS dengan membuka URL: http://www.your_site.com/sl/admin/install.php dan ikuti petunjuk yang ada
  13. Setela sukses instalasi YOURLS database, buka URL: http://www.your_site.com/sl/admin/tools.php dan cari baris yang tertulis Your secret signature token: 1926ad5e6a (It’s a secret. Keep it secret)
  14. Catat secret signature token tersebut (1926ad5e6a)
  15. Ubah file functions.php pada direktori /wp-content/themes/your_theme dengan menambahkan baris berikut:
    define('__ROOT__', $_SERVER['DOCUMENT_ROOT']);
    define('BLOG_URL', get_bloginfo('url'));
    function wp_short_url() {
      $protocol = $_SERVER['HTTPS'] ? "https" : "http";
      $longUrl = $protocol . "://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
      if (($longUrl == BLOG_URL) || ($longUrl == BLOG_URL . '/')) return BLOG_URL;
      $secret_signature = '1926ad5e6a';
      $timestamp = time();
      $signature = md5($timestamp . $secret_signature);
      $action = 'shorturl';
      $format = 'json';
      $api_url = BLOG_URL . "/sl/api.php";
      $theTitle = wp_title('', false, ''); // Optional
      $ch = curl_init();
      curl_setopt($ch, CURLOPT_URL, $api_url);
      curl_setopt($ch, CURLOPT_HEADER, 0);            // No header in the result
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Return, do not echo result
      curl_setopt($ch, CURLOPT_POST, 1);              // This is a POST request
      curl_setopt($ch, CURLOPT_POSTFIELDS, array(     // Data to POST
    	 'url' => $longUrl,
    	 'title' => $theTitle,
    	 'format' => $format,
    	 'action' => $action,
    	 'timestamp' => $timestamp,
    	 'signature' => $signature
      ));
      $data = curl_exec($ch);
      $json = json_decode($data);
      curl_close($ch);
      return $json->shorturl;
    }
    
  16. Ubah file header.php pada direktori /wp-content/themes/your_theme dengan menambahkan baris berikut setelah baris kalimat <head>:
    <head>
    <link rel="shortlink" type="text/html" href="<?php _e(wp_short_url()); ?>" />
    

Selamat mencoba.

Di Terbitkan Oleh Winston Sahusilawane Pada Rubrik WordPress : 04 Agustus, 2013 |