Bloggerのバカ
?m=1問題が数年経っても解決できず、何も進まないので新しく何かを始めてみようと。新年を迎えてまだひと月も経ってませんが。
?m=1問題とは、Bloggerサイトをスマホなどのモバイル端末で見ると、「スマホですね?はい、?m=1」っと、とこういうクエリをアドレスの最後につけるわけです。
これをつけるためにBloggerではいちいち端末を判別してリダイレクトが行われます。
これは10年ぐらい前にスマホでもPCでも、ちゃんとサイトを見れるようにしましょうねということで端末によって表示を切り分ける手段の一つとしてよく使われていました。アドレスに付けずともbodyタグにクラスを追加するとかは今でも使用されます(これはリダイレクト不要、個人でできます)。
しかしもはやスマホというのは、画面が小さいだけのPCです。SafariとかFirefoxとかのChrome系以外のモバイルアプリなブラウザではまだ未実装な機能があるものもあるにはありますが基本どれでもサイトを見ることはできます。
サイトを作っている方は画面の幅などを考慮してレスポンシブに作ればよいだけの話で何も内容を切り替えたり設定を変える必要はないわけです。
Bloggerも以前はどこかで?m=1は廃止するというような流れではあったと海外のブログで見ました。いい加減もうこんなもんいらんやろ?ということだったようですが、数年経ってもまだ廃止されていません。
何が問題か
最初に書いておくべきは、BloggerはGoogleのサービスの一つです。なので色々と連携が取れるようになっています。Google AdSenseも、Analyticsも、画像ならPhotoとかも読み込めたような気がします。
つまりやる気になればたいていのことはできるはずなんですがやる気を出さないわけです。その問題は個人的にも一般的にもいくつかありまして、その最大の問題が?m=1問題なんです。
Bloggerの設定に、「検索エンジンに表示されるようにする」と言う項目があります。ここには説明として「検索エンジンがあなたのブログを見つけられるようにします」と書いてあります。
しかし、これをONにした所で検索エンジンが見つけるだけでGoogleのサービスを利用したブログであってもGoogleにはインデックスはされるわけではありません。
例外はあるだろうと思います。例えば、SNSなどで記事を貼り付けてポストすることで他で自分のサイトを持っている人で既にGoogleにインデックスされている人もそれを知り、自分のサイトにアドレスを貼り付けてくれることでリンクを稼げる場合もあるでしょう。
そうすると、軽微な問題がサイトにあったとしても、既にインデックスされていてある程度の比重があるサイトからリンクされてるんだから問題なしとしてGoogleにインデックスされるなどは考えられると思います。
そういう外部からの支援がなかった場合どうでしょうか。
検査エンジンに掲載されなければ世間に見つからないのも同じです。
で、本当にクリティカルな問題がサイト内にあるとしたらBingやDuckDuckGoやその他諸々の他の検索エンジンにインデックスされることは無いでしょう。しかし、それらはインデックスされるのです。
圧倒的な利用者を誇るGoogleにインデックスされて、そこで検索されてはじめてサイトの存在を知ることになるわけです。それがたった?m=1の問題だけでBloggerがGoogleのサービスのひとつなのにインデックスされないのは不毛以外の何物でもありません。
どんな問題があるか
一番はリダイレクト エラーです。bloggerのサーバーはスマホでサイトに訪れた場合に、?m=1とつけるためだけにリダイレクトするわけです。スマホでサイトに訪れると、?m=1をつけて再度表示するみたいなことをするわけです。
これ単体はBloggerが勝手にやってることですから何も問題ありません。しかし世間的には、見た目は正常なサイトなのにリダイレクトされた先は悪さをするためのサイトであったら困るわけです。そのリダイレクトが瞬時であればよいのかも知れませんが、Googleのサーチコンソールが送るクローラーはスマホ用のクローラーで、それでは**リダイレクトが長すぎて無理!**と判定されます。
サーチコンソールでは、公開URLをテスト(ライブテスト) という項目があり、これをやると、
- 正常判定。Googleに登録できる状態「ページをインデックスに登録可能です(特定の条件が満たされていたらね)」
と判定されます。しかし、実際はリダイレクトエラーでインデックスされないのです。
「アドレスの最後に、**?m=0(PC用の判別クエリ)**や?a=1など任意のクエリを色々と試したら登録された」と言う報告もあります。AIに聞くと、canonicalなメタがあったら、どんなクエリがついていてもcanonicalなアドレスをGoogleは理解してそれを登録するはずだといいます。
そらそうでしょう。そのためのcanonicalですから。しかしたいていはそれらは見つかっていてもリダイレクトエラーが常に出ている状態なので、以前なら「インデックスはするけどもエラーはあるで」状態だったのが、現在では「インデックスも取り消すで」状態になっていて、今や検索してもサイトがヒットすることはありません。
別でSNSや何かしらに記載しているアドレスなどがヒットすることはありますが。
期待を込めて、どうすれば良いか案
解決方法ではありません。おそらくユーザーができることは無いと思います。強引に何かしらの方法でリダイレクトを回避できる方法はあるかもしれませんが、基本はBloggerサイドの問題だろうと思うので。
けどそこまで何かしらしてBloggerを使う必要ある?というのが個人的な感想です。だってそんな古い手法じゃ、その内にまたレスポンシブでいけるようになった時に直さないといけないやんとなるじゃないですか。それなら新しく違う環境で始めるべきだろうと思うわけです。
では、Google(Blogger)はどうするべきか。実際の内部構造的には思うより難しいことかも知れませんが、
- Bloggerの設定画面に、モバイルテンプレート用に?m=1をつけるようにするという項目を追加してそのチェックを付けたサイトだけリダイレクトして?m=1をつけるように変更
- 他のあらゆる端末はその画面幅やユーザーエージェントが何であろうとPC用のテンプレートを表示する(リダイレクトしない)
これだけかと思います。だって完全レスポンシブで作ってるなら端末種ごとに切り替える必要なんて無いんですから。
1については、設定の有無で切り替えるだけ。
2については、それだけだと完全レスポンシブに動作するかわからない可能性がテンプレートにあるかもしれないので、TailWind.cssのComponentsのサンプルやCodepenの画面ように、Bloggerのエディター内で表示サイズがその場で変えられるようにしてリアルタイムに確認・設計できる手段を追加する必要があるかも知れませんが、Googleに入れるぐらいの頭があり、やる気さえあれば、新人1年目ぐらいでも1週間もかからずできると思います。
今すぐにやってくれと。
と、こんなことを思いながら、新たに11tyでサイトを作り始めました。
現在使用しているPCとか
HP Z2 SFF G4 Workstation
メインで使用しているのは、HP Z2 SFF G4 WorkstationというCPUがXeon E-2124G 3.40GHzのデスクトップPCです。
別に速くはありませんし高性能でもありません。ヤフオクで7000円せずに落とせたのでちょうどよいので使用しています。ゲームさえしなければ十分です。グラボも搭載しておらず、CPU内蔵のグラフィックだけで使用してますが、動画見たりしながらGIMPとかを使用してても何らカクつきも何も起こらないのでよほどの処理をしなければグラボは不要なんだろうと思う日々です。
ノートPCもゲーミングではないものならグラボも搭載していないでしょうし、それで問題ないのですから当然かといえば当然です。
Thinkpad T470S
こちらはLinuxで使用しています。Linuxのディストリビューションは現在EndeavourOSです。Windowsや他のプラットホームでもリリース予定だけどもWindowsはまだでていない等のソフトウェアを試してみたりもでき、また持っていって使用するにもノートのほうが便利でかつ、M.2なので起動も速いしであわせてLinuxなんで1から起動しても速いので便利な上に、基本的にGnomeがノートで扱いやすいので使用してます。