アフィリエイトもOKの短縮URL作成方法

長いURL

Twitterの投稿文字数は140文字まで。ここに長いURLを入れたい場合には短縮URLサービスを使うのが一般的です。

長いアドレスを短縮する無料ネットサービスいろいろ
GIGAZINE
http://gigazine.net/index.php?/news/comments/20070402_shortening_url/

このサービスで、「アフィリエイトタグを短縮URLでTwitterに・・・」と思った人も多いのではないかと思います。

しかし、この行為はアフィリエイトタグの変更とみなされる場合があるようです。

楽天URL短縮は規約違反
ちょいコガ実践ブログ~主婦が自宅で楽しく稼ぐ
http://blog.livedoor.jp/yukky38/archives/482561.html

短縮URLの メリット vs. デメリット
アフィリエイト☆ウォーズ – ブログで始める報酬戦争
http://affiliatewars.blog27.fc2.com/blog-entry-190.html

ほとんどのアフィリエイトタグは改変せず自分の管理するWEBサイトに掲載することが前提です。

でもつぶやきで商品を勧めたい時にいちいちWEBページ(またはブログの記事)を作成して短縮URL化する作業は結構手間がかかりますよね。タイムリーにツイートできなくなるし・・・。

そこで、その面倒な作業を簡単にやってしまえるPHPスクリプトを考えてみました。

このスクリプトができることは以下の4つ。

  1. タグ入力フォームを表示
  2. 短いURL(ディレクトリ)を生成
  3. 生成したURLにタグ入りのWEBページを生成
  4. 短いURLを表示

PHPスクリプト1つで完結し、DBも使っていません。

短い名前のフォルダを作って、その中にフォームから入力されたHTMLコードを元に index.html ファイルを生成します。URLの長さはドメイン名の長さに依存します。

あくまでも説明のためにシンプル化したサンプルです。エラーハンドリングやセキュリティ対策等は全くしていないので、そのまま使ったりしないようにしてくださいね。(利用の際は自己責任でお願いします)

それから、このスクリプトには自分しかアクセスできないようにしてください。これ以上ないってほど簡単に悪意のあるコードがページに埋め込まれてしまいますよ。

動作を試してみたい場合は、以下のコードを sample.php という名前で保存しphpスクリプトの動作するWEBサーバーにアップロードします。

サンプルの文字コード設定は"UTF-8"としてあるので、そのまま使うなら"UTF-8"形式で保存してください。ディレクトリのパーミッションはPHPがディレクトリ作成できる権限にしておく必要があります。Windows系サーバーの場合はディレクトリ名の修正が必要かと思います。

<?php

//ユニークなディレクトリ名を生成
//sample.php 以外入っていないディレクトリが前提
function uniqueDirName($currentDir){
    $num = 1;
    if ($handle = opendir($currentDir)) {
        //ディレクトリの中身の数をカウント
        while (false !== ($file = readdir($handle))) {
            $num++;
        }
        closedir($handle);
    }
    //36進数で戻す
    return base_convert($num, 10, 36);
}

//タグがPOSTされた場合のみ以下を実行
if(isset($_POST['tags'])){

    $currentDir = getcwd();
    $dirName = uniqueDirName($currentDir);
    $path = $currentDir.'/'.$dirName;
    mkdir($path);
    $fileName = $path.'/index.html';
    $handle = fopen($fileName, 'w');

    $tags = '<html><body>';
    $tags .= $_POST['tags'];
    $tags .= '</body></html>';

    fwrite($handle, $tags);
    fclose($handle);
    //***はこのスクリプトを設置したURL
    echo 'http://****/'.$dirName;
    exit();
}

?>

<html>
<head>
<meta http-equiv="Content-Language" content="ja">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<b>タグ短縮</b>
<form action="sample.php" method="post">
<textarea name="tags" rows="3" cols="60" onfocus="this.select()">タグをここにペースト</textarea><br />
<input type="hidden" name="urltype" value="tags">
<input type="submit" value="タグ短縮" />
</form>
</body>
</html>

「短縮URL」というよりは「短いURLのWEBページを簡単に作成する」ですね・・・。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする