- 2009-08-09 (Sun) 20:19
- Nucleus
Nucleus では、ブログの説明文 <meta name="description" ...> を "ブログ設定 - Blogの説明" で設定できる。しかし、入力できる最大文字数は 200 文字までで、しかも、文字を入力しても何故か文章が途中で途切れてしまった。
少ない文字数のままでは、meta description を利用している各種の検索エンジンに対して、効果的な説明を登録することができない。これを改善し、ブログの説明文 meta description を長くするよう Nucleus をハックした。
原因を調査すると、HTML 中に記述されている input タグの入力最大長が、maxlength="200"。これに対応するデータベースのフィールド nucleus_blog/bdesc が、varchar(200) であった。むむぅ、この 200 バイトが原因か…
UTF-8 で日本語を使用する場合、Wikipedia によると、1 文字あたり 3 バイトを使用する。
よって、このままではブログの説明文は、200 / 3 = 66 文字が限界。うーん、少ない…
符号化形式UTF-8では、1文字に必要なバイト数が可変となっており、 日本語の文字は通常3バイト、その他の言語によっては最大6バイト長を必要とする。
Google の検索結果は、meta description を利用して、日本語で最大 120 文字まで表示してくれる。つまり、ブログの説明文を 360 バイト分記述できるよう変更してやればよい。
- phpMyAdmin などを使って、データーベースのフィールド nucleus_blog/bdsec の値を varchar(360) に変更する。
- HTML の input タグの入力最大長を maxlength="360" に変更する。変更するファイルは nucleus/libs/ADMIN.php で、変更箇所は "_EBLOG_DESC" 付近。
2521: <td><?php echo _EBLOG_DESC?></td> 2522: <td><input name="desc" tabindex="30" maxlength="360" ... 3291: <td><?php echo _EBLOG_DESC?></td> 3292: <td><input name="desc" tabindex="30" maxlength="360" ...
- Newer: サーバーメンテナンスへの対処の覚書(ユーザー視点)
- Older: MySQL に test データベースが勝手に作られている