読者です 読者をやめる 読者になる 読者になる

アイデアの甕

アイデアを放り込んでおくと甕は腐臭を発しない

WordPressサイトのSSL化でサムネイル画像が表示されないときの対処法【wpXクラウド限定?】

WordPress

f:id:bukki:20140803192403p:plain

 

「さくらのレンタルサーバー」ではどうにも表示速度が遅すぎると思い、「wpXクラウド」へサーバーを移行。

 

ついでに「独自SSL設定」でSSL化してみる。「wpXクラウド」では外部から証明書をもちこむことができないものの、エックスサーバー株式会社が提供する証明書であれば無料で設定可能。

 

www.wpx.ne.jp

 

ついでに「SSL化補助機能」を活用すれば数回のクリックで導入が完了…のはずだったのだが。

 

 

一部画像が表示されない問題

問題は、WordPressにアップロードしていた画像メディアの極々一部(数百分の一くらい)がアーカイブページなどでサムネイル表示されなくなるという現象。

 

もっと詳しく言うと、アップロードフォルダには画像ファイルが存在しているのに認識に難をきたしている状態で、該当の画像は「1px × 1px」の画像としてメディアライブラリに表示。

 

「メディアを編集」ページで「画像を編集」ボタンを押すまでは適正サイズでしっかり画像が表示されているにもかかわらず、「画像を編集」ボタンを押した途端に

 

画像のデータが存在しません。再度アップロードしてください。

 

となって編集不可。「更新」すればやはり適正サイズで再度画像は表示されるものの、状態は元のままで認識が上手くできていないご様子。

 

解決策

うんたらかんたらの試行錯誤をすっ飛ばして、まずは当現象の原因と解決策を提示。

 

原因:当該画像ファイルのメタデータに不備あり。

ワードプレスにアップした画像はデータベースに記載されるけれど、IDなどの基本データは「wp_posts」テーブルにて、付加情報は「wp_postmeta」にてそれぞれ管理。

 

今回は「wp_postmeta」上の、meta_key「_wp_attachment_metadata」に不具合あり。具体的なmeta_valueは長くなるので一部抜粋。

 

s:9:"copyright";s:19:"https://example.com/";

 

分かりますかね。恐らく、string(文字列)の「s」に、文字数、文字列がコロンで連結されたデータ表示になっているのですが、これが間違い。

 

https://example.com/」は20字であって19字ではない、というただそれだけのこと。

 

解消法:「https」を「http」へ戻す。

解決策は複数あって、結果的に文字数と文字列が対応すれば問題なし。「19」を「20」にしても良いし、「https」を「http」にしても良い。ただし、「https」表記のURLではアクセスできない場合もあるので、恐らくは後者がより良いかと。

 

ちなみに、データベース操作になるのでバックアップは必須。SQLは書けなくても、phpMyAdminなら該当の箇所をクリックして修正すればOK。画像IDなどで検索をかければ間違えることもないはず。

 

同様に問題のある画像を発見するのも、phpMyAdminの検索機能を上手く使って絞り込めば可能なはずなのでお試しあれ。

 

原因の原因

さてなぜ今回このような事象に遭遇したかといえば、恐らくはwpXクラウドの「SSL化補助設定」の項目「投稿記事・固定ページの本文に記載のサイトURLを、SSL対応に置換する」にチェックを入れていたためかと。

 

「http://」というまさにその表記だけを見て「https://」に書き換えられたため、文字数の相違が発生したと推測。あくまで推測ながら、の推測。

 

こうした一括処理の場合は大方上手くいって、少数の失敗例を手作業で復旧できれば御の字なので良しとしよう。エックスサーバー株式会社が悪いわけじゃない。たぶん。

 

別の不具合

ちなみに「テーマフォルダ(wp-content/themes)内のファイルに記述のURLを置換する」の項目に関しても、複数のファイルがサイズ0となってまっさらに消え去るエラーも経験。

 

まぁこちらもバックアップファイルで上書きし、手作業で「http://」を「//」に書き換えるなどして対応完了。

 

Exifデータ上のcopyright

また今回のことでWordPressは画像、写真ファイルのExifデータを管理していることを知る。しかも、データが1文字(数)でも違えばバグってしまう繊細さで。

 

Exifについては以下に詳しい。

 

photo-studio9.com

 

wpXのススメ

なにはともあれ、WordPressでサイト運用するならwpX系列のレンタルサーバーが第一選択として勧められるのは間違いなく、SSL化に関しても若干の手間をかければ完了するのでさほど問題なし。

 

 

どこかのさくらと違ってPHPのアップデートにも比較的早く対応するので文句なし。やはり速度が違う。高速表示かつSSL導入で検索順位が上がってくればなお良し、と期待しつつ。