Hidekichi

もうダメだ

I can't take this anymore

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をテスト(ライブテスト) という項目があり、これをやると、

と判定されます。しかし、実際はリダイレクトエラーでインデックスされないのです。

「アドレスの最後に、?m=0(PC 用の判別クエリ)?a=1 など任意のクエリを色々と試したら登録された」と言う報告もあります。AI に聞くと、canonical なメタがあったら、どんなクエリがついていてもcanonicalなアドレスをGoogleは理解してそれを登録するはずだといいます。

そらそうでしょう。そのためのcanonicalですから。しかしたいていはそれらは見つかっていてもリダイレクトエラーが常に出ている状態なので、以前なら「インデックスはするけどもエラーはあるで」状態だったのが、現在では「インデックスも取り消すで」状態になっていて、今や検索してもサイトがヒットすることはありません。別でSNSや何かしらに記載しているアドレスなどがヒットすることはありますが。

期待を込めて、どうすれば良いか案

解決方法ではありません。おそらくユーザーができることは無いと思います。強引に何かしらの方法でリダイレクトを回避できる方法はあるかもしれませんが、基本はBloggerサイドの問題だろうと思うので。けどそこまで何かしらしてBloggerを使う必要ある?というのが個人的な感想です。だってそんな古い手法じゃ、その内にまたレスポンシブでいけるようになった時に直さないといけないやんとなるじゃないですか。それなら新しく違う環境で始めるべきだろうと思うわけです。

では、Google(Blogger)はどうするべきか。実際の内部構造的には思うより難しいことかも知れませんが、

  1. Bloggerの設定画面に、モバイルテンプレート用に?m=1をつけるようにするという項目を追加してそのチェックを付けたサイトだけリダイレクトして?m=1をつけるように変更
  2. 他のあらゆる端末はその画面幅やユーザーエージェントが何であろうとPC用のテンプレートを表示する(リダイレクトしない)

これだけかと思います。だって完全レスポンシブで作ってるなら端末種ごとに切り替える必要なんて無いんですから。

1については、設定の有無で切り替えるだけ。2については、それだけだと完全レスポンシブに動作するかわからない可能性がテンプレートにあるかもしれないので、TailWind.css の ComponentsのサンプルCodepenの画面ように、Blogger のエディター内で表示サイズがその場で変えられるようにしてリアルタイムに確認・設計できる手段を追加する必要があるかも知れませんが、Google に入れるぐらいの頭があり、やる気さえあれば、新人1年目ぐらいでも1週間もかからずできると思います。

今すぐにやってくれと。と、こんなことを思いながら、新たに11tyでサイトを作り始めました。

現在使用している PCとか

HP Z2 SFF G4 Workstation

メインで使用しているのは、HP Z2 SFF G4 Workstation というCPUがXeonE-2124G 3.40GHz のデスクトップPCです。別に速くはありませんし高性能でもありません。ヤフオクで7000円せずに落とせたのでちょうどよいので使用しています。ゲームさえしなければ十分です。グラボも搭載しておらず、CPU 内蔵のグラフィックだけで使用してますが、動画見たりしながらGIMPとかを使用してても何らカクつきも何も起こらないのでよほどの処理をしなければグラボは不要なんだろうと思う日々です。ノートPCもゲーミングではないものならグラボも搭載していないでしょうし、それで問題ないのですから当然かといえば当然です。

Thinkpad T470S

こちらはLinuxで使用しています。Linux のディストリビューションは現在EndeavourOSです。Windows や他のプラットホームでもリリース予定だけどもWindowsはまだでていない等のソフトウェアを試してみたりもでき、また持っていって使用するにもノートのほうが便利でかつ、M.2 なので起動も速いしであわせてLinuxなんで1から起動しても速いので便利な上に、基本的にGnomeがノートで扱いやすいので使用してます。