既存のスマホサイトがモバイルフレンドリーにならなかった理由

既存のスマホサイトが「スマホ対応」にならない現象がありました。
モバイルフレンドリーテストで対象のサイトのテストをしてみると、以下のようなエラーが出てしまう。「要求されたURLは取得できませんでした」と。

20150629img_02
 
情報が落ちていないかと色々探してみたものの、これ、というものがどうも見当たらない。そこで、今度は(特に関係はないと思ったものの、なんとなく…)Googleのスピードテストを実施してみたところ…
「サーバから404応答を受け取りました。」とのメッセージが。
 
20150629img_03
 
なぜ404。
ウェブマスターツールを確認すると、やはり該当のディレクトリがクロールエラーになっていました。

WPのwp-blog-header.phpを読み込んで404エラーが返る

サイトの構造は以下の通り。
スマホサイトは専用ディレクトリで、WordPressで構築されたPCサイトの更新コンテンツをスマホサイトのindex.phpで読み込んでいます。
 
20150705img
 
構造的に一番疑わしかったのはWPから更新コンテンツを読んでることだったので(それ以外の部分は、全くもって、完全に静的なHTMLで作られたサイトだから)、スマホサイトのwp-blog-header.phpのrequireをやめてみることに。
これ以上ないくらい、すんなり、あっさり、モバイルフレンドリーテストにみごとに合格したのでした。
結論から言うと、wp-blog-header.phpをrequireすると、404が返っていた、ということです。

対処例

対応の方法は以下のサイトを参考にしました。

以下のように書いていたものを、

<?php
require_once("wp/wp-blog-header.php");
?>

このように書き換えます。

<?php
require_once("wp/wp-config.php");
$wp->init();
$wp->parse_request();
$wp->query_posts();
$wp->register_globals();
$wp->send_headers();
?>

 
他にも以下の方法があるようです。当方では未検証ですが、wp-blog-header.php以下を読む点で共通しています。

 
調べている過程で、このような記事もありました。AdWords広告が不承認になるとか、なんとも恐ろしい話です。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

コメントする