Google リーダーロゴ「Google リーダーのフィードキャッシュがとても削除しにくい」というのは聞いていたのですが、今回これを自分も経験してしまいました。そこで、インストール型 WordPress ブログでのキャッシュ削除方法を書いてみます。

データベースのバックアップをとってから作業してください。参考: Codex 日本語版「データベースのバックアップ」

症状

「一度フィード内に含まれ公開された投稿が Google リーダーのフィードとしてキャッシュされると、投稿をブログから削除しても Google リーダー側から削除されない」

やっても効き目がないこと

  • 投稿を削除する → 現行のフィードからは消えても、Google リーダーキャッシュにはそのまま残る
  • ブログの自動検出フィード URL を変更する → Google リーダー側ではサイトの URL をもとに古いキャッシュがやはり表示されてしまう
  • Google リーダーで購読を中止し、再購読する → 同上

すべきこと

消したい投稿を実際に上書きする
一番簡単なのがこの方法です。これはインストール型 WordPress ブログに限らずどんなブログでも使える方法ですが、削除する代わりに投稿を完全に上書きしてしまうことでフィードが更新されます。
Google リーダーが同一の投稿とみなす投稿で上書きする
上の方法と似ていますが、例えば「すでに投稿を削除してしまった」「他のドメインのフィードが混じってしまった」などといった場合には実際に上書きすることができないため、少し面倒な作業が必要です。
  1. リーダーから消したい投稿の GUID を発見します。まず、以下の http://example.com/feed という太字の部分を自分のフィード URL に変更してブラウザで開きます。

    http://www.google.com/reader/atom/feed/http://example.com/feed?r=n&n=100

  2. このファイルで、消したい投稿の項目内の以下のような表記を探します。

    [xml][/xml]

    上記の場合 GUID は http://example.com/2010/12/01/100 になります(パーマリンクの設定によっては別形式の場合もあり)。

  3. 次に、新規投稿を作成して下書きとして保存します。この際、投稿編集画面の URL にある投稿 ID が次のステップで必要になります。

    投稿編集画面の URL

  4. データベースの wp_post テーブルで先ほど作成した下書きの guid を書き換えます。
    guid にはステップ1で得た値を、ID にはステップ2で得た値を使います。
    [sql]UPDATE `wp_database`.`wp_posts`
    SET `guid` = ‘http://example.com/2010/11/24/100’
    WHERE `wp_posts`.`ID` =122;[/sql]
  5. こうすることで、新規記事が削除したい記事を上書きしてくれるはずです。

    Google リーダーキャッシュから削除したい記事が複数ある場合、空の記事を作って公開した記事の GUID を何度も書き換える事も可能です。その場合、Google XML Sitemaps プラグインを有効化しておき、上記のステップ4を行った後フィードを再構築します(投稿の日付を書き換えて更新するだけでも OK)。Feedburner を使っている場合は手動で Ping を送れます

    皆さんにはそんな必要がないといいですが、万が一キャッシュを削除しなくてはいけなくなった時は試してみてください。

    関連リンク

WordPress ブログの Google Reader キャッシュを削除する」への1件のフィードバック

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

Back to Top
%d人のブロガーが「いいね」をつけました。