W3C(XHTML1.0)エラー!
Updated:
以前の記録「W3Cのチェック!」のとおり、 今まで当ブログは「W3C(XHTML1.0)」チェックOKとして表示していました。 正当なHTMLであるとして「W3C(XHTML1.0)」のロゴも表示させていました。
しかし、先日導入したアフィリエイト(GoogleAdSense・バリューコマース)のリンクコードが、 「W3C(XHTML1.0)」チェックでエラーとなってしまいます。
自分で修正することが可能なものもありますが、広告表示用として取得したコードなので勝手に修正するとまずい!!!
やむを得ずこのままコードを貼り付けて使用するしかないのか?
と調査してみました。
広告表示用に別ファイルを作成し、objectタグで取り込むと、「W3C(XHTML1.0)」チェックがValid(正当)にできるようです。
さらに、objectタグを使用することで、広告の表示遅延も回避できるようです。 (参考サイト:広告スクリプトを object タグで読み込む方法 : 亜細亜ノ蛾 - Weblog)
でも、この方法はGoogleプログラムポリシーに違反とならないのか?とも思いましたが、 これも大丈夫(確認済み)のようです。 (参考サイト:Google AdSense を XHTML valid に : 亜細亜ノ蛾 - Weblog)
また、objectタグは対応していないブラウザもあるのでご注意ください。
ということで、広告スクリプトを object タグで読み込む方法 : 亜細亜ノ蛾 - Weblogを参考に以下のようにしました。
GoogleAdSenseを呼び出す例
呼び出される側
ファイル名:obj_google_adsense.php (今回はWordPressのテーマフォルダ内に配置しました)
<?php header("Content-Type: text/html;charset=utf-8"); ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="ja">
<head>
<title>Google Adsense</title>
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<style type="text/css"><!-- body { margin: 0; padding: 0; overflow: hidden; border: none; } --></style>
</head>
<body>
↓↓↓↓ ここにGoogleAdSenseのコードをそのまま貼り付け
<script type="text/javascript"><!--
google_ad_client = "pub-9999999999999999";
/* 468x60 hogehogehoge */
google_ad_slot = "9999999999";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
↑↑↑↑ ここにGoogleAdSenseのコードをそのまま貼り付け
</body>
</html>
呼び出す側
「index.php」の抜粋 (この例では tableタグ を使用していますが、通常は pタグ でOKです)
<!-- スポンサード リンク -->
<div id="sponsored_center">
<span style="color: #CC6600; font-size: 9pt; font-weight: bold">■ スポンサード リンク ■</span><br />
<table border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
<td height="60">
<!-- Google AdSense -->
↓↓↓↓ ここが重要
<object data="wp-content/themes/mk-mode/obj_google_adsense.php" ← 呼び出すファイルをパス付きで指定
type="text/html" width="468" height="60"> ← タイプ、サイズを指定
Google Adsense ← 非対応のブラウザの場合に表示する文字
</object>
↑↑↑↑ ここが重要
</td>
</tr>
</table>
</div>
あとは、CSS等でレイアウトを微調整すればOKです。
作業は以上です。
これで、「W3C(XHTML1.0)」チェックがValid(正当化)になりました。 さらに、ページの表示もスムーズになりました。 (全体はすばやく表示される、広告部分だけが送れて表示される)
堂々と「W3C(XHTML1.0)」ロゴを表示できます。
※ちなみに、「W3C(CSS)」の方は広告表示用コードによる不具合はありませんでした。
「W3C(XHTML1.0)」でどうしてもエラーを回避できない場合は、この方法を試してみるのもよいかと思います。
以上です。
ではまた。
Comments