XHTML Mobile Profileを使ったモバイルページの作り方

モバイルページ(携帯電話対応ページ)をCHTMLで作っても、どの携帯電話でも問題なく表示されます。しかし、CHTMLはスタイルシート(CSS)が使えません。CSSを使を使ってモバイルページを作るなら、XHTML Basic か、XHTML Mobile Profileです。

XHTML Mobile Profile 1.0とは

携帯電話(ガラケー)の写真

W3C勧告のXHTML Basicに加えて、<b>、<hr>、<small>等のタグやstyleタグ等の拡張タグや属性を加えて、携帯電話向けにWAPフォーラムで仕様化されたものがXHTML Mobile Profileです。

従ってモバイルページを作るのならこちらの方が良いかも知れません。

XHTML Mobile Profile 1.0で書いたモバイルページの例

XHTML Mobile Profile 1.0で書いたモバイルページは1行目で XML文書楽天 だということをブラウザに知らせます。普通のXHTMLやSSIの場合はこの記述で問題ありませんが、PHPの場合は先頭の行がエラーとなり表示できません。これは <? で始まるXML宣言が、PHPを省略して書く際の冒頭部分と同じなのでエラーとなる為です。PHPではこの省略を使えないように、.htaccessファイルに次の行を書き加えれば問題はありません。

php_flag short_open_tag Off

htmlタグ内で、XHTML 1.0はlang属性が使えますが、XHTML BasicやXHTML Mobile Profileではlang属性が使えません。 xml:langのみが使えます。

ヘッドタグ内にメタタグでテキスト文字のコードをShift_JISで書いていることを知らせます。当然文字コードはシフトJISで書きます。meta name="description"とmeta name="keywords"はSEO対策です。ページに的確なタイトルを付けて、タイトル(TITLEタグ)を書きます。

link rel="stylesheet" type="text/css" href="mobile.css"と外部CSSファイルの設定をします。ドコモのiモードは外部CSSに対応していないので注意します。

ボディタグ内は人にも検索ロボットにも見易いように、見出し(H1~H6タグ)を付けます。文章に段落を付けて、段落(Pタグ)を使って文章を構成していきます。段落以外は改行をしなくても良いのですが、適度に改行をしたい時は改行(BRタグ)で改行します。リンクをするにはリンク(Aタグ)を使います。

これだけでほぼ普通の文章は作れます。Pタグを使わず文章をタグ無しで書いても問題ありません。

XHTML Mobile Profile 1.0の実際のコード

<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang"ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta name="description" content="***********" />
<meta name="keywords" content="***,***,***" />
<link rel="stylesheet" type="text/css" href="mobile.css" />
<link rel="alternate" media="handheld" href="http://****.jp/***/***.htm" type="text/html" />
<title>*****</title>
</head>
<body>
<h1>*****</h1>
タグ無しで書いてもOKです。
<p>普通はPタグを使って文章を書きます。</p>
<br />
<a href="***">*****</a>
</body>
</html>

XHTML Mobile Profile 1.0で使えるその他のタグ

上記以外にもXHTML Mobile Profile 1.0で使える主なタグには、次のようなものがあります。

XHTML Basicでは使えず、XHTML Mobile Profileで追加されたタグや属性

モバイル専用ページであることを検索ロボットに伝える方法

モバイル専用ページであることを検索ロボットに伝えるには、ヘッドタグ内に次のようにlinkタグを書きます。href内にはそのページのurlを書きます。このようにすると、検索ロボットがモバイルページだと認識してくれます。

<link rel="alternate" media="handheld" href="http://****.jp/***/***.htm" type="text/html">

XHTML Mobile Profile 1.0の文法を診断する

モバイルページが完成したら、HTML文法診断ページでXHTML Mobile Profile 1.0の文法チェックをしましょう。普通はかなり厳しい診断結果になりますが、重大なエラーでなければ良しとしましょう。