投稿や固定ページのコピーや複製、書き換え & 再公開ができる「Yoast Duplicate Post」。
投稿の複製ができるプラグインは数ありますが、こちらは書き換えと再投稿ができるので気に入って使っています。
どういう風に使うかというと、すでに公開済みの「記事の一部を予約更新できる」という点です。
〇月〇日の夜中の3時にリライト!ということが、タイムリーにワードプレスにかじりついていなくても、予約でできるわけですね。
この部分の機能は似た「PublishPress Future」というプラグインがあります。
ただ、「Yoast Duplicate Post」は記事の複製も新規下書きもできるうえ、予約更新もできますから以前から愛用しています。
ただ、先日、予約更新がエラーになっており、それから不具合があったのでご報告します。
特定のページにのみ「書き換え & 再公開」(Rewrite&Republish)が表示されない
特定のページにのみ、と書きましたが、私の場合は「過去に書き換え & 再公開」をしたことがある記事において、通常記事一覧に表示される「書き換え & 再公開」のリンクが表示されていないことに気が付きました。
通常表示されている記事の表示
通常表示されている記事の表示
このように過去に「書き換え&再公開」の機能を使ったことがある記事にだけ、リンクがありませんでした。
もちろん、この「書き換え&再公開」の機能は各記事一回しか使えないというわけではありません。
該当の記事を開くと「この投稿の複製が作成されました。この投稿に加えた変更は、複製版が再公開された際に置き換えられることに注意してください。」と表示され消えないがているが、複製した記事が見当たらない
該当の記事を開くと以下のように記事上に「この投稿の複製が作成されました。この投稿に加えた変更は、複製版が再公開された際に置き換えられることに注意してください。」と表示されます。
ここまでは通常の機能です。
通常、「書き換え & 再公開」を使うと、記事一覧の中には元記事と再公開される記事と2つ存在し、リライトが済むと1記事になります。
以下のような状態の場合、記事一覧を確認すれば複製版があるはずなのですが、それが見当たりません。
試したけど効果がなかったこと
- メッセージ脇の×マークを押してメッセージを消しても何も変わらない
- 一度、投稿をしてみてもメッセージは消えないし、「書き換え & 再公開」のリンクは復活しない
- WP-Optimizeなどでリビジョンや不要なデータベースをクリーンにしても変わらない
- 「Yoast Duplicate Post」自体を削除して、再度インストールしてみても同じ
つまり「記事はない」けれど、内部的には「書き換え & 再公開」がまだ生きている状態である。
と言えます。何かの原因で、再公開がうまくいかず、情報が反映されていないのではないか、という考察です。
これはデータベースのせいだな!と思い複製元を複製し、元記事を諦める!
動きを見てみると、どうも「記事ID」に紐づけられているような気がしました。
サポートサイトにも同じように訴えているユーザーの書き込みもありましたが、英訳してみるとデータベースの記録を消す必要があるようでした。
参考URL
それから、該当記事は「書き換え & 再公開」はできないけど「複製」はできる ので、元の記事を諦めることに!
問題のある記事を複製し、大本記事(A)を「下書き」に変更。
必要あればAのスラッグを「old」などに変更。複製記事(B)に大本記事(A)で使っていたスラッグに変更して、一旦投稿。
※ここでサイトのリンク外れなどがないか確認してください。
複製した記事は投稿後は「書き換え&再公開」が表示されています!
なので、今後はこちらの記事を元にしていけば良い、ということです。
Yoast Duplicate Postで「書き換え & 再公開」が出ない原因と対策まとめ
さて、そもそもどうしてこのような状態になっているか原因を考察します。
該当記事は、以前「再投稿がエラーになったことがある」のです。cronのせいなのか?サーバーのせいなのか?わかりませんが、エラー表示になっていたことがあります。
それ以後、今回のような状態になったので、データベースの履歴と表向きがうまく行ってないのではないか?と感じました。
また、設定画面やごみ箱などに【失敗した複製記事】は残っていないので厄介です。
「書き換え & 再公開」の情報は、記事IDに紐づいているようでしたので、要は記事IDを変えれば良いのでは?ということです。
ここは思い切って前記事を捨てましょう。
元記事をコピペするなり、複製するなりして、消えないように別記事にします。
その上で以前と同じ状態に整え、投稿。
「書き換え & 再公開ができない記事」は削除
これでひとまずは、データベースに手を加えることなく以前の状態に戻したということになります。
コメント