2014年10月のWordBench京都に参加してきました

なんか久しぶりになってしまった京都は、いつものcotoさんでの開催でした。
人数は少なめで、全員にノートパソコンを使うに十分な机のスペースと電源があるという良い感じの勉強会でした。

今日は、全セッション瀬戸さんの独り舞台です。

今更だけど WordPress4.0 の機能をみてみよう

3から4へのバージョンアップながら、いつものアップデートと大して変わらないアップデートとなった4.0。
その中で大きなポイントといえば、言語設定が管理画面でできるようになったため、wp_config.php の定数WPLANGの扱いが変わったというところです。
プラグインやテーマがこれに対応していないと、ちゃんと日本語にならないというトラブルになります。
メジャーどころはすでに対応済みなのであまり問題ないと思うのですが、問題が起きたらまずここを疑ってみるってことですね。

4.0では、新規に英語版をインストールしようとすると最初に言語設定が出てきて「日本語」も選択できるようになっています。
「じゃあ、特に日本語版っていらないのでは?」って思ってしまいますが、日本語版以外では日本語対応のためのプラグイン「wp multibyte patch」が入っていないので不具合が出てしまいます。
新規インストールの場合は、これまで通り日本語版を使ったほうがいいようです。

他にも、WYSIWYGエディタのウィンドウの大きさがコンテンツに合わせて伸縮するようになったとか、動画などが簡単に貼りこめるとか、投稿画面周りのUIが良くなりました。
ただ、UIが変わるというのは必ずしも良いことではなくて、それによって手が覚えていた操作が変わってしまうことにストレスを感じてしまうほうが問題だったりします。
私のクライアントさんからも、たびたび使い勝手が変わるので「バージョンアップしなくていいよ」と言われることがあります。
それでは困るんですが、そういうところでWordPressって、ちょっと使いにくいんですよね。

サーバ移転って難しい?

2つ目のセッションは、WordPressのお引越しについて。
実は以前、私も同じテーマでWordBench京都で話をさせていただいたことがあるのですが、その時は見事に失敗してしまいました。
失敗の原因は、FTPでファイルをアップしようとして完全にアップできなかったことなのですが、今回は料理番組じゃないですけれど事前にある程度の準備がされており、安心してみていられました(笑)

CODEX(WordPressの公式オンラインマニュアル)の推奨引越し方法は、下記にあります。
Moving WordPress(英語)
Moving WordPress(日本語訳)

ただ、日本語のページを読んでも、かなりわかりにくい手順となっています。
そこで、この手順に沿って実際に引越しをしてみようというのが、このセッションです

引越しの際に引っかかるポイントは、いくつかあります。

phpMyAdminでデータベースをインポートする際にファイルが大きすぎてアップロードできない

phpMyAdminはPHPプログラムなので、サーバーでアップロードできるファイルの最大サイズが制限されています。
サーバーによって違いますが、初期設定サイズは意外に小さいので記事数の多いサイトだとインポートするときに制限に引っかかってしまいます。
レンタルサーバーでは、まずこの設定は変更できません。
そこで、phpMyAdminの設定ファイル config.inc.php$cfg[‘UploadDir’] = ‘(任意のディレクトリ)’]; を設定すると、FTPなどでインポートファイルをサーバーにアップロードして、インポート画面でそのファイルを指定して読み込むことが出来るようになります。

しかし、レンタルサーバーが提供しているphpMyAdminは設定ファイルが触れません。
そのため瀬戸さんは、自分でphpMyAdminをサーバーに設置することを薦められていました。
ただ、今回のセッションでは触れられませんでしたが、数GBのファイルになってしまうと、これでもエラーになることがあるんですよね。
その際は「BigDump」というプログラムを使うとインポートできます。

データベース内にある旧サイトへのリンクをどうするか

WordPressでは、ブログ記事に挿入した画像や他の記事へのリンクが絶対URL(http://ドメイン名~)で指定されるので、引っ越しても画像などは元のドメインにあるものを参照してしまいます。

ネット上では、この対処方法として「phpMyAdminでデータベース内の文字を検索置換する」なんて書いてあるページを見かけますが、これ、絶対にやってはいけません。
データベース内を単純に検索置換しただけではシリアライズされて格納されているデータで不具合が起きます。
シリアライズというのはデータをプログラムが扱いやすい形に加工することなのですが、これにはデータの長さ情報が付加されているので、文字列を置き換えた場合にはこういった情報も書き換えないと実際のデータと合わなくなってしまい、最悪、システムが壊れてしまいます。

公式ではいくつかの方法が紹介されていますが、今回は「DATABASE SEARCH AND REPLACE SCRIPT」というツールを使って置換する方法を実際に使ってみせていただきました。
このツールはシリアライズされたデータにも対応しています。
英語ですが、WordPressに特化されたツールなので、WordPressのインストールディレクトリに置けば設定ファイルの情報を読み取って進めてくれるのでとても簡単です。

ここで、私はちょっとした疑問を持ちました。
置換するドメイン名の指定方法についてです。
公式では「http://example.com」と指定するように説明があるのですが、それでは「https://example.com」が置換されないんじゃないの? って思ったのです。
でも、http://https:// を省いて「example.com」と指定してしまうと、URL以外のもの(メールアドレスとか)も置換されてしまいます。
じゃあ「http://example.com」「https://example.com」の両方で置換すればいいんでしょうか?
本番環境を移転するなら多分それでいいんですが、テスト環境に移すときなどは引越し先でSSLを使っていないと思うので「https://」のまま置換しちゃうとエラーになっちゃうかも・・・

実際のところは、それぞれの環境に応じて置換しないといけないのかもしれません。
このへんは興味もあるし実際に業務でも使いますので、そのうち検証してみたいと思っています。

マルチサイトの場合は他にもいくつかの設定ファイルを修正する必要があります。

.htaccess なんかも修正する必要がありますよね。
慣れている人なら問題ないかもしれませんが、ノンプログラマの人には敷居が高いかも。

CODEXでは「Duplicator」という引越し用プラグインも紹介されています。
他にも公式プラグインの中にマルチサイト対応の引越しプラグインがあります。
評価が高いものは試してみてもいいかもしれませんね。

引越しが完了したら、引越しの時に使ったツールを削除することを忘れてはいけません。
自分で設置したphpMyAdminもセキュリティ上のリスクになります。本番環境では通常の運用で使うことはないと思うので削除しておきましょう。

余談ですが、最近私がイチオシしている「Concrete5」では、記事内に直接URLを入力していたりしなければこのような問題は発生しません。
他の記事で書きたいと思っていますが、今、もっともノンプログラマの方にお勧めできるCMSだと思います。

セッション後は、同じ会場でノンアルコールの懇親会

WordPressに限らず、Web系の勉強会はWeb制作がメインの仕事ではない方の割合が多いですね。
制作やってる人とは技術的な話や業界あるある話で盛り上がって楽しいですが、業者でない人からはお客様目線での話が聞けるので、制作者にとってはこちらのほうが実際には役に立ちます。

個人的には、WordPressは結構難しいシステムだと思っています。
そんな方はWordBenchなどに参加して相談できそうな人を見つけておくといいですよね。
こういう場所に参加してくる人は、SNSなどで気軽に相談に乗ってくれる人が多いように思いますし。

そんなわけで、今回もWordBench京都はとても楽しかったです。
先日のWordCampKansaiで知り合ったよしぱんさんと、会場近くのセブンイレブンでばったり出会ったのには、ちょっとビックリしましたけど(笑)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です