当サイトのリンクにはアフィリエイト広告が含まれています

WordPress純正ブログカードが削除できない原因と対処法

他の管理サイトでテストをして、特段問題なさそうだったので、このサイトもAMPに対応させたんですが、やはりエラー0とはいきませんでした。

想定外だったのは、WordPress純正のブログカードを使っているページでエラーが発生していること。

ifameタグがamp-iframeタグに変換されるはずなので、ブログカードも問題なく変換できると思ってたんですが、そうではなかったようです。

【追記】簡単にブログカードを削除する方法について書きました!



公式ブログカードはなぜ削除されないの?

実は、AMPがどうこうの前に、以前からWordPress純正のブログカードが削除できずに困っていました。

削除できなかったのは、WordPress純正のブログカードを使っていた頃の記事にあるブログカード。

独自ブログカード機能をテーマ内に実装してからのブログカードは問題ないんですが、昔の記事のブログカードはWordPress純正のブログカードのままだったんです。

ただ、その原因がようやくわかりました。純正ブログカードの埋め込みがデータベースにキャッシュされているせいでした。

対処法

つまり、この問題への対処法は、データベース内のキャッシュを削除することです。

とは言え、ブラウザキャッシュとは訳が違い、データベースのキャッシュを削除するのは大変…と言いたいところですが、実は、下記のページで紹介されている方法で、とても簡単に削除できます。

参考https://technote.space/blog/archives/782(リンク切れ)

※簡単に削除する方法はこちらの記事に詳しくまとめています。

simplicity2のブログカードが正常に表示されない問題への対処法という内容ですが、どのテーマにも共通する対処法です。

実際に僕も試しましたが、ボタン一発で、過去のページの純正ブログカードのキャッシュが削除されました。感動!

functions.phpにコードをコピペして削除する方法が初心者向けなので、「データベース?なにそれ?」みたいな方はぜひお試しあれ!

データベース内のキャッシュを削除する方法

  • ファイルを直接編集したくない
  • ブログカードキャッシュを削除する記事が少ない
  • どのようにデータベースに保存されているか確認したい

なんて方向けに、データベース内のブログカードキャッシュを削除する方法もご紹介します。

純正ブログカードキャッシュが保存されているのは、データベース内のwp_postmeta

カスタムフィールドの値を取得・出力する方法でも登場しましたが、記事に紐付いた情報(メタデータ)が保存されている場所です。

まずはmysqlにログインし、ブログカードのキャッシュが残っているデータベースにアクセス。

検索キーワードを「blockquote」、検索するテーブルを「wp_postmeta」にして実行。

「表示」をクリック。

meta_keyに「_oemed_」、meta_valueに「blockquote」と「wp-embedded-content」が含まれているものが削除対象です。

後は、これを削除するだけ。数が多ければ、すべてにチェックを入れて削除すると良いでしょう。

ブログカードのキャッシュ以外の情報がある可能性

この方法は、wp_postmeta内の情報にアクセスするので、ブログカードのキャッシュ以外の情報がヒットする可能性もあります。

  • SEOプラグインを使っていて、タイトル、キーワード、ディスクリプションなどに「blockquote」という文字列がある
  • 何かしらのカスタムフィールドで「blockquote」という文字列を扱っている

など。

あまり考えられないとは思いますが、そういった可能性がある場合は、「class=”wp-embedded-content”」や「_oemed_」などの文字列で探すなどの工夫が必要かもしれません。

その他の埋め込み系キャッシュも削除可能

ちなみに、このデータベースにアクセスしてキャッシュを削除する方法は、他の埋め込み系のキャッシュも削除できます。

例えば、「_oemed_」という文字列でwp_postmeta内を検索すると、YouTubeの埋め込みキャッシュなどがヒットします。

WordPress純正のブログカードのように、邪魔をしている埋め込みコンテンツがあれば、データベースにアクセスして削除しましょう。

削除されるのはキャッシュだけ

念のため補足しますが、どちらの方法もWordPress純正ブログカードのキャッシュをデータベースから削除するだけで、記事が削除されるわけではありません

また、純正ブログカードのキャッシュを削除しても、純正ブログカード生成機能をオフにしなかったり、他のブログカード生成機能を利用しないと、再び純正ブログカードとして記事に埋め込まれます。

独自ブログカード生成機能を実装しているWordPressテーマも多数あると思うので、その機能をオンにしてから、ブログカードのキャッシュ削除をお試しください。

まとめ

原因が「ブログカードのキャッシュ」というのは、今の僕のレベルだと絶対たどり着けなかった答えだったので、冒頭で紹介したサイトの記事は本当に助かりました。

  • ブログカードが原因でAMPページがエラーになっている
  • 自作のブログカードを使いたいのに、なぜか純正のブログカードが表示されてしまう

なんて方は、ぜひお試しあれ!(`・ω・´)ゞ


カテゴリー:トラブルシューティング

シェフ

このサイト「Fantastech」を運営している人