[解決済]Twitterカードが表示されない&Google Searchコンソールで500クロールエラー

このサイトはAll in One SEO packというプラグインを使って、TwitterにURLを投稿したらTwitterカードを表示する設定をしています。

ところが設定当初はうまく表示されていたものの、11月半ばを境に表示されなくなる、というトラブルに見舞われていました。

なんでだろうな~ツイートが地味だな~まあそのうち対応しよ~なんてのんきに構えていたのですが。

Google Searchコンソールを覗くと、クロールエラーが大量に発生しているではありませんか!!

これはのっぴきならねえ事態だということで、本格的に対策に乗り出しました。一応解決したので、記録として残しておきます。

結論から申し上げますと、あるプラグインを停止すればTwitterカード表示もクロールも正常に行われるようになりました


スポンサーリンク

1.それぞれのエラー表示

まず、Twitterカード、クロール両方のエラーがどんな感じに出ていたかを書きます。

1-1.Card Validator

Twitterカードの動作確認はTwitter DeveloperのCard Validatorで行うことができます。このページでURLを入力すると、metaタグに問題がなければTwitterカードのプレビューが表示されます。

カードが表示されていないページのURLを入力したところ、以下のエラーが出ました。

No metatags found.

つまり、Twitterカード用のメタタグが見つかんないよ、と。

んなアホな、と思ってGoogle Chromeでサイトを開き、F12でコードを確認しました。


<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="@osm_july3">
<meta name="twitter:domain" content="osm_july3">
<meta name="twitter:title" content="[FF15 Tips]プロンプトの写真をUSBストレージに保存する方法(PS4)">
<meta name="twitter:description" content="FF15の旅を彩ってくれるプロンプトの写真には枚数制限があります。この写真、PS4の機能を使えば外部に保存が可能です。やり方を載せています。">
<meta name="twitter:image" content="http://gadget-nail.com/wp-content/uploads/2016/12/20161211_01.jpg">

めっちゃあるやん?メタってるやん?

試しにカードの表示されているページと比較もしてみましたが、少なくともheadタグ内に相違はないもよう。

1-2.Google Searchコンソール

続いてクロールエラーです。気付いた契機としては、久々にFetch as Googleを行おうとしたら、「アクセスできません」と言われたことでした。

これはもうベーンとグラフを貼ります。アドセンスはレポート貼ったら怒られると聞きましたが、Searchコンソールは大丈夫?ですよね?

2016-12-12

もうね、真っ赤。設立1ヶ月半のこのサイトで48ページもクロールエラーって、それほとんどやんか。どういうことやねんな。

クロールエラーの内容としては500サーバエラーです。

なんやかんやで15年くらいなんらかのサイトを運営してきましたが、昔から500エラーって大嫌いなんですよね。「よくわからんけどエラーやで」の代表格です。apeboardをいじっていた時分からいっっちばん苦しめられてきた憎きエラーです。

apeboardに愛を込めて〜2000年代前半のインターネット〜

とはいえ、ブラウザからは普通にアクセスできるんですよ。つまり、ロボットからのみ500エラーに見えている、と。ますます意味がわかりません。

2.疑うべきエラーと検証

とりあえず「No metatags found.」と「Google Searchコンソール クロールエラー 500」でググりまくってみました。あんまり有力な情報は得られなかったのですが、なんとなく以下の共通点が見えてきます。

  • どちらもrobots.txtやメタタグ等で検索避けをしていると出る
  • どちらもページの読み込みが遅かったら出る
  • どちらもPHPがエラーを出していたら出る

ひとつめの検索避けは、した覚えもないし、確認しても避けていませんでした。ロボットばっちこいです。地下同人サイト時代の私とは違うのよ、と。(余談:今は意識が薄れていますが、女性向け同人界隈のサイトはnoindex,nofollowを指定することがマナーでした。)

次、ふたつめです。まあ読み込みが速い方だとは思っていませんが(ごめんなさい)、このくらいの速度ならよくあるでしょ?と楽観的。

となればみっつめです。ここで気にかかるのがプラグイン。Wordpressを使っていて、PHPエラーといえばプラグイン。稀にテーマが原因のこともありますが、真っ先に疑うはプラグイン。

というわけで、プラグインの検証をすることにしました。


スポンサーリンク

3.解決法:心当たりのあるプラグインを順番に停止する

今回のふたつのエラーは時期を絞り込めたという点で、切り分けがしやすかったです。

最後にTwitterカードが正常に表示されていた記事の投稿日は11月21日。クロールエラーが出始めたのが11月25日。ニアリーです。

さてこの頃なにがあったかな、と考えたところ、Googleアドセンスに承認してもらって、わっくわくでアドセンス周りのプラグインを入れまくった時期でした笑

心当たりがたくさんある。でもひとつひとつのコードを追いかけて原因を特定できるほどのスキルも時間もない。ということで総当り!ひとつずつプラグインを停止して、Fetch as Googleにかける、という地味な作業をしました。

引き当たったのがWidget Logic(ウィジェットのロジック)というプラグイン。ウィジェットの表示を条件分岐タグでON/OFFしてくれるという便利なプラグインで、テンプレートによってアドセンス用ウィジェットとその他の広告用ウィジェットを切り替えていたんです。

これを停止したところ、Fetch as GoogleもCard Validatorも正常にサイト情報を取得してくれました!これにて一件落着です。

……とはいえ、このプラグインが万人にとってトラブルを起こすなんて言いたいわけではありません。プラグインを提供して下さる方々には日々感謝しかしておりません。私の場合はこうだっただけで、伝えたいのは、こういったロボット系エラーが出て、人間の目には正常に映るとき、プラグインのどれかが原因の可能性があるよ、ということです。

4.プラグイン利用にあたり心がけようと思ったこと

教訓、というほどではないですが、今回のことから今後気をつけようと思ったことを挙げてみます。「そんなの常識だろ!」と思われる方もいらっしゃるかもしれませんが、プラグインをどかどかインストールしていると今回のようなトラブルが起こることもあるかもしれないので、Wordpressやその他のCMSにおけるトラブル防止やトラブルシュートに役立てていただければと存じます。

4-1.むやみやたらにプラグインを入れない

これはよく言われていることですね。前述しましたが、今回私がトラブルに陥ったプラグインは単体で悪いわけではないと思います。けれど、テーマとの相性や他のプラグインとの相性で予期せぬ動作をするというのはよくあること。(ちなみにうちのテーマはCatch Boxです。いつもお世話になっております。)

プラグインは便利ですが、だからといってわんさか入れると不具合の原因になります。また、数が多ければ多いほど原因の究明に時間がかかります。

そのあたり、きちっとテスト環境で検証してからプラグインを選定したほうがいいなと改めて思いました。

4-2.更新日の古いプラグインには注意する

これもよく言われていますね。

今回原因だったプラグインは最終更新が2年前で、Wordpressさんも「現在使用している WordPress のバージョンではテストされていません。」とわざわざ警告をくれていました。

テーマや他のプラグインに加えて、Wordpressのバージョンによっても相性ってあります。Wordpressはアップデートが激しいですからね。昔の仕様に合わせて作っていたプラグイン、テーマ、また自分で書いたfunction.phpの記述もいつ切り捨てられてしまうかわかりません。

実際、他に運営しているサイトでも、昔は普通に機能していた[カテゴリ投稿タイプの月別アーカイブ表示]が、いつのまにやら404に見舞われていたことが最近判明しました。こちらも解決済みなので、機会があればまた紹介したいと思います。

そういうことがあるので、アップデートが来ているからといって安易にWordpress自体のアップデートをしてしまうことも考えものです。セキュリティホールの修正なら早急にあてた方がいいですが、そうでないのならテスト環境でじっくり検証してからの方が無難です。

4-3.新しいプラグインを導入したらロボットを呼ぶ

人間の目(というかブラウザ)には普通に表示されていても、ロボットにはそうではないかもしれません。ロボットの目は大切です。WELQ問題でいきすぎたSEOが取り沙汰されている昨今ですが、Googleクローラー様が来てくれなければ、ネットの大海に埋もれて誰にもサイトを見てもらえないこともまた事実です。

なので、新しくプラグインをインストールしたり、テーマを変えたり、と、Wordpressをシステム的にいじった際は、Fetch as GoogleやCard Validatorを使って意図的にロボットさんにエラーが出ていないか聞く、という習慣をつけるといいのではないでしょうか。サイトを更新したらFetch as Googleにかける、というのは、SEO的にも、パクリサイト認定されないためにも大事だと聞きますし。

4-4.Wordpressに変更を加えた日を記録しておく

今回身に染みたのはこれです。Twitterカード表示不具合とクロールエラーの発現時期が同じだったため、エラーを起こすなにかがあった時期は特定できたのですが、その頃に何をやったか、具体的にはどんなプラグインをインストールしたか思い起こすのが大変でした。

今回は1ヶ月経っていなかったので記憶をたよりになんとかなりましたが、数ヶ月経っていたらもうわからなかったでしょう。そのため、Wordpressにいつどんな変更を加えたか覚えておくのは大事だなあとしみじみ思いました。

とまあ、だらだら書きましたが、Twitterカードも表示されるようになったし、クローラー様も正常に来てくれるようになったので、もっとたくさんの方に見ていただけるサイトをめざすぞー!今後ともよろしくお願いいたします。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*