【注意】Google+の機能を2019/4/7までにHP上から撤去してください

Googleより先日メールが来ました。
内容としてはGoogle+の終了に伴い、HP上からGoogle+に関連するコードを削除してください、とのことでした。

おそらくSNS関連のツールだと思いますが、いくつか運営しているサイトのチェックをしないといけないので大変です。
皆様も自分のHPやブログをお持ちの方で下記の機能をつけている方はお気をつけください。

ボタン(などが含ま+1ボタン 、 フォローボタン 、 ハングアウトボタン 、およびシェアボタン )、 バッジ 、およびインタラクティブな投稿

Warning: Use of undefined constant php – assumed ‘php’ (this will throw an Error in a future version of PHP) in

いよいよ2018年をもってPHPのバージョン5.X~はサポートが切れましたね。
そこでwordpressのPHPのバージョンを7.2など最新版にされる方が多いと思います。

今回はバージョンアップしたことで出たエラー文をまとめたいと思います。
ちなみに出てきたエラー文はこれ。

Warning: Use of undefined constant php – assumed ‘php’ (this will throw an Error in a future version of PHP) in ~~

これは何が原因だったかというとファイルの始まり文が<?php?>になっていたことです。
厳密には<?php ?>とphpの後ろに半角スペースがなかったことでエラーが出ました。

きっ、きびしい…!
手直しするサイトがいくつか出てきそうです。

heteml 新サーバーへの移行手順について

常時SSL化の波が押し寄せています。
hetemlサーバーでSSL化をするにあたり行った流れをまとめてみました。

1.新サーバーに移行する必要があるのかを知る

SSL化するにあたって新サーバーに移る必要があるかどうかはコントロールパネルにログインして、自分のwebサーバー名を確認する必要があります。
管理画面右上のWebサーバー番号がftpXXXのアカウントであれば新サーバーに移行しないとSSL化することが出来ません。
Webサーバー番号がusersXXXであれば移行する必要はありません。

2.現サーバーから全てのファイルをダウンロードした

まずはバックアップを取ります。取りこぼすと後で戻りたくても戻れない状態になるので注意してください。

3.サーバー移行のボタンを押す

サーバー移行ボタンを押すと新しく新サーバーが用意されます。
この時点ではまだ旧サーバー(現サーバー)と新サーバー、並行して作業できるので、ボタンを押した途端にサーバー切り替えを余儀なくされるということはないので安心してクリックしてください。

4.新サーバーにデータをアップロードする

UPしても現HPには影響がないので安心してください。またデータベースもメールサーバーも変わらないのでかなり手順としては楽です。

5.新サーバーの動作確認をする

自分のパソコンのhostsファイルを書き換えることによって、自分のPCからのみ新サーバーのHPを確認することが出来ます。

Windows 7, 8, 8.1, 10 のhostsの場所
C:\WINDOWS\system32\drivers\etc\hosts

「hosts」ファイルを、メモ帳などで開き、新サーバーの情報を入れて上書きします。
コントロールパネルの【アカウント情報】から「ロードバランサーIPアドレス」を確認します。

例:「hogehoge.jp」のサーバーIPアドレスが「123.456.789」だった場合、hostsには

123.456.789 hogehoge.jp

と記述してください。

保存したらそのままhogehoge.jpを確認すると、自分のPCのみ新サーバーでの動作検証が出来ます。

ちなみに私の場合、トップページは問題なく見えてましたが、他ページでは500エラーが発生しており、.htaccessのphpのバージョンが7.1ではなかったため、ここを変更したら正常に表示されるようになりました。(wordpressが入っていたため全体的に500エラーが発生していた)

その他問題がなければ「サーバー移設を完了する」ボタンを押して、完了です。
※このボタンを押すと旧サーバーへのアクセスが出来なくなりますのでご注意ください。

このあとはSSL設定をして完了です。

 

 

 

wordpressサイトで常時SSL化した手順2/2[エックスサーバー]

サーバー側での作業が終わったので、今度はwordpress側での設定作業を行います。

管理画面の「設定」>「一般」の URL を 2 ヶ所「http://~」→「https://~」に変更します。

「変更を保存」をクリックすると自動的にログアウトするので、再度ログインしましょう。

Search RegexでURL一括置換する

今まで書いてきた記事や固定ページのなかにある内部リンク・画像リンクを修正します。

[プラグイン]>[新規追加]から「Search Regex」を検索して、インストール&有効化します。

有効化したら、[ツール]>[Search Regex]に入り、「http://自分のドメイン」を「https://自分のドメイン」に一括置換します。

①ボタンで変更箇所を確認し、問題なければ②ボタンで一括置換をします。

次に「http://」を入力して[Search]を押します。
そうすると外部のURLが出てきますので画像など読み込んでいるものがあればhttps化してるか外すかして対応します。

ウィジェットやプラグインも外部画像など設定していないか「http://~」で始まるものは全て確認してください。
ちなみに私はAll in one SEOのSNS向けの画像がhttp://~になっていました。

WordPressテーマをチェックする

WordPress テーマ内で、自サイトの URL が直接記述されているところがないかチェックします。
画像やscriptを読み込んでいる部分などがあれば、すべて「https」に変更していきます。
主にheader.phpやCSSで直リンクしているものが私はヒットしました。

こちらも「http://」で検索すると外部のURLが出てきますので画像やscriptなど読み込んでいるものがあればhttps化してるか外すかして対応します。

最終チェック

全てのページのアドレスバーが「保護された通信」と表示されているか確認して終了です。

wordpressサイトで常時SSL化した手順1/2[エックスサーバー]

かねてから予告されていた通り、2018年7月からGoogle Chrome(グーグルクローム)ブラウザではSSLに対応していない「http://」で始まるすべてのWebサイトでURLバーに目立つように警告が表示されるようになります。

この関係でHPをSSL化してほしいという依頼が増えてきているので、実際に自分のサイトをSSL化してみた手順をまとめてみました。

ちなみに下記サイトで警告が出るサイトかどうかを調べることができます。
https://www.websecurity.symantec.com/ja/jp/support/ssl-checker

エックスサーバーでの設定

サーバーパネルのドメイン>「SSL設定」をクリックします。

ドメインを確認し、選択するをクリック。

「独自 SSL 設定の追加」タブをクリック。
再度ドメインを確認し、右下の「独自 SSL 設定を追加する(確定)」を押して終了です。「CSR 情報(SSL 証明書申請情報)」のチェックボックスは空欄で問題ありません。(ちなみに画像では(設定済)とついていますが通常は出ませんので気にしないでください←すでに設定した後でキャプチャ取ったため)

これでサーバー側の設定は終わりですが、すぐに「https://~」を見ても以下のような画面が表示されるだけです。

設定完了まで 30 分 ~ 1 時間ほどかかり、その後サイトが表示されるようになります。
「https://~」でサイトが表示されるのを確認してから次の作業に移ってください。
表示される前に WordPress 側で作業してしまうと、サイトが真っ白になって管理画面に入れなくなることもあります。

常時SSL化

独自SSLの設定が完了した時点では、自動的に「https://~」のURLへ転送されません。
Webサイトにおけるすべての表示を常時SSL化する場合は、「.htaccess編集」で以下の記述を追加します。

RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

「http://~」のURLでアクセスした際、自動的に「https://~」のURLへ転送されていれば設定完了です。

WordPress Infinite Scrollで次のページが読み込まれない時の対処

なぜ次ページがスクロールで効果ないのか悩みに悩んで、イージーミスだったことに気付いたのでメモ。

まず次ページのURLが存在するかを確認してください。
http://あなたのドメイン/page/2
私の場合はトップページでInfinite Scrollを設置したのでhttp://ドメイン/page/2が次のページにあたりました。

そうすると404エラーでページ自体が存在していないことが判明!
WP-PageNaviのプラグインでページ送りを設定していたのですが、おそらくこのあたりの問題ぽい。
設定→表示設定→1ページに表示する最大投稿数を「1」に設定して、バッチリ表示することが出来ました!
(ちなみに1Pあたりの表示数は数設定してあげてください。ここを設定していないと本当に表示数が1となります)

MW WP Formをphpファイル内で使用したい場合

最近のお問い合わせフォーム類はもっぱらcontact form7からMW WP Formに移行しつつあります。
動作も日本人作者ならではの気配りが好みです。

さて個別記事や投稿記事など管理画面で生成する記事以外にFTPから直接phpファイルをいじることがオリジナルテンプレートでは多いので、MW WP Formのショートコード掲載ルールを調べてみました。

<?php echo do_shortcode(‘[ショートコード]’); ?>

これだけです。

作者様、素敵なプラグインをありがとうございます!

お名前.comでワードプレス更新時に403エラー!対処法

お客様の指定でお名前.comを使用した際に保存ボタンを押すと403エラーが乱発…!

そこで何が原因だろうとアカウントを変えてみたり、.htaccessの変更をしてみたりしたんだけれどもうんともすんとも・・・。

他のレンタルサーバーではこのようなことは起こらないのでサーバー側の何かしらの仕様かな?と思ってたいたところ、やはりお名前.com独自のWAF設定が初期設定では有効になっていたのが返って妨害してたようでした。

そこで無効にしたところ、設定が反映されるのに時間はかかりましたが無事403は解除されたのでした。

さくらレンタルサーバーの独自ドメインでサブドメインを追加してみた

サーバーコントロールパネルの管理画面にログインして新規ドメイン追加します。

サーバーコントロールパネルURL:https://secure.sakura.ad.jp/rscontrol/

  1. 左側のメニュー一覧から「ドメイン設定」→「ドメイン一覧」→「新しいドメインの追加」ボタンをクリックします。
  2. 「5.他社で取得したドメインを移管せずに使う」から「ドメインの追加へ進む」のリンクをクリックします。
  3. 「他社で取得された独自ドメインのサブドメインを追加」のテキストボックスにサブドメインを記入し「送信する」ボタンをクリックします。
  4. ドメイン追加の最終確認画面が出るので「送信する」ボタンをクリックします。
  5. 完了画面が出て完了です。

ちなみにこの後ドメイン一覧で追加されたことを確認して、サブドメインの詳細設定を変更しました^^

[エックスサーバー]500エラーで管理画面にもログイン出来ない時の対処

基本的にwordpressで500エラーが起こったときは管理画面に入ってプラグインを無効化して一つ一つ有効化して様子みたりするのですが、今回は管理画面もログイン出来ない全体的な500エラーでした。

もしかして.htaccessが影響しているのかも?と思って確認してみても違う様子・・・。

こんな時こそサーバー側で取ってあるエラーログで原因を確認してみました。

管理画面にログインして該当サイトのTOP→エラーログへ。

エラーログをダウンロードします。

中身を見てみると直近の日時に次のような文章が。

[Sat May 26 22:41:48 2018] [warn] [client 66.249.79.81] mod_fcgid: stderr: PHP Parse error: syntax error, unexpected T_FUNCTION in /home/サイトフォルダ名/サイト名/public_html/cms/wp-content/plugins/wordpress-popular-posts/includes/class-wordpress-popular-posts-rest-controller.php on line 374

これは「WordPress Popular Posts」のプラグインに文章エラーが出てることを指しているので、FFFTPで該当プラグインのフォルダ名を変えて停止させました。

結果、再度サイトを更新してみるとピタッと500エラーが止まり、管理画面にログイン出来ました。
サーバーのエラーログのチェックが原因究明への近道でした。