さくらサーバでサイト制作を行い、完成!” Twitterに載せよ~♬♩ ”とウキウキしていたところ、
ツイッターカードが表示されないという問題が発生しました。ここまできて。。!( ゚Д゚)!!
ソースにmetaタグを設置し、twitterに承認申請することで表示されるようになります(Card validatorで申請します)が、
「Unable to render Card preview」のエラーが表示され続けます。
詳細を読むと、「WARN: No metatags found」となっていますが、何度も何度もソース見てもちゃんと設定されています。
- ソース内にtwitter cardのmetaタグは正しく表示されている。
- robots.txtも設置していない。
- .htaccess等でアクセス制限していない。
今回制作したサイトは、headerやfooterを共通化し、phpで読み込むことで作成しています。
まさかphp使うとツイッターカード使えないとかないよね??等々たくさんのことを考えましたが、結果は単純でした。。
ツイッターカード申請をするたびに、さくらサーバのエラーログにphp.cgiでのアクセスエラーが出ていたのです。
「client denied by server configuration: /home/xxxxx/php.cgi」
そしたらこんな記事がありました。: 「レンタルサーバ 国外IPアドレスフィルタ」
デフォルトで国外IPからのアクセスが拒否されていたのです。
この設定を「有効」にすることで、見事ツイッターカードが表示されるようになりました。
海外からの大量アクセスに悩むこともありますが、この有難い設定に今回は首を絞められてしまいました。
解決してよかったです!