mk-mode BLOG

このブログは自作の自宅サーバに構築した Debian GNU/Linux で運用しています。
PC・サーバ構築等の話題を中心に公開しております。(クローンサイト: GitHub Pages

ブログ開設日2009-01-05
サーバ連続稼働時間
Reading...
Page View 合計
Reading...
今日
Reading...
昨日
Reading...

W3C(XHTML1.0)エラー!

[ webサイト, ブログ ] [ W3C, XHTML, アフィリエイト ]

こんばんは。

以前の記録「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のテーマフォルダ内に配置しました)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?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です)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<!-- スポンサード リンク -->
<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