< | >

WordPressパーマリンク設定の途中変更ではまる
  • (2010-03-18 10:45:42)
最近はWordPressをいくつかのサイトで使わせてもらっている。感謝あるのみ。

WordPressは本来ブログ用のプラットフォームというイメージがあるが、メインコンテンツ公開用のプラットフォームとして活用している会社さんも多かろう。どんな使い方にせよ、WordPressのポテンシャルは高い。

私の場合は静的なページを制作し、そのサブコンテンツ用プロットフォームとして活用している。悲しいかな、現状、使いこなせていない。

昨日はWordPressパーマリンク設定を途中で変更して記事が飛んで、今までの記事が全部見えなくなるトラブルにはまる。

WordPressはURLのフォーマットが変更可能な優れ物

(※でも、そもそも最初に設定したら変更しないこと)

WordPressでは記事URLのお尻はデフォルトで下記のよるになる:

/?p=25

/?p=26

/?p=27

意味は知らない。おそらく「?」はプログラム起動、「p」は「ページ」か「パラメーター」で、「指定数値のページを開け」みたいな意味ではなかろうか。まったく問題ないが、WordPressは凄いことにこの表記方法を変更できるように設計されている。

SEO対策と思われる。とはいえ今時の検索エンジンがこの程度の記号を嫌がるはずがないのだが、私たち人間には「/?p=」ではやはり読みにくく記憶しにくい。そこで下記のフォーマットに変更した。

/archives/25

/archives/26

/archives/27

フォーマット変更は2クリック程度で完了する。楽勝で「凄いぞ!WordPress」と喜ぶのも束の間、全記事が「Error Not Found」状態。パーマリンク設定を戻せば見えるので焦る必要はなかったが、意味が分からない。

何か起きているのかさっぱりわからない。こういうときはデータベースの中身を見る。

phpMyAdminで関係ありそうなテーブルを探す

phpMyAdminでMySQLの管理画面にログイン。

phpMyAdminログイン->「ホーム」->「データベース」->「テーブル」

WordPressのテーブル構成は下記の通り:

wp_commentmeta

wp_comments

wp_links

wp_options

wp_postmeta

wp_posts

wp_terms

wp_term_relationships

wp_term_taxonomy

wp_usermeta

wp_users

順々にテーブルを開いていくと投稿された各記事は「wp_posts」に格納されていた。

同時に驚くべき発見をした。同じ記事が何度も格納されている。記事の更新は古い記事を保存しながらなされるようで更新回数分(いあ、それ以上かもしれない。定期的な自動保存か)の記事があった。

私的には余計な無用・不要のシステムであるが、古い記事を残したい人やグループやチームなど、複数人間で記事を編集・更新する場合はこのような履歴保持は必要だろう。

更新履歴の保存を無効にする設定があればやりたいが、今回は調査せず。

wp_posts内のデータを直接編集

公開用オリジナル記事には「parent」というフラグが立つことで公開用記事と履歴保存用記事とを判断している模様。

この分ではデータベースはすぐに重くなる気がする。反射的にすべての更新履歴をphpMyAdminの管理画面から削除した。近い中にオプティマイゼーション(最適化)の方法を調べたい。

phpMyAdminの管理画面で気に入ったのが、記事を直接編集できること。

WordPressの編集画面はレスポンスも速いとはいえず、いたく扱いにくいく。最近は秀丸で書いてペーストするだけになっていたが、phpMyAdminのテーブル「表示」から直接打ち込むと速い。とはいえ毎回phpMyAdminにアクセスする手間が大変か。

予想外にphpMyAdminからいろいろできることを知って運が良かった。

パーマリンク設定変更で行方不明になった記事のアドレスをすべて手作業で、/archives/形式に修正し、すべて復活。

かろうじて事なきを得た。






<< 顧客データがショップ側に帰属するASP型ECサービス< | >ショッピングカート選び、顧客データベースが命 >>
search
layout
admin

[▲page top]