WordPressの添付画像を年月フォルダに整理し直した手順まとめ
画像ファイルを年月ベースフォルダに振り分けしておらず、それをどうにかメディアライブラリに紐づけて整理し直したという、めんどくささ満点のまとめです。
背景
投稿に使う画像の自分ルール
このブログを始めて2年半ほど経ちますが、当初、メディア設定の「アップロードしたファイルを年月ベースのフォルダに整理」にチェックを入れていなかったのです。
その代わり、画像ファイルについてはこんな自分ルールを決めてありました。(yyは年、mmは月、ddは日を表しています。)
- 画像名は投稿の公開日を使った「yymmdd-連番(例:140819-1.png)」にする
- 中サイズ・大サイズ等の自動生成はしない
ここをみんなゼロにしとくと自動生成されません。
このルールなら自分の用意した画像だけが /wp-content/uploads 内に順番に並ぶから、フォルダを小分けにしないほうが一覧で見渡せて、管理しやすいんじゃないかなー?と思ってたんです…。
/wp-content/uploads がヤバイことに
ファイルが数百くらいのときは結構使いやすく、あの投稿のアイキャッチの画像はどこだ?なんてときも、記事の公開日からファイル名を推測できるので便利だったりしました。
しかし今やファイル数は2000に迫り、なにが辛いってバックアップが辛い…!せっかくバックアップのプラグインで「このフォルダを除外する」という機能があるのに、フォルダを分けなかったばかりに、2000近い画像ファイルを毎回、全部バックアップするという羽目に…(;´Д`)
フォルダ小分けにしとけば「昨年までの画像はDLして保管しておいて、毎日のバックアップは今年のフォルダだけ」ってことができるのに!!最初からやっとくべきだったー!!((└(:3」┌)┘)) と、今更後悔して、ちょっとずつなおすか…。。という考えに至りました。
メディアライブラリに紐付けたい
「アップロードしたファイルを年月ベースのフォルダに整理」にチェックを入れれば、これから登録する画像はOK。ただ、問題は過去の画像をどうするかですよね。
「過去の画像のメディアライブラリ紐付けは諦める!」と割り切れれば、
/wp-content/uploads/yymmdd-n.png などという画像に対して
/wp-content/uploads/yyyy/mm/yymmdd-n.png というパスで同じ画像をアップロードして、
データベースの画像パスの一部の
/wp-content/uploads/yymm を、
/wp-content/uploads/yyyy/mm/yymm に置換すれば良さそう。(ひと月ごと置換しなきゃいけないですが。)置換してから前の画像を消してやればリンク切れもしないし。
ただなー、メディアライブラリ…。。紐付けさせたい…!めんどくさくても…!と、思って、どうにかやってみた次第です。
実際にやった手順
他にも良いやり方あるのかもしれませんが、わたしは今回このようにやりました、という内容です。一発でドーン!カンターン☆っていう感じでは決してありませんのでご注意を…w
2015/3/19追記
一発でドーン!カンターン☆というプラグインを作っていただきました!!! Kawamori さん、ありがとうございます(´;ω;`)ブワッ
年月フォルダを作って画像をアップロード
FTPソフト等で /wp-content/uploads/yyyy/mm という形の年月フォルダを必要分作り、その中へ該当する画像をそれぞれアップロード。リンク切れを起こさないようにするため、元画像はまだ残しておきます。
メディアライブラリに登録
このプラグインを使いました。直接サーバにアップロードした画像をメディアライブラリに登録することができます。
各投稿画面からインポート
「メディアを追加」から
「Add From Server」を選んで
その投稿に関する画像を選んでインポートします。これで画像を投稿に紐付けることができます。インポートの時間を、投稿時刻に出来るのもすっごく便利!ただ、(画像添付のある)投稿の数だけやらなきゃいけないので、道のりは遠いですが(;´Д`)
ここでインポートした時点で、投稿内の画像のパスに yyyy/mm/ を挿入してやってもOKなのですが、わたしの場合1つの投稿で30以上の画像とかもあったので、あとでまとめて置換することにしました。
あと、アイキャッチはこの時点で貼り直すしか方法ないのかな…という所感…。なので、とにかく「投稿画面を開く → 画像を選んでインポート → アイキャッチ貼替え」を何日かかけて延々繰り返しましたw
ダッシュボードからも
こちらだとフォルダ内をまとめてメディアライブラリに登録できますが、「未使用」として登録されます。その後メディアライブラリの「投稿に添付」から投稿に紐付けられますが、一個一個やらなきゃいけないので、用途によって、って感じでしょうか。
このプラグインの他にもいいなと思った点は、どのフォルダの画像でもメディアライブラリに登録できる、というところ。例えば、通常投稿の画像は年月フォルダに入れておくけど、固定ページの画像は /wp-content/uploads/page っていうフォルダにまとめておきたいなー、ってこともできるわけです!これとっても便利!
画像パスを置換
前述したプラグインで、
/wp-content/uploads/yymm を、
/wp-content/uploads/yyyy/mm/yymm にひと月ずつ置換。
この部分は、元々の画像ファイル名に自分ルールがあったからこそ出来ることなので、あんまり参考にはならないですね。。
元画像を削除
FTPソフト等でサーバから直接画像を削除しても、メディアライブラリには残ってしまいます。メディアライブラリから「完全に削除する」を選べばサーバからも削除してくれるのですが、なんとここで問題発生。同じファイル名で登録されてるけど、フォルダ階層は表示されないためどっちを消していいかわからない…w
たぶん、というかまず間違いなく先に登録されてるほうを消せば大丈夫と思いつつも、苦労して登録し直したほうを間違って消したらやだなーというチキンな考えから、先にサーバ上の画像を削除して、サムネイルが表示されてないほうをメディアライブラリから消す、という2度手間をしたということも一応メモっておきます_(:3 」∠)_
感想
バックアップのファイルサイズが1/4になり、時間も早く終わるようになりました!ていうか最初から年月ベースフォルダにしとけばよかったです!
面白い経験にはなりましたが、めんどくさかった…(;´Д`) これからWordPressでブログ運営を検討中の方はチェック入れとくのがおすすめ!
今回はわたしの環境特有事項が多かったのであんまり参考にならないかもしれませんが、こんなこともありました、というお話でしたー!
4件のコメント
私もこれに関してずっとモヤモヤしていて、何か便利なプラグインないかなとずっと探していました。
諦めかけていたところこのような記事を書いて頂けてものすごく感謝しております!やり方が分かっただけでもスッキリしました!
でも結局は色々面倒なんですね・・・なぜあのチェックを外したのか今でも後悔しています・・・
時間見つけてやってみようと思います。
余談ですが、Ateitexeさんの人気記事表示方法を丸パクリで使わせて頂いております(笑)すごく気に入ってます(^^♪
癒眠さん、コメントありがとうございますー!
あんまり人の役に立つ内容じゃないなーと思いながら書いたので、そう言っていただけてとっても嬉しいです!意外と同じ思いの方は多いみたいですね…w 人気表示のほうも、お役に立てて光栄です♡
こんにちは。
こちらの記事に着想を得て、メディアライブラリーのuploadsフォルダ直下に溜まったファイルを年月ベースのフォルダに振り分けるプラグインを作りました。
http://wordpress.org/plugins/organize-media-library/
http://riverforest-wp.info/ja/organize-media-library/
良い記事をありがとうございます。
また、FTPでアップロードされたファイルからメディアライブラリに登録するプラグインもありますので、ご入り用でしたらお使いください。
http://wordpress.org/plugins/media-from-ftp/
http://riverforest-wp.info/ja/media-from-ftp/
Kawamoriさん、コメントありがとうございます!
わたしの記事がプラグインのアイデアになるなんて…! とっても光栄です! ありがとうございますー! 是非試させていただきますねっ(*゚Д゚*)
コメントは承認制ですので、反映までしばらくお待ち下さい。(稀にスパムの誤判定にて届かないこともあるようですので、必要な際はお問い合わせからお願い致します。)
YouTubeでQ&Aコンテンツを企画しています
運営しているYouTubeチャンネルで、ご相談やご質問を募集しています。動画のコメントやお問い合わせページからお気軽にご相談をお寄せください。