WordPressで重複コンテンツやタイトル記事を自動で削除できるDelete Duplicate Posts
WordPressサイトで大量に記事を作成していると、タイトルが重複してくることがあります。特にRSSを取得してアンテナサイトを運営しているサイトであれば、尚更では無いでしょうか。
同じタイトルの記事はGoogleの検索エンジンから重複コンテンツと見なされて、順位を落とす結果に繋がります。
このような重複タイトルの記事を、削除できるプラグインがDelete Duplicate Postsです。
しかも、一度設定すれば完全自動で削除し続けるため、面倒な作業は全く必要はありません。
同じようなプラグインにFix Duplicatesもありますが、こちらは毎回手動で削除しなくてはならないので手間隙が掛かります。
この記事では、自動で重複タイトルを削除できるDelete Duplicate Postsの使い方を解説します。
Delete Duplicate Postsの特徴
- 重複タイトルがどの記事か一覧表示します。
- 自動で重複タイトルを削除します。
注意点としては、同じタイトルの記事で内容は違っていても、同一のコンテンツと判別します。何故なら、タイトルだけで重複を判別しているためです。
また、重複記事の削除は自動と手動を切り替えることもできます。
Delete Duplicate Postsの使い方
管理画面から新規プラグインを追加します。Delete Duplicate Postsを検索して、インストール > 有効化します。
管理画面の左メニューの「ツール」にDelete Duplicate Postsが追加されます。
初めて起動する際は「Allow & Continue」をクリックします。
WordPressに設定したメールアドレス宛に確認メールが届きます。メールボックスを開いて、メール認証をクリックします。
これで、Delete Duplicate Postsが使用できるようになりました。各種設定項目を設定していきます。
Settings
Which post types?
重複タイトルを調べるコンテンツは投稿記事ページ又は固定ページにするかを選択します。
Enable automatic deletion?
自動的に削除する場合は選択します。
How often?
自動的に削除する設定をした場合は、削除するスケジュールを選択します。最短で10分に一回自動起動により削除することができます。頻繁に削除する場合はサーバーに負担も掛かりますので、一日2回程度の自動実行が無難です。
Delete which posts?
重複コンテンツを削除する場合は、古い記事を残すか、新しい記事を残すか選択できます。
Send status mail?
重複記事が発見された場合はEメールでお知らせします。
Delete at maximum ?
一度の実行で削除されるコンテンツの数を設定します。
The Log
Delete Duplicate Postsで実行されたログ情報が表示されます。「Reset log」 を押すとログの履歴がリセットされます。
全ての設定が完了すると、重複タイトルが一覧で表示されます。手動で削除する場合は、「Delete all duplicates」をクリックします。
重複コンテンツが削除されました。
自動設定した場合は、後は放置するだけでスケジュール通りに実行されます。
なお、削除後の記事はゴミ箱に移動しています。必要に応じて確認してください。
プラグインなしで重複コンテンツを削除
プラグインなしで重複コンテンツを削除する方法もあります。functions.phpにコードを記述して重複タイトルを削除できる機能です。
以下のブログ運営者さんがコードを公開されています。
MEMO: WordPress で重複記事を削除するプラグインを作ったよ。
このコードを使用すると、新しい記事を公開する際に重複タイトルがあれば自動で削除できます。しかし、一部エラーがあり、重複タイトル記事が両方とも削除されたり、他の記事が巻き込まれて削除されることもあります。
やはり、functions.phpで制御するには更に複雑なphpを組む必要が出てきます。そのため、プラグインを使用する方が無難だと思います。
まとめ
Delete Duplicate Postsの一番便利なポイントは自動で削除できる点です。
クライアントにアンテナサイトを運営されている方がいるのですが、毎日のように重複コンテンツが増えて困っているとのことでした。
このアンテナサイトは一日に500個以上記事を取得するらしいのですが、一割は重複タイトルでGoogleの検索エンジンから重複コンテンツに判断されないか恐れておられました。
そこで、Fix Duplicatesを使って手動で削除できるようにしたのですが・・良く考えたら海外プラグインに自動で削除できるDelete Duplicate Postsがあったんですね。
プラグインの設定を一度すれば後は自動で削除できるので、全ての問題が一件落着しました。