Simplicity の SSL化について

Simplicityの特徴 フォーラム Simplicityについての質問 Simplicity の SSL化について

  • このトピックには7件の返信、1人の参加者があり、最後にHidekichiにより9年、 7ヶ月前に更新されました。
7件の返信スレッドを表示中
  • 投稿者
    投稿
    • #38232
      あづさ
      ゲスト

      わいひらさま

      こんにちは。いつもこちらのフォーラムで勉強させてもらっています。
      1点ご質問をします。

      サイトのSSL化を行いました。
      https:// で表示をすると、画像が全て表示されなくなってしまいます。アイキャッチ画像、本文中の画像すべて表示されないようです。
      画像パスがhttpのリンクを読んでいるようです。

      WordPressプラグインSearch Regex を使えば、画像パスの変更(https://)はできるようなのですが、できればプラグインを使わずに行うことができればと考えております。

      WordPress 4.4.2、Simplicity 1.9.3 を利用しています。
      サイトのURL:https://ischool.co.jp/

      何か良い方法があるようでしたら教えて頂ければ嬉しいです。
      よろしくお願い致します。

    • #38235
      Hidekichi
      ゲスト

      別にプラグインを使わなくても新規のものはそのまま貼れるはずです。wordpressのssl設定が正しくできていればですけれども。

      後からssl化をすると、データベースにあるパスがhttpになっているのが原因で上手く表示できないかと思うんですけれども、試しに何かしら新しい画像をアップロードして、記事に貼り付けてみて下さい。

      以前の記事は、Search Regexでhttp://で始まる画像のパスをhttpsあるいは//に変更してしまえば表示されるようになります。
      例えば公式の画像アドレスなら、実際は、//wp-simplicity.com/wp-content/uploads/2016/02/J4D7AJ8YU0-1-100×100.jpg こんな感じになっていますが、ドメインの部分は共通なので、
      http://wp-simplicity.com/ だと考えて、sslにするとした場合は、
      http://wp-simplicity.com/ を //wp-simplicity.com/ このように変更すればよいわけです。
      httpsにする必要はありません。//として省略しておけばブラウザが勝手にhttpsに補完してくれます。

      Regexとは正規表現という意味です。おそらく何かしらすると正規表現が利用できるようになって、imgの部分だけとかの置換もできるようになるかと思います。おそらく記事中の置換をするためのプラグインかと思うのでひとつずつ変更していくのが面倒な場合は利用するのが最も速いです。
      ここらの詳細はぐぐってみてください。

      もしかするとBroken Link Checkerとかでも書き変えられるかも知れません。試してないですけれども。


      このように、画像のパスが全部httpから始まっています。混在コンテンツはsslのセキュアな環境だと表示されないのが通常です。

      記事が少ないのであれば手動で記事中のimg srcの中のアドレスをhttpからhttpsあるいは省略と言う状態にすれば良いですが、記事が何十、何百とある場合はプラグインを利用するのが速いです。
      Simplicityはwordpressの環境のまま読み込むので、何かしらsimplicity側でもできるかと思いますが、基本的に最初からsslならそのまま使えるので、わいひらさんがどういうかはわかりませんが各々対処するしか無いのかなぁと思います。

      タイミングが合って、サーバーがオープンしていたらですがウチのcloud9のサーバーはsslです。何もしなくても問題なく利用できるのでSimplicityに問題があるというわけではないのを念の為書いておきます。
      参考: blazechariot-cloud9-

      こういったこともあるので、基本的にssl化は後からせずに、最初からsslにしてある状態の環境で始めるほうが何かとよいですね。まぁGoogleもsslうんぬんと言ってますが、個人的にはまだちょいとsslは早いんじゃなかろうかと思っていたりもします。http/2が本格始動してからでも十分かと。

      ssl化するかどうかは個々の考え方次第ですので、僕に賛同する必要は全くありません。むしろ先陣を切って問題提起してもらう方がSimplicityにとっては有意義であるとも思います。

    • #38238
      あづさ
      ゲスト

      Hidekichiさん

      ご丁寧な回答ありがとうございます。
      SSL化は最初からやっておけばよかったと後悔しています・・

      今後の記事の画像は問題なく表示ができるので、以前の記事の画像をきちんと表示ができるようにしたいです。

      Hidekichiさんのおっしゃるように、画像のパスのURLはhttpから始まっています。
      やはり、Search Regex を使うのが簡単なのかもしれませんね。

      それ以外の方法だと、このURLにあるように、「URLのスキーム部分を削る」でもできるのでしょうか?
      https://www.softel.co.jp/blogs/tech/archives/2017

      この場合、Simplicity の子テーマのどのあたりを変更すればいいものなのか、もしおわかりでしたらご教授頂ければと思います。

      ちなみに、SSL化はこちらを参考にしました。
      https://www.suzukikenichi.com/blog/what-i-have-done-to-switch-my-blog-to-full-https/

    • #38240
      Hidekichi
      ゲスト

      > 「URLのスキーム部分を削る」でもできるのでしょうか?

      できますが該当部分のphpスクリプトを全部書き直さなくてはいけません。本来httpsのサイトにhttpがあるのが問題で、問題の画像パスはデータベースに保管されています。前のレスにも書いたように、パスが正しく動作すればたいていは表示されると思うので、記事中のimgの方を修正するほうが速いかと思います。

      動作として、画像のアップロードディレクトリは変わらずサイト内にあります。例えばwp-content/upload/西暦/月/該当画像.jpg こんな感じです。
      wordpressはこれを読み込んでます。サイトのアドレスがhttp://xxxx.com/wp-content/upload/西暦/月/該当画像.jpg であっても、https://xxxx.com/wp-content/upload/西暦/月/該当画像.jpg であっても画像がある場所は同じです。

      現在何が異なるかというと、記事の中に書いてある画像へのパスがhttpであるということが問題で、この情報はデータベースの各記事のデータに書いてあるわけです。なのでデータベースの方を修正する必要があるわけです。

      もっと言えば、仮にアドレスを置換したとしても、サムネイルなどは再度作成し直さないと表示されないかも知れません。画像が入っている場所が同じなので、記事中のhttpがhttps(あるいは省略)に変われば正しく表示されるとも思います。ただその情報等がデータベースにあるならそれはやはり書き変えないといけません。

      ここからリンク先の記事のようにスキームを変更するということで表示されるとは思いますが、テーマのアップデートの度に全部をそれ用に修復するのは大変なことです。
      functions.phpに#the-contnetの中の画像を置換するスクリプトを書けば記事本文はいけますが、サイドバーのサムネイルの部分はどうする?と言うことになったりします。こういったものは、思わぬ所で問題が出たりするので根本的な解決に至らない場合が多いです。

      テーマ側は別にhttpsでもhttpでも表示はできるので、根本的な解決はデータベースの記述を正しく修復するということだと思うんです。慣れた人ならphp my admin等でデータベースの記述をsql文とかでさっくり修正するんでしょうけれども。

      よって、まずはimgの画像パスをhttpsでも読み込めるように修復した上で、サムネイル等が表示されない場合は再生成する必要があります。これらはプラグインでできると思います。寝ログにもサムネイル再生性についての記事があったと記憶しています。たいてい大丈夫だとは思うんですけれどもね。

      特に速度の問題で、できるだけ無駄な処理をさせないのが良とされるわけですから、データベースのパスを修復するほうが良いと思います。記事を表示する度に置換処理が走るより、全部を1回だけ書きなおしてしまった方が無駄な処理が無くなる分速度面でも優秀です。体感できないほどの速度ですけれども、積もり積もったらなんちゃらみたいな感じです。

    • #38247
      あづさ
      ゲスト

      Hidekichiさん

      たいへん分かりやすい説明ありがとうございました!
      phpスクリプトを全部書き直すのは現実的ではないので、プラグインを使ってデータベースの記述を変更しようと思いました。

      ところが、プラグイン導入前に、なぜか画像が表示されるようになりましたので、以下いきさつを共有したいと思います。

      プラグインを導入する前に、Wordpressの管理画面の「設定」の中の「Wordpressアドレス」「サイトアドレス」をhttps://〜 へ変更したところ、全ての画像が見れるようになり、Chromeのアドレスバーの横に鍵マークが表示されるようになりました。

      上記のアドレスをhttps://にするだけで、データベースの画像へのパスが http → https へ変わったと理解してもいいのでしょうか?もしおわかりでしたら教えて頂ければ幸いです。

      Chromeディベロッパツールでアクセスすると、画像のURL(https://)に関するエラーも消えました。

      URL:https://ischool.co.jp

      また、hatenaのapiに関連するエラーが出ていましたが、
      Simplicityのカスタマイズ内のSNS→シェアボタンのタイプ(PC)をテーマカラータイプ(高速)だったものを、デフォルトへ変更したら、エラーが消えました。

      ありがとうございました。

    • #38249
      いのぽん
      ゲスト

      横から失礼します。

      WordPressの管理画面の「設定」の中のアドレスをhttps://にするだけで、データベースの画像へのパスが http → https へ変わったと理解してもいいのでしょうか?

      私の場合は、上記の作業でサムネイルの画像は自動でhttpsになりました。

      記事本文のURLと画像URLは、上記作業だけではhttpsにならないと思います。ローカルでプラグイン「Search Regex」を試してみて問題なかったので、プラグイン利用後にすぐSearch Regexは削除してますが問題ないです。

    • #38250
      あづさ
      ゲスト

      いのぽんさん

      ありがとうございます。
      おっしゃるとおり、httpsなのはアイキャッチ画像だけでした。
      記事本文と画像の作業をこれからやります。

      「Search Regex」のプラグインは、URLをhttpsへ変更後、削除しても問題ないのですね。
      貴重な情報ありがとうございました。

    • #38253
      Hidekichi
      ゲスト

      すべては、

      > wordpressのssl設定が正しくできていればですけれども。

      これです(笑)

7件の返信スレッドを表示中
  • トピック「Simplicity の SSL化について」には新しい返信をつけることはできません。
スポンサーリンク
アドセンス(大)
アドセンス(大)