🍎

TwitterにApple Musicのサムネイルが表示されない原因【小ネタ】

2024/01/24に公開

どうもyoshiiです。
お久しぶりです。

概要

Twitterでフォロワーに自分が聞いてる曲を自慢するために、Apple Musicのリンクをツイートすると、以前までは以下のようにリンクが展開されてジャケットの画像が表示されていた。

が、今は以下のようにただURLが表示されるだけで、リンクカードにならない。

今回はその原因を調査・特定したのでその結果を書いてみる。

結論

※ Appleの中の人やTwitterの中の人に聞いたわけではないので、あくまで推測です。
逆に、「私は違うと思う」みたいな意見があれば遠慮なくコメントとかTwitterのリプ・DMくれると嬉しいです。

Apple側がrobots.txtでGoogleの検索結果に曲の詳細ページがインデックスされないように設定していたのが、意図せずTwitterのクローラに影響を及ぼしてしまっているっぽい。
2024/01/24現在のApple Musicのrobots.txtを見ると、以下のようになっている。

User-agent: *
Disallow: /WebObjects/*
Allow: /WebObjects/MZStore.woa/wa/viewMultiRoom?*
Disallow: */search?*
Disallow: /api/*
Disallow: /includes/*
Disallow: /v1/*
Disallow: /*?i=*

Sitemap: https://music.apple.com/sitemaps_music_index_staticUrl_1.xml
Sitemap: https://music.apple.com/sitemaps_music_index_album_1.xml
Sitemap: https://music.apple.com/sitemaps_music_index_artist_1.xml
Sitemap: https://music.apple.com/sitemaps_music_index_song_1.xml
Sitemap: https://music.apple.com/sitemaps_music_index_chart_1.xml
Sitemap: https://music.apple.com/sitemaps_music_index_playlist_1.xml
Sitemap: https://music.apple.com/sitemaps_music_index_station_1.xml
Sitemap: https://music.apple.com/sitemaps_music_index_1.xml

そして、Apple Musicの曲詳細のURLの形式は https://music.apple.com/jp/album/ゴキブリ男/1536495289?i=1536495292 のように ~ ?i= ~ 形式でなので、
この中の Disallow: /*?i=* という箇所がどうも悪さをしていそうだということになった。

robots.txtとはなんぞやという人はこちらのGoogleの公式ページを見てほしい。
https://developers.google.com/search/docs/crawling-indexing/robots/create-robots-txt?hl=ja

簡単に言うと、Google側にこのページは検索結果に表示して欲しいみたいなのを伝えるファイルです。

そして、Twitterのリンクカードについての公式リファレンス を見ると、

Twitterのクローラは、Googleのrobots.txt仕様に準拠して、URLをスキャンします。カードマークアップのあるページがブロックされると、カードは表示されません。画像のURLがブロックされると、サムネイルや写真は表示されません。

とあるので、Apple Music側のrobots.txt設定によってブロックされてしまっているのだろうと結論づけた。

ちなみに

完全に裏技だが、Apple Musicの曲のリンクの ?i の間に & を入れてツイートするとサムネが表示される。
https://music.apple.com/jp/album/ゴキブリ男/1536495289?&i=1536495292 みたいな感じです。
簡単な話で、 ~ ?i= ~ 形式ではなくなるので、TwitterのクローラがURLを読み込めるようになると言うわけです。
このスクショもこの方法で撮りました。

最後に

今回はちょっとした小ネタでした。
正直すぐ直せると思うので、Apple Musicさんには修正して欲しさがあります…
多分 User-agent: Twitterbot に対して /*?i=* へのクロールを許可してあげれば良いだけかな?

普段はTwitter(X)で生活しているのでよければ友達になってください。
https://twitter.com/ganja_tuber

Discussion