Google XML SitemapsプラグインのPing送信のバグ?

Google XML Sitemapsプラグイン

Google XML Sitemaps (XML Sitemaps)プラグインはWordPress用のXMLサイトマップ出力プラグインの中でも最も広く使われているものです。このプラグインは基本的には安定して動作しますが、何年かに一度程度、脆弱性が見つかり大騒ぎになることがあります。2022年春にも騒ぎがあり、比較的すぐに修正版がリリースされました。

そのときにはメンテナが変更され、新しい機能が追加されました。Google AnalyticsのTIDの入力が必須になったことが、不信感と新しいバグを生んでしまいました。プラグインの作者は新しいバージョンを出し、問題点を修正したと主張しています。しかし、2022年8月7日時点の最新版 v4.1.5 でも完全には修正されていないと報告されています。XMLサイトマップ出力機能自体は正常に動作していますが、更新通知機能やその結果の表示に問題があるようです。WooCommerce based sitemapについてはv4.1.1で追加されたとされますが、詳細は不明であり、この記事では無視します。

v4.1.3では、GA-TIDを入力しないとプラグインの設定が保存されないという問題がありました。そのため、実質的にGA-TIDに何らかの文字列を入力することが必要でした。この問題は次のバージョンで修正されました。しかし、GA-TID周りで以下のような不具合が残っています。

Google XML Sitemapsプラグインの更新日時通知 1
WordPressの管理パネルにログインし、左列の「設定」から「XML-Sitemap」をクリックします。
中央列の「基本的な設定」の「Notify Google about updates of your site」という項目にチェックが入っていることを確認します。これが「投稿」「固定記事」を公開または更新したときにGoogleに更新を通知する機能のスイッチです。チェックボックスを変更した場合は、ページの一番下にある「更新を設定」をクリックします。
この状態では、新しい「投稿」と「固定記事」を公開したり、既存の「投稿」と「固定記事」を更新することができます。これにより、Google内部に更新が通知され、画面の上部にある「○○に開始されたpingの結果」の日時が公開または更新日時に変更され、検索エンジンに通知された旨が表示されるはずです。しかし、待てど暮せど「通知されました」というメッセージが表示されず、「検索エンジンは通知されていません。あなたのサイトマップを知らせるには投稿を書いてください」というままです。
この状態では、更新を通知する機能が正常に動作していない可能性があります。
「デバッグ機能」をクリックします。

Google XML Sitemapsプラグインの更新日時通知 2
「ズラズラ」と表示されます。サイトマップの量によって異なりますが、ページ全体の中程までスクロールする必要があります。

参考: /wp-content/plugins/google-sitemap-generator/sitemap-core.php の一部
public function init_options() {

        $this->options                       = array();
        $this->options['sm_b_ping']          = true; // Auto ping Google .
        $this->options['sm_b_stats']         = false; // Send anonymous stats .
        $this->options['sm_b_autozip']       = true; // Try to gzip the output .
        $this->options['sm_b_memory']        = ''; // Set Memory Limit (e.g. 16M) .
        $this->options['sm_b_time']          = -1; // Set time limit in seconds, 0 for unlimited, -1 for disabled .
        $this->options['sm_b_style_default'] = true; // Use default style .
        $this->options['sm_b_style']         = ''; // Include a stylesheet in the XML .
        $this->options['sm_b_baseurl']       = ''; // The base URL of the sitemap .
        $this->options['sm_b_robots']        = true; // Add sitemap location to WordPress' virtual robots.txt file .
        $this->options['sm_b_html']          = true; // Include a link to a html version of the sitemap in the XML sitemap .
        $this->options['sm_b_exclude']       = array(); // List of post / page IDs to exclude .
        $this->options['sm_b_exclude_cats']  = array(); // List of post / page IDs to exclude .

        $this->options['sm_in_home']        = true; // Include homepage .
        $this->options['sm_in_posts']       = true; // Include posts .
        $this->options['sm_in_posts_sub']   = false; // Include post pages (<!--nextpage--> tag) .
        $this->options['sm_in_pages']       = true; // Include static pages .
        $this->options['sm_in_cats']        = false; // Include categories .
        $this->options['sm_product_tags']   = true; // Hide product tags in sitemap .
        $this->options['sm_in_product_cat'] = true; // Include product categories .
        $this->options['sm_in_arch']        = false; // Include archives .
        $this->options['sm_in_auth']        = false; // Include author pages .
        $this->options['sm_in_tags']        = false; // Include tag pages .
        $this->options['sm_in_tax']         = array(); // Include additional taxonomies .
        $this->options['sm_in_customtypes'] = array(); // Include custom post types .
        $this->options['sm_in_lastmod']     = true; // Include the last modification date .
        $this->options['sm_b_sitemap_name'] = 'sitemap'; // Name of custom sitemap.
        $this->options['sm_cf_home']        = 'daily'; // Change frequency of the homepage .
        $this->options['sm_cf_posts']       = 'monthly'; // Change frequency of posts .
        $this->options['sm_cf_pages']       = 'weekly'; // Change frequency of static pages .
        $this->options['sm_cf_cats']        = 'weekly'; // Change frequency of categories .
        $this->options['sm_cf_product_cat'] = 'weekly'; // Change frequency of categories .
        $this->options['sm_cf_auth']        = 'weekly'; // Change frequency of author pages .
        $this->options['sm_cf_arch_curr']   = 'daily'; // Change frequency of the current archive (this month) .
        $this->options['sm_cf_arch_old']    = 'yearly'; // Change frequency of older archives .
        $this->options['sm_cf_tags']        = 'weekly'; // Change frequency of tags .

        $this->options['sm_pr_home']        = 1.0; // Priority of the homepage .
        $this->options['sm_pr_posts']       = 0.6; // Priority of posts (if auto prio is disabled) .
        $this->options['sm_pr_posts_min']   = 0.2; // Minimum Priority of posts, even if autocalc is enabled .
        $this->options['sm_pr_pages']       = 0.6; // Priority of static pages .
        $this->options['sm_pr_cats']        = 0.3; // Priority of categories .
        $this->options['sm_pr_product_cat'] = 0.3; // Priority of categories .
        $this->options['sm_pr_arch']        = 0.3; // Priority of archives .
        $this->options['sm_pr_auth']        = 0.3; // Priority of author pages .
        $this->options['sm_pr_tags']        = 0.3; // Priority of tags .

        $this->options['sm_i_donated']           = false; // Did you donate? Thank you! :) .
        $this->options['sm_i_hide_donated']      = false; // And hide the thank you.. .
        $this->options['sm_i_install_date']      = time(); // The installation date .
        $this->options['sm_i_hide_survey']       = false; // Hide the survey note .
        $this->options['sm_i_hide_note']         = false; // Hide the note which appears after 30 days .
        $this->options['sm_i_hide_works']        = false; // Hide the 'works?' message which appears after 15 days .
        $this->options['sm_i_hide_donors']       = false; // Hide the list of donations .
        $this->options['sm_i_hash']              = substr( sha1( sha1( get_bloginfo( 'url' ) ) ), 0, 20 ); // Partial hash for GA stats, NOT identifiable! .
        $this->options['sm_i_tid']               = '';
        $this->options['sm_i_lastping']          = 0; // When was the last ping .
        $this->options['sm_i_supportfeed']       = true; // shows the support feed .
        $this->options['sm_i_supportfeed_cache'] = 0; // Last refresh of support feed .
        $this->options['sm_links_page']          = 10; // Link per page support with default value 10. .
    }

Google XML Sitemapsプラグインの更新日時通知 3
「Sitemap Config」の「sm_b_ping」は、更新日時を検索エンジンに通知する機能です。もし「1」が設定されている場合は、オンになっています。また、「sm_i_tid」はGoogle AnalyticsのTIDの値で、本来はGoogleへの更新通知には関係ありませんが、この記事では関係があるため、覚えておく必要があります。さらに、下部にある「sm_i_lastping」は、最新のping送信日時であり、最も直近に検索エンジンにXMLサイトマップの更新日時を通知した日時を示します。画像のように、TIDが空で、ping送信日時も空欄となっています。

Google XML Sitemapsプラグインの更新日時通知 4
再度XML Sitemapsプラグインの設定画面に移動します。
通常は関係のないはずの「基本設定」内の「Add Google Analytics TID」というテキストボックスに、所持しているGoogle AnalyticsのTIDを入力します。2022年春までの場合は、多くの場合「UA-XXXXXXXXX-1」というIDが使われており、Analytics 4プロパティに変更された場合は"G-英数字"が使用されます。ただし、XML Sitemapsで通常のサイトマップの出力機能を使用し、更新日時を通知する(Ping送信)だけであれば、この情報は不要です。ここでは、簡単な数字を入力すれば十分です。たとえば、「1」と入力してください。入力したら、ページの最下部にある「更新を設定」をクリックします。

Google XML Sitemapsプラグインの更新日時通知 5
ページの上部に「設定を更新しました」というメッセージが表示されていることを確認してください。
その下にある「○○○に開始されたpingの結果」に表示されるのは、最後に投稿または固定ページを公開/更新した日時です。したがって、これは設定変更前と同じであるはずです。さらにその下には、「Googleは変更について正しく通知されました」と表示されます。先ほどはこの日時にはPing送信が「通知されていません」と表示されていましたが、今度は真逆の「通知されました」と表示されています。どちらが正しいのでしょうか?とても混乱しますね。

Google XML Sitemapsプラグインの更新日時通知 6
再び、「デバッグ機能」をクリックしました。
すると、GoogleアナリティクスのTID欄に入力した値が「sm_i_tid」として表示された。(正常)
しかし、「sm_i_lastping」欄は依然として「空」のままでした。「通知されました」という表示が正しければ、この欄にはその日時の値が入っているはずであるが、なぜ入っていないのだろうか。

Google XML Sitemapsプラグインの更新日時通知 7
ここで、「投稿」または「固定記事」の1つを編集して保存しました。これで更新日時の表示が変わる筈です。
上の画像では、「○○○に開始されたpingの結果」の日時表示が更新日時に変わりました。(想定通りです)

Google XML Sitemapsプラグインの更新日時通知 8
今回は、数字が10桁並んだ「sm_i_lastping」という項目に値が入りました。このような数字は通常、UNIX時間を表しています。この数字を日時形式に変換すると、1つ前の画面に表示された日時とおよそ一致することがわかりました。
「sm_i_lastping」には値が表示されており、これはバグではなく正常に機能していると考えられます。つまり、TIDを入力する前にPing送信はできていなかったということになるでしょうか?

画像はありませんが、XML Sitemapsの設定画面に戻り、TIDを削除して「設定を更新」(保存)しました。
その後、「デバッグ機能」を表示すると、今度は「sm_i_tid」も「sm_i_lastping」も空になっていることが確認できました。これにより、TIDが空でない状態で「投稿」「固定記事」を更新すると、「sm_i_lastping」に値が表示されることがわかりました。ただし、この動作ではTIDの有無にかかわらず、実際にPing送信されたかどうかを判断することはできないかもしれません。

ここまで確認したところ、Ping送信をする場合、TIDを入力する必要があるかどうかは不明です。作者またはメンテナーはv4.1.3でTIDの値を必須からオプションに変更したと主張していますが、それが正しいかどうかはわかりません。Ping送信のデバッグログがないと確認できません。
ただし、Ping送信を行いたい場合は、TIDに何かしらの値を入れておけばよいことが判明しました。したがって、この記事のように「1」と入力しておけばよいと思われます。

GitHubのGoogle XML Sitemapsプラグインのソースの変更履歴を確認したところ、Ping送信でTIDの入力を必須としないための修正が2022年6月13日に行われています。プラグインの最新版であるv4.1.5は2022年8月にリリースされましたが、その修正は含まれていないようです。「残念」です。

XML SitemapsプラグインのPing送信は、記事を公開や更新した時にその記事のURLを伝えるIndexNowのようなものではなく、単に「(変化があったことを伝える意図で)サイトマップのURLをGoogleに通知」するだけのものです。この機能は必須ではありません。
GoogleはPing送信を受けて、送信されたURLのサイトマップを取得して、そこに書かれている各リンクURLのlastmodの日時を見ているかは不明ですが記事の登録または更新の直近のものを認識し、記事をクローラーが見に来ます。ウェブサイトのオーナーとしては、できるだけ早くサイトマップを読みに来てもらい、クローラーが来てコンテンツを取り込み、検索インデックスに登録されるようにしたいと思うのは共通の思いです。

XMLサイトマップをGoogle Search Consoleに登録後、サイトマップの読み込み頻度や、クローラーがコンテンツを取り込むまでの早さ、そしてクローラーが来た後に検索インデックスに登録されるまでの早さは、ウェブサイトによって優先度が異なるようです。ページ数が多くてコンテンツの追加や更新が頻繁で、閲覧数が多いサイトほど、クローラーも早く来て検索インデックスに登録されるのが早いです。一方、開設から半年に満たないウェブサイトや、Google Search Consoleに登録したばかりで、XMLサイトマップを登録してから間もないウェブサイトは、URLを送信しても何日もクローラーが来ず、なかなか検索インデックスに登録されないことがあります。

最後に、Google XML Sitemapsプラグインを使う場合は自分自身のサイトのドメインの後ろに「/sitemap.xml」を付けたURLをブラウザで表示すると、サイトマップの出力機能が正常に機能しているかを確認することができます。Google XML Sitemapsプラグインはカテゴリ関係でマイナーバグが報告されているようですが、メインのXMLサイトマップ表示部分にはバグらしい動作はないようです。
XMLサイトマップが正常に表示されるなら「Google XML Sitemapsプラグインが原因でインデックス登録されない」という結論にはなりえません。
XMLサイトマップの作成、XMLサイトマップのPing送信、クロール、検索エンジンへの登録は、それぞれ異なる話題であり、これらを混同すると解決できる問題も解決できなくなる可能性があります。特にネットで騒ぐことで他の人を混乱させることががあるため、ご注意ください。

関連記事:

Redmi Note 9S向けにAndroid 12ベースのMIUI 13がリリースとシステムアプリ消し

Mi Bunny

2年前に発売されたXiaomiのRedmi Note 9SはAndroid 11更新提供こそXiaomiの中でも最速リリース組だったがAndroid 12ベースのMIUI 13は完全な後回し組となった。中国向けモデル、グローバル向けの新しめのモデルには今年の春以降に順次Android 12 + MIUI 13 (一部モデルはAndroid 11 + MIUI 13)のリリースが始まったがRedmi Note 9Sは2022年Q3ということで夏以降〜秋頃でいつになるかは判らないという状態。
と、思ったら7月下旬に8月前半中のリリースというスケジュールのリークがあった。なのでお盆休みかなと思ったら意外にも8月6日という早めのリリースとなった。欧州向けとグローバル向けが同時リリースかと思っていたらグローバル向けが先に出た。なお、リリースといっても8月6日時点ではMiパイロット向けなのでユーザー全員に提供されるものではありません。OTAで提供される更新であれば数日の内にMiパイロットに登録しているユーザーに順次提供されると思われますが、スマホ側でMiアカウントにログインしておく必要があります。OTAでない場合はRecoveryロムを別途入手してカスタムリカバリーで焼くという作業が必要かと思われます。8月6日のリリースはV13.0.2.0.SJWMIXMで、13.0.1.0はリリースにはなっていません。

2022年9月4日追記:
Recoveryだけでなく既にFastbootの提供も始まっているので、これまでのバージョンも含め通常であれば安定版のRecovery/Fastboot出揃って正式リリースとに進むということになる筈ですが、不思議なことにXiaomi CommunityではRedmi Note 9SのAndroid 12ベースのMIUI 13については全くのダンマリです。提供が始まったこともアナウンスされていません。OTAでの提供開始も確認できていません。他所の情報では「限定リリース」ということになっているので一部の国と地域では(OTAを含めて)提供が始まっている筈です。

2022年9月20日追記:
8月〜9月始めにXiaomiのコミュニティーの更新があったようで古い書き込みが読み出せなくなったのと検索システムが最適化されていないようで情報が探しにくくなっているようです。Redmi Note 9シリーズ(Note 9Sを含む)のファームウエア情報を纏めて提供されているスーパーモデレータのhappybuddhistさんが8月25日にアナウンスを出していました。
MIUI 13 Global Stable ROM v13.0.2.0.SJWMIXM with Android 12 for Redmi Note 9S Released: Download Now!
この記事本文ではOTAについては書かれていないのですが、コメントでhappybuddhistさんが、「リージョンを変更して再起動してから、もう一度確認してください。それでも OTA アップデートを受信しない場合は、ここからリカバリ ROM をダウンロードし、アップデータ アプリを介して手動でフラッシュすることができます。」と書いていることから、やはりOTAでの更新提供が始まっている国/地域があるようです。Android設定の「追加設定」から「地域」を開き日本以外の何処かの国(日本向けRedmi Note 9Sはグローバルロムなので少なくとも欧州(+南米の一部他)/インド/トルコ/ロシアは違う)を選択して「再起動してから」更新確認します。更新できたら日本に戻すのをお忘れなく。このことは5chのRedmi Note 9Sスレに書いたのですが「がとらぼ」に書くのを忘れてました。スミマセン
一部の国には「エジプト」が含まれるようです。
今回はメジャーバージョンの更新なので更新後にファクトリーリセットするかそれが無理ならキャッシュ削除を実行するべきでしょう。両方できない場合は更新から半日〜数日ほど変な挙動が発生することがあります。古いキャッシュが無くなれば殆どの変な挙動はなくなるでしょう。

Redmi Note 9S向けにAndroid 12ベースのMIUI 13がリリース 1
Android 11ベースのMIUI 12.5からAndroid 12ベースのMIUI 13になりました。更新後は古いAndroidのデータが残ってシステムだけが更新された状態です。AndroidやMIUIのメジャー更新時は「できるなら」初期化(ファクトリーリセット)した方がトラブルは少なくなります。この画像は初期化してAndroidの初期設定直後のホーム画面です。

Redmi Note 9S向けにAndroid 12ベースのMIUI 13がリリース 2
バージョン表示の画面。Android 12で且つMIUI 13.0.2であることが示されています。今回は8月のリリースですがAndroidセキュリティーパッチは7月度です。(8月6日時点でXiaomiスマホ向けで8月度のAndroid セキュリティーパッチ入りのファームウエアは数えられる程度のモデル向けにしか提供されていません。)

Redmi Note 9S向けにAndroid 12ベースのMIUI 13がリリース 3
初期化直後。毎度のことだが不要なアプリがたくさん。システムアプリですらXiaomiのスマホには要らないのが多い。

Redmi Note 9S向けにAndroid 12ベースのMIUI 13がリリース 4
初期化後、所用で5時間ほど触れず。
で、触れない間にMIUI標準搭載のクリーナーアプリから通知が出ていた。長く使っていないアプリを削除して空き容量を増やせとのこと。
通知をタップすると「クリーナー」アプリが開く。「アプリをアンインストール」をクリック。

Redmi Note 9S向けにAndroid 12ベースのMIUI 13がリリース 5
何故かシステムアプリが3つ削除対象になっている。リスト右側の○をクリックしてチェックし、画面下部の「○○をアンインストール」で削除できた。
というか、初期化から4時間で「長期間使用していないアプリ」をリストアップするのも、システムアプリが削除対象に出るのも、システムアプリが削除できてしまうのもダメでしょ?クリーナーアプリの除外アプリリストが適切に作成されていないのかしら?
とはいえ、今回リストアップされた3つのアプリの内、「壁紙カルーセル」は残しておくと頻繁に表示されて壁紙を変えろとうるさいので削除する予定だったアプリ。他の2つもどうでも良いのでやはり素直に削除した。

XIaomiのグローバルモデルは広告が表示されたり無駄に情報を収集する所謂bloatwareがたくさん。初期化したら毎度の不要なシステムアプリ消しを実行する。MIUIのメジャーバージョンが変わると入っているシステムアプリが微妙に変わるので消して良いのかそうでないのか悩むところが幾つか。

システムアプリの一覧
$ adb shell pm list package
package:com.miui.screenrecorder
package:com.google.android.networkstack.tethering
package:com.xiaomi.cameratest
package:com.google.android.apps.subscriptions.red
package:com.android.cts.priv.ctsshim
package:com.google.android.youtube
package:com.qualcomm.qti.qcolor
package:com.android.internal.display.cutout.emulation.corner
package:com.google.android.ext.services
package:com.android.internal.display.cutout.emulation.double
package:com.android.providers.telephony
package:com.android.dynsystem
package:com.miui.powerkeeper
package:com.goodix.fingerprint
package:com.google.android.googlequicksearchbox
package:com.miui.fm
package:com.google.android.cellbroadcastservice
package:com.android.providers.calendar
package:com.google.android.apps.googleassistant
package:com.android.providers.media
package:com.milink.service
package:com.qti.service.colorservice
package:com.google.android.onetimeinitializer
package:com.google.android.ext.shared
package:com.android.internal.systemui.navbar.gestural_wide_back
package:com.xiaomi.powerchecker
package:com.xiaomi.account
package:com.miui.phone.carriers.overlay.vodafone
package:com.android.wallpapercropper
package:com.xiaomi.cameratools
package:miui.systemui.plugin
package:com.xiaomi.mi_connect_service
package:com.xiaomi.micloud.sdk
package:com.android.updater
package:com.android.externalstorage
package:com.qualcomm.uimremoteclient
package:com.android.htmlviewer
package:com.miui.extraphoto
package:com.miui.securityadd
package:com.qualcomm.qti.uceShimService
package:com.android.companiondevicemanager
package:com.miui.gallery
package:com.android.mms.service
package:com.mi.healthglobal
package:com.miui.msa.global
package:com.qualcomm.qti.qms.service.connectionsecurity
package:com.android.providers.downloads
package:com.longcheertel.midtest
package:com.xiaomi.payment
package:com.google.android.apps.messaging
package:com.miui.securitycenter
package:com.android.internal.systemui.onehanded.gestural
package:vendor.qti.hardware.cacert.server
package:android.autoinstalls.config.Xiaomi.qssi
package:com.qualcomm.qti.telephonyservice
package:com.qualcomm.qti.performancemode
package:com.miui.videoplayer
package:com.qualcomm.qti.ridemodeaudio
package:vendor.qti.iwlan
package:com.google.android.configupdater
package:com.google.android.providers.media.module
package:com.google.android.overlay.modules.permissioncontroller
package:com.android.soundrecorder
package:com.qualcomm.uimremoteserver
package:com.qti.confuridialer
package:com.miui.guardprovider
package:com.android.providers.downloads.ui
package:com.android.vending
package:com.android.pacprocessor
package:com.android.simappdialog
package:com.miui.backup
package:com.android.settings.overlay.miui
package:com.miui.notification
package:android.overlay.common
package:com.miui.micloudsync
package:com.xiaomi.barrage
package:com.android.internal.display.cutout.emulation.hole
package:com.android.internal.display.cutout.emulation.tall
package:com.miui.daemon
package:com.android.networkstack.overlay
package:com.android.certinstaller
package:com.android.carrierconfig
package:com.google.android.marvin.talkback
package:com.android.internal.systemui.navbar.threebutton
package:com.qti.qualcomm.datastatusnotification
package:android
package:com.android.hotwordenrollment.xgoogle
package:com.android.systemui.notch.overlay
package:com.qualcomm.qti.callfeaturessetting
package:com.qualcomm.wfd.service
package:com.miui.hybrid
package:android.miui.overlay
package:com.miui.securitycore
package:com.qti.qualcomm.deviceinfo
package:com.android.egg
package:com.android.mtp
package:com.android.nfc
package:com.android.ons
package:com.android.stk
package:com.android.backupconfirm
package:com.xiaomi.simactivate.service
package:com.goodix.gftest
package:com.longcheertel.sarauth
package:com.miui.phrase
package:com.miui.player
package:com.miui.miservice
package:com.android.provision
package:org.codeaurora.ims
package:com.google.android.gm
package:android.overlay.target
package:com.miui.system
package:com.google.android.overlay.gmsconfig.common
package:com.qti.pasrservice
package:com.miui.cleaner
package:com.android.settings.intelligence
package:com.miui.global.packageinstaller
package:com.miui.miwallpaper.overlay.customize
package:com.android.internal.systemui.navbar.gestural_extra_wide_back
package:com.google.android.permissioncontroller
package:com.miui.systemui.devices.overlay
package:com.miui.compass
package:com.qualcomm.qti.dynamicddsservice
package:com.google.android.setupwizard
package:com.miui.rom
package:com.miuix.editor
package:com.qualcomm.qti.xrvd.service
package:com.qualcomm.qcrilmsgtunnel
package:com.android.providers.settings
package:com.android.sharedstoragebackup
package:com.facebook.services
package:com.android.printspooler
package:com.android.hotwordenrollment.okgoogle
package:com.miui.misound
package:com.qualcomm.qti.services.systemhelper
package:com.android.wifi.resources.overlay.common
package:org.ifaa.aidl.manager
package:com.android.dreams.basic
package:com.google.android.overlay.modules.ext.services
package:com.android.incallui
package:com.android.systemui.gesture.line.overlay
package:com.fido.xiaomi.uafclient
package:com.miui.bugreport
package:com.android.se
package:com.android.inputdevices
package:com.google.android.apps.wellbeing
package:com.fido.asm
package:com.google.android.dialer
package:com.android.bips
package:com.qti.dpmserviceapp
package:com.google.android.captiveportallogin
package:com.google.android.overlay.gmsconfig.comms
package:com.fingerprints.extension.service
package:com.google.android.overlay.gmsconfig.geotz
package:com.qti.xdivert
package:com.android.musicfx
package:com.xiaomi.mircs
package:com.android.systemui.overlay.miui
package:com.android.settings.overlay.common
package:com.google.android.apps.maps
package:com.google.android.modulemetadata
package:com.miui.cloudbackup
package:com.miui.wallpaper.overlay
package:com.miui.face.overlay.miui
package:com.android.cellbroadcastreceiver
package:com.google.android.webview
package:com.google.android.overlay.modules.documentsui
package:com.google.android.networkstack
package:com.google.android.contacts
package:com.android.server.telecom
package:com.android.server.telecom.overlay.miui
package:com.google.android.syncadapters.contacts
package:com.android.keychain
package:com.qti.snapdragon.qdcm_ff
package:com.android.wifi.resources.overlay.target
package:com.android.camera
package:com.android.chrome
package:com.xiaomi.xmsf
package:com.google.android.packageinstaller
package:com.miui.mishare.connectivity
package:com.google.android.gms
package:com.google.android.gsf
package:com.google.android.ims
package:com.google.android.tts
package:com.android.wifi.resources
package:com.android.phone.overlay.common
package:com.android.carrierconfig.overlay.common
package:com.google.android.apps.walletnfcrel
package:com.android.calllogbackup
package:com.miui.freeform
package:com.google.android.partnersetup
package:android.aosp.overlay
package:com.android.systemui.overlay.common
package:com.android.cameraextensions
package:com.xiaomi.xmsfkeeper
package:com.android.server.telecom.overlay.common
package:com.android.localtransport
package:com.google.android.overlay.gmsconfig.gsa
package:com.miui.miwallpaper.overlay
package:com.android.carrierdefaultapp
package:com.xiaomi.mipicks
package:com.miui.wallpaper.overlay.customize
package:com.qualcomm.qti.remoteSimlockAuth
package:com.xiaomi.finddevice
package:com.qualcomm.qti.devicestatisticsservice
package:com.android.theme.font.notoserifsource
package:com.android.proxyhandler
package:com.xiaomi.joyose
package:com.android.internal.display.cutout.emulation.waterfall
package:com.qualcomm.qti.workloadclassifier
package:com.mi.android.globalFileexplorer
package:com.miui.notes
package:com.miui.wmsvc
package:com.google.android.connectivity.resources
package:com.google.android.overlay.modules.permissioncontroller.forframework
package:com.xiaomi.misettings
package:com.google.android.feedback
package:com.google.android.printservice.recommendation
package:com.xiaomi.midrop
package:com.google.android.calendar
package:com.miui.cloudservice
package:com.android.managedprovisioning
package:com.miui.hybrid.accessory
package:com.fingerprints.sensortesttool
package:com.miui.core.internal.editor.services
package:com.android.soundpicker
package:com.tencent.soter.soterserver
package:com.google.android.documentsui
package:com.android.dreams.phototable
package:com.miui.audiomonitor
package:com.miui.touchassistant
package:com.google.mainline.telemetry
package:com.android.providers.partnerbookmarks
package:com.android.smspush
package:com.miui.calculator
package:com.android.wallpaper.livepicker
package:com.android.apps.tag
package:com.miui.miwallpaper
package:com.android.imsserviceentitlement
package:com.facebook.system
package:com.android.systemui.navigation.bar.overlay
package:com.xiaomi.bluetooth
package:com.longcheertel.AutoTest
package:com.google.android.cellbroadcastservice.overlay.miui
package:com.google.android.networkstack.permissionconfig
package:com.android.storagemanager
package:com.wdstechnology.android.kryten
package:com.miui.analytics
package:com.android.bookmarkprovider
package:com.android.settings
package:com.qualcomm.qti.cne
package:com.qualcomm.qti.ims
package:com.qualcomm.qti.lpa
package:com.qualcomm.qti.uim
package:com.miui.weather2
package:org.mipay.android.manager
package:com.google.android.projection.gearhead
package:com.qualcomm.location
package:com.xiaomi.scanner
package:com.google.android.apps.turbo
package:com.android.thememanager.gliobal_config.config.overlay
package:com.android.cts.ctsshim
package:com.google.android.overlay.modules.modulemetadata.forframework
package:com.miui.yellowpage
package:com.qualcomm.qti.uimGbaApp
package:com.caf.fmradio
package:com.qti.diagservices
package:com.miui.systemui.carriers.overlay
package:com.miui.systemui.overlay.devices.android
package:com.qualcomm.qti.services.secureui
package:com.android.vpndialogs
package:com.longcheertel.cit
package:com.android.phone
package:com.android.overlay.gmstelephony
package:com.android.shell
package:com.android.wallpaperbackup
package:com.android.providers.blockednumber
package:com.miui.screenshot
package:com.android.overlay.gmstelecomm
package:com.android.providers.userdictionary
package:com.android.emergency
package:com.qualcomm.qti.seccamservice
package:com.android.hotspot2.osulogin
package:com.qualcomm.qti.qdma
package:com.qualcomm.qti.xrcb
package:com.google.android.gms.location.history
package:com.android.internal.systemui.navbar.gestural
package:com.android.location.fused
package:com.android.deskclock
package:com.android.systemui
package:com.miui.phone.carriers.overlay.h3g
package:com.miui.core.internal.services
package:com.android.wifi.resources.xiaomi
package:com.android.bluetoothmidiservice
package:com.qualcomm.qti.confdialer
package:com.qualcomm.qti.poweroffalarm
package:com.qti.ltebc
package:com.google.android.cellbroadcastreceiver.overlay.miui
package:com.qti.phone
package:com.mi.globallayout
package:com.facebook.appmanager
package:com.xiaomi.discover
package:com.android.thememanager
package:com.android.traceur
package:com.miui.fmservice
package:com.google.android.cellbroadcastreceiver
package:com.qualcomm.qti.qccauthmgr
package:com.lbe.security.miui
package:com.android.bluetooth
package:com.qualcomm.timeservice
package:com.mi.globalminusscreen
package:com.qualcomm.atfwd
package:com.qualcomm.embms
package:com.android.providers.contacts
package:vendor.qti.imsrcs
package:com.android.internal.systemui.navbar.gestural_narrow_back
package:com.android.cellbroadcastreceiver.overlay.common
package:com.miui.core
package:com.miui.face
package:com.miui.home
package:com.google.android.inputmethod.latin
package:com.google.android.apps.restore

黄字は「がとらぼ」の中の人が要らないと判断したシステムアプリ。

上のリストにはありませんが、
com.google.android.apps.subscriptions.redは、Google Oneアプリです。
com.zhiliaoapp.musicallyは、TikTokアプリです。
sg.bigo.liveはビゴライブです。

以下、システムアプリの削除
$ adb shell pm uninstall -k --user 0 com.facebook.appmanager
Success
$ adb shell pm uninstall -k --user 0 com.miui.yellowpage
Success
$ adb shell pm uninstall -k --user 0 com.facebook.system
Success
$ adb shell pm uninstall -k --user 0 com.tencent.soter.soterserver
Success
$ adb shell pm uninstall -k --user 0 com.miui.hybrid.accessory
Success
$ adb shell pm uninstall -k --user 0 com.miui.cloudservice
Success
$ adb shell pm uninstall -k --user 0 com.xiaomi.joyose
Success
$ adb shell pm uninstall -k --user 0 com.miui.mishare.connectivity
Success
$ adb shell pm uninstall -k --user 0 com.miui.cloudbackup
Success
$ adb shell pm uninstall -k --user 0 com.miui.cleaner
Success
$ adb shell pm uninstall -k --user 0 com.facebook.services
Success
$ adb shell pm uninstall -k --user 0 com.miui.hybrid
Success
$ adb shell pm uninstall -k --user 0 com.miui.micloudsync
Success
$ adb shell pm uninstall -k --user 0 com.miui.backup
Success
$ adb shell pm uninstall -k --user 0 com.miui.videoplayer
Success
$ adb shell pm uninstall -k --user 0 com.xiaomi.payment
Success
$ adb shell pm uninstall -k --user 0 com.xiaomi.micloud.sdk
Success
$ adb shell pm uninstall -k --user 0 com.milink.service
Success
$ adb shell pm uninstall -k --user 0 com.miui.fm
Success
$ adb shell pm uninstall -k --user 0 com.google.android.youtube
Success
$ adb shell pm uninstall -k --user 0 com.mi.android.globalFileexplorer
Success
$ adb shell pm uninstall -k --user 0 com.miui.notes
Success
$ adb shell pm uninstall -k --user 0 com.miui.fmservice
Success
$ adb shell pm uninstall -k --user 0 com.xiaomi.simactivate.service
Success
$ adb shell pm uninstall -k --user 0 com.xiaomi.mi_connect_service
Success
$ adb shell pm uninstall -k --user 0 com.xiaomi.mircs
Success
$ adb shell pm uninstall -k --user 0 com.miui.analytics
Success
$ adb shell pm uninstall -k --user 0 com.miui.bugreport
Success
$ adb shell pm uninstall -k --user 0 com.xiaomi.midrop
Success
$ adb shell pm uninstall -k --user 0 com.google.android.apps.wellbeing
Success
$ adb shell pm uninstall -k --user 0 com.xiaomi.mipicks
Success
$ adb shell pm uninstall -k --user 0 com.google.android.apps.subscriptions.red
Success
$ adb shell pm uninstall -k --user 0 com.android.thememanager
Success
$ adb shell pm uninstall -k --user 0 com.android.thememanager.gliobal_config.config.overlay
Success
$ adb shell pm uninstall -k --user 0 com.caf.fmradio
Success
$ adb shell pm uninstall -k --user 0 com.miui.msa.global
Success

削除するのは怖いということであれば「無効化」のdisableをuninstallの代わりに入力。
削除(or無効化)コマンド送信後にSuccessが表示されることを確認する。

まぁ、削除といっても復活させられるので怖がる必要はないんだけど。
たとえば、上で削除したテーマ選択関係の com.android.thememanager と com.android.thememanager.gliobal_config.config.overlay は、通常運用では削除状態で害は無いが、例えば時計でアラーム音を変更したいとなったときに曲の選択画面が出ないというような問題がある。

$ adb shell cmd package install-existing com.android.thememanager
Package com.android.thememanager installed for user: 0
$ adb shell cmd package install-existing com.android.thememanager.gliobal_config.config.overlay
Package com.android.thememanager.gliobal_config.config.overlay installed for user: 0

このように adb shell cmd package install-existing 削除済みシステムアプリ名 で復活できる。通常は復活後すぐに使えるようになるのでシステム再起動は不要。

Redmi Note 9S向けにAndroid 12ベースのMIUI 13がリリース 6
「がとらぼ」の中の人が要らないと思ったシステムアプリを削除した。ドロワーは1画面に全て収まる程度になった。頑張ればさらに半分くらいにもできるだろうが、そこまでする必要もないかなと。個人的には「セキュリティ」とかは要らないのだが、これは消すとトラブる系のアプリなので注意。

MIUI 12.5から何が変わったかと見回しても何か何も違わないようでいて細かい部分は特に画面の切り替わりはちょこちょこ変わってるっぽい。グローバル向け12.5.6.0.RJWMIXMは(問題ありで取り下げられたバージョン)アプリの切り替えがガタガタでWi-FiのAP間の切り替えが異常に悪かった(修正前に戻った?)のでこのあたりが改善されて非常にスムース感が高くなった。
TelegramのRN9SのグループでV13.0.2.0.SJWMIXMのリリースから24時間以内に報告されたバグらしいものはWi-Fiの5GHzの感度が低いというものがあるようです。「がとらぼ」の中の人はこの問題は実感していません。
ちょこっと使った範囲ではRedmi Note 9Sでは新しいMIUI 13は悪いバージョンではなさそう。

MIUI 13で変わったところで気をつけたいところ2点。

Wi-FiのAPの設定で「プライバシー」が「ランダムなMACを使用」が初期値になったので、MACアドレスフィルタリングをかけているAPに接続するのであれば「デバイスのMAC」に変更しなければ「全然つながんねーよ」ということになる。MACアドレスフィルタリングはセキュリティ面ではほぼ意味無い(ガチ勢相手には無駄)が「子供のタダ乗り避け」くらいには役に立つこともあるのかなという点では利用したらダメということはない。ただ、Wi-Fi AP側のMACアドレス管理の手間を考えると「子供のタダ乗り避け」と見合うかは疑問ですが。

更新して初期化後、セットアップウィザードに従いAndroid の初期設定を行う。このとき、求められる項目全ての設定を行わないと、Google Playのアプリ更新が一時保留になる。これはAndroid 11 + MIUI 12系も同じだった筈。
今回、Android 12 + MIUI 13になって、セットアップで必要な項目がよくわからない。通知にセットアップが済んでない旨が表示されなければ終わりかと思うがそうではない?または、Google Playの一時保留判断がおかしいのか一時保留が自動で解除されず悩まされた。結局、一時保留になっているのを手動で更新キャンセルにして再度「更新」させたところ普通に更新できるようになった。わかりにくすぎると思う。

関連記事:
Up