Twitterにプレビューが表示されない
TwitterにURLを投稿したときに表示されるプレビューは、リンクをクリックしてもらうためにとても重要な役割を果たす。
しかし、何かの拍子でプレビューが表示されなくなることがある。作成していたサービスでこの現象が起こり、あれこれ悩んだのだが、結論としてrobot.txtが原因だと分かったのでメモを残す。
robot.txtの書き方
結論として、「すべてのbotは拒否するが、Twitterのプレビューだけは表示したい」というケースの場合は下記のような書き方をすれば良い。
User-agent: Twitterbot
Disallow:
User-agent: *
Disallow: /
まず、User-agentは「Twitterbot」に指定し、Disallowを何も指定せずに「」とする。この書き方だとちょっと紛らわしい部分があるのだが、
「TwitterbotのUser-agentはいずれのページへのアクセスも拒否しない」
という意味になるのでこれで正しい。
そして2つ目のグループでは全てのUser-agentに全てのページのアクセスを拒否するとしているので目的を果たすことができる。
最後に
gokeでは上記のようなプログラムを駆使して新しいサービスを制作しています。気になることなどがあればコメントまたはTwitterでご連絡ください。