PHPで、PCとスマホによってページを振り分ける

Raspberry Pi + nginx = Webサーバー
簡易型 モバイルフレンドリー対策 の実施
 

Search Console から 『http://arakan60.mydns.jp/ での「404」ページの増加』 というメールが届く。Message Type [WNC-658800]
内容は、

404(見つかりません)エラーを返す URL の数が著しく増加したことがスマートフォン用 Googlebot で検出されました。該当するページがパソコン向けサイトにあり、モバイル ユーザーにはエラーが表示される場合、ユーザーの利便性が低下していることになります。
 
スポンサー リンク
 
 

mobilefriend012

というもので、『スマートフォンエラーを確認』をクリックすると、

mobilefriend022

URLは、

http://arakan60.mydns.jp/01kaidou/04kousaku/03bike/04kousaku/01kaidou/21jitensyako-su.html
 
と、なんだか分からず、⇒ (後日の調査結果では、サイトマップが上記のように壊れているのが原因と判明。これによりクロールエラーが多発することになる。)
要はサイトがモバイルフレンドリーではないということだろうと考え、モバイルフレンドリー対策を施すことにした。
 
検討した結果は、PC用のページは 『レスポンシブWebデザイン』 に簡単に変更できるわけでもなく、PC専用サイトを ”作品” として遺して置きたかったこともあり、『PHP で、ユーザーエージェント(iPhone・Android・タブレット・携帯・PC)によってページを振り分ける』 という表面的なもので、下図のようにサイトにアクセスされた機器の種類を判定し、リンクするページを振り分ける、という簡単なものにした。

mobilecheck12

PHPでユーザーエージェントを判別する記述は下記の通り。( index.php )
 
iPad等のタブレットは、PCと同じにした。
修正が完了すたのち、モバイルフレンドリーテストサイトで、テストを実施。

 
mobilefriend032
 
と、なった。そして、Google での検索結果の表示は、
mobilefriend124
 
「モバイルフレンドリーではありません」が消えた。・・・ところが、トップページを index.html から index.php に変えたことで、Search Console のサイトマップ (sitemap.xml) にアクセスできないというエラーが発生。又、サイトに対してツールをを使ったサイトマップの作成も出来なくなる。
再度、トップページを index.php から index.html に戻すことで、この問題は解決する。
あちらを立てればこちらが立たず。なんのことやら・・・。

この後、サイトマップを手動で作成し、モバイルフレンドリー対策完成
 

モバイルフレンドリー対策

 
参考:
 

以上。
(2016.08.27)

 
             

スポンサー リンク
 

コメントを残す

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください