2012年01月

マークアップエンジニアとかWEBディレクターとかをやってる僕が、自分が詰まって、解決したことをここに残しておきますよ。

いいね!しないと見れないfacebookページを作る

FACEBOOKページで、いいねをしないと具体的なコンテンツが
見れないような ページがよく見られる。

例えばこんなページみたいに。
http://es-es.facebook.com/tokyootakumode

いいねを集めるのに良さそうですね。

これのやり方をメモしときます。

phpを使います。

facebookページの作り方については、こちらのページなどを参考にするといいと思います。
facebookページの作り方


①iframeで呼び出すページを置くサーバーに
php5.2以上が入っていることを確認する。

サーバーの管理ページなどにログインすると、どこかでphpのバージョンが
見れると思います。
phpのバージョンが5.2以上じゃないと使えないみたいです。


②そこにiframeで呼び出す用のphpファイルを置く。
もともとiframeでhtmlを呼び出している場合は、拡張子がphpに変わるので、
フェイスブックページアプリの方でのインクルード先の設定も
あとで変えましょう。


③呼び出すファイルを以下のような構造にする(コピペが吉)


<?php
function parsePageSignedRequest() {
if (isset($_REQUEST['signed_request'])) {
$encoded_sig = null;
$payload = null;
list($encoded_sig, $payload) = explode('.', $_REQUEST['signed_request'], 2);
$sig = base64_decode(strtr($encoded_sig, '-_', '+/'));
$data = json_decode(base64_decode(strtr($payload, '-_', '+/'), true));
return $data;
}
return false;
}
if($signed_request = parsePageSignedRequest()) {
if($signed_request->page->liked) {
print<<<EOF

<html>
いいね!を押した後に見せたいhtmlの内容を書く
</html> 
 
EOF;
} else {
print<<<EOF 
<html>
いいね!を押す前に見せたいhtmlの内容を書く
</html>  

EOF;
}
}

?> 


つまり、phpの中で、両方のhtmlを書いておいて、いいねを押してるかどうか判別して、条件分岐させてるってことですね。

あとは、アップして、確認して、完成!


htmlが用意できていれば、大体15分くらいの作業です。

htaccessで一括301リダイレクト(古いページから新しいページへ転送)

サイトをリニューアルしたとき、古いページがサーバー内に残っちゃうことがよくある。

でもその、もう使っていないhtmlファイルを消してしまうのはもったいない。

その古いページもおそらく、google等にインデックスされたページであり、
もしかしたら、誰かがブックマークやリンクをしてくれているかもしれないページだからね。

なので、そういうときは、古いhtmlにアクセスされたら新しいページに行くように
リダイレクト(転送)をかけることになる。


一番オーソドックスなのは、html内にメタリフレッシュを書く、というもの。

<meta http-equiv=”refresh” content=”0; URL=http://新ドメイン/”>

 これをhead内に書く。


でも、htmlが多い場合は、いちいちhtmlを変更していくのが面倒だ。


そういう場合に便利なのは、

.htaccessファイルを使って、転送するページを一括で指定してしまう、というやり方。

.htaccessファイルの作り方、アップの仕方等は、検索してもらうとして、

転送するときのhtaccessファイルの書式は、以下。

Redirect 301 /company.html http://hogehoge.com/company.html 
Redirect 301 /voice.html http://hogehoge.com/voice.html 
Redirect 301 /inquiry.html http://hogehoge.com/inquiry.html 
Redirect 301 /service.html http://hogehoge.com/service.html

これだけを、ファイル内に書いてサーバーにアップする。
(public_htmlとかの直下にアップするのがいいですね)

Redirect 301・・・301リダイレクトをしますよ、という意味。
/company.html・・・このページを転送しますよ。
http://hogehoge.com/company.html・・・このURLに転送しますよ。

という意味。 

よくみると、半角スペースで区切ってあるので注意です。 


これを使えば、いちいちhtmlファイルをいじらないで済むので楽ですね!
※htaccessが使えるかどうかは使っているサーバーを確認してください。 

 
ところで、この301リダイレクト、というのをすることで、

以前のページが受け取っていたSEOパワーを新しいページに引き継ぐことができます。

リダイレクトして少し放っておくと、googleさんのほうで、
転送先のページが新しいページとして、インデックスし直してくれるし、
SEOパワーは以前のまま(少し落ちる?)。


このへんをおろそかにすると、お客さんの集客にご迷惑をかけることになるので、
301リダイレクトは必須で行いましょう。


ところで、htaccessが使えないサーバーの場合は、最初に書いた、

meta refreshを使う方法でも転送時間を0秒にすれば、301リダイレクトと同じ意味として
扱ってくれるらしい。

MTはモジュール化したほうが再構築が早くなる

これはどうやら本当なようです。

最近のお仕事で、

一つのテンプレート内のソースが2万行以上、というものがありました。

条件分岐を繰り返すために、それだけ長くなってしまったもの。

そのテンプレート1つで再構築時間は40分!

これじゃぁ、更新が嫌になっちゃいます。



繰り返しの中にも共通している部分があったので、そこを 
モジュール化してみて、

100行ほどあった共通ブロックをすべて、

<MT Include module="共通ブロック">
で共通化し、テンプレート自体のソースは2000行にまで減らしてみたら、

再構築時間が

5分になりました!

再構築が長いなーと思ったら、迷わずモジュール化せよ!
記事検索


手ぶらで通話 - bluetoothヘッドセット

1時間1円で暖かい。電気毛布。

夏のPC仕事のおともに冷えピタ。クールヘッドで脳のスピードがあがります。

お仕事のご依頼・お問い合わせはこちら

コーディングのお仕事が得意です。

info(あっと)tacshock.com
タグクラウド
QRコード
QRコード
  • ライブドアブログ