Jetpack の failed: Error during WebSocket handshake を消す方法

Jetpack を使用していて、Console 画面で WebSocket のエラーが発生していました。

WebSocket connection to 'wss://public-api.wordpress.com/pinghub/wpcom/me/newest-note-data' failed: Error during WebSocket handshake: Unexpected response code: 403
g @ public-api.wordpress.com/:6

api.wordpress.com へアクセスできないというエラーが出ています。

こちらログインユーザーにのみ表示されるエラーです。
ですので、解消しなくても WordPress のエンドユーザーへ大きな影響は発生しないと考えています。

対応方法

Jetpackモジュールを無効化します。
https://example.com/wp-admin/admin.php?page=jetpack_modules にアクセスします。

example.com は各々ご自身のドメインを指定してください。
通知モジュールを無効にしました。

※URLを記載している理由として、現在この画面へのリンクは見つけられませんでした。そのうち対応されるかもしれません。

Jetpack通知モジュール有効
Jetpack通知モジュール有効

こちらから無効化を押下します。

Jetpack通知モジュール無効
Jetpack通知モジュール無効

通知モジュールが無効になると、表示が有効化というテキストに変わっています。

以上で、エラーが消えていれば成功です。

参考

wordpress.com ログアウト時、コンソールに表示されるエラー | WordPress.org

Category Posts Widget でウィジェットにカテゴリ新着投稿を表示する

WordPress のサイドバーに特定のカテゴリーの新着を表示したい場合は、「Category Posts Widget」が便利です。

細かい設定ができますのでおすすめのプラグインです。

設定&使い方

プラグイン「Category Posts Widget」をインストールして有効化します。

外観 > ウィジェットから編集ページを開きます。利用できるウィジェットの中に「Category Posts」という項目があるので、そこから利用できます。

タイトルの編集

「Category Posts Widget」ではウィジェットのタイトルを編集する必要があります。

ウィジェットのタイトルから、「Recent Posts」 という表記を編集します。
ブログなら、「新着ブログ」などと書くといいですね。

カテゴリーのアンダーライン修正

「Category Posts Widget」が表示するカテゴリー一覧には、CSS でボーダーが記載されます。不要ならボーダーを打ち消すのが簡単です。

.cat-post-item {
    border-bottom: none !important;
}

cat-post-item というクラスへのボーダーを打ち消します。

参考

Documentation 4.9 – Premium WordPress Widgets – TipTop-Press

All In One WP Security でセキュリティ強化の設定ポイントと解説

WordPress のセキュリティ対策では、セキュリティプラグイン All In One WP Security の導入をお勧めしています。

All In One WP Security は、名前の通り様々な攻撃から防御してくれるプラグインです。
有名なレンタルサーバーのさくらレンタルサーバーにも最初からインストールされているプラグインです。
信頼性があるプラグインと言えます。

そもそもセキュリティ対策は必要?

まず WordPress セキュリティ対策の重要性について述べます。

WordPress を利用する場合、必ずセキュリティ対策が必要です。
インストールしただけのデフォルトの WordPress は様々な攻撃に晒されるからです。

以降、All In One WP Security の重要な設定をご紹介します。

ログインパスの変更

WP Security > Brute Force からログイン URL を変更しましょう。
ログイン URL を Login Page URL: から変更します。

例えば、「◯◯login」のようにサイト運用者しかわからないパスに変更しましょう。

【解説】 パス変更はログイン総当り攻撃対策

Brute Force という項目は、総当たり攻撃の対策項目のことです。

WordPress が初期状態のケースではログインパスが、https://example.com/wp-login.php という URL のままが多いです。

攻撃者はこのようなよくあるログインパスを狙って攻撃をしてきます。
ログインパスを wp-login.php から変更することにより、攻撃を回避することが可能となります。

ログイン時間の設定

WP Security > User Login かログインしている時間の長さを変更できます。

Time Length of Lockout (min): という項目を変更します。
初期状態では、60分になっていますが、ある程度まとまった時間ログインできるように、私は 7200 など長めに設定しています。

【解説】 ログイン時間変更

ログイン時間は短いほど安全と考えられいるはずです。
確かに、もしセッション ID などが漏洩した時に、セッションがすぐ切れた方がログインされにくいです。

しかし、そもそもですがセッションが漏洩するような段階まで攻撃されてしまうのは元々のセキュリティ設定に問題があると考えられますから、ログイン時間の長さ云々の問題ではないと考えています。

ですので、ログイン時間についてはある程度作業しやすい長さにしておいと良いでしょう。

URL からユーザー名漏洩を防止

WP Security > Miscellaneous > Users Enumeration > Disable Users Enumeration のチェックを有効にします。

【解説】 ユーザー名を隠す

Users Enumeration は直訳すれば、ユーザーの列挙です。
WordPress はURLに /?author=1 などと入力されると、ユーザー名が漏洩する恐れがあります。

Disable Users Enumeration の設定は、攻撃者にとって役立つヒントを与えないためのユーザー名漏洩防止ということになります。

セキュリティ設定ポイントと解説のまとめ

All In One WP Security の設定ポイントとその解説をご紹介しました。
WordPress のセキュリティというと難しそうなイメージがありますが、All In One WP Security の最低限のポイントを抑えておくだけでも構いません。

All In One WP Security を利用することで、WordPress をそのまま使用するよりもずっとセキュアにご利用いただけます。

SEO 対策として URL 変更時の対応

サイト運用での、URL 変更には注意が必要です。
URL 変更によりアクセスが減少するケースがあります。

URL を変更してアクセスできない URL が発生すると、検索エンジンからのアクセスが減少する場合があります。

SearchConsole でアクセスできない URL を確認しよう

まずはサイト運用で URL を変更した後は SearchConsole で確認しましょう。
もし Google のクローラーでエラーが発生していれば確認できます。

SearchConsole カバレッジエラー
SearchConsole カバレッジエラー

エラーが発生している場合、検索エンジン側はその URL が存在しないと考えて検索表示を減らすなどの対応をとる場合があります。検索エンジンの表示回数が下がれば当然アクセスが減少する可能性があります。

404で検索流入が減ったケース

404エラーと検索流入の関係
404エラーと検索流入の関係

この画像は、あるサイトのアクセス数です。検索流入があった記事の URL を変更してステータスエラーがでた結果、検索アクセスがほぼなくなってしまいました。

このような事態を回避、もしくは復旧するための対応策をご紹介します。

対応1:旧 URL から新 URL へ301リダイレクト対応をする

エラーが出ている URL は新 URL へ301リダイレクトを設定します。

つまり、古い URL へのアクセスがきた時に、新しい URL が表示されるようにするわけです。

リダイレクトを設定の後、Google サーチコンソールからエラーの検証を行います。検証には時間が少しかかります。設定が済んだら、少し待ってから確認しましょう。

対応2:サイトマップを更新する

古い URL の登録されているサイトマップを送信し続けていると、検索エンジンのクローラーが、古い URL を追い続けてしまいます。

サイトマップを更新して、新しい URL を登録してください。

サイトマップ更新周りは以下の記事もご覧ください。

https://camon.tokyo/category/analytics-improve/search-console/

YouTube 埋め込みで「このコンテンツは埋め込むことができません。 」と表示の対策

WordPress に YouTube の動画を埋め込もうとした場合にうまくいかないケースがあります。

このコンテンツは埋め込むことができません。と表示されて YouTube の動画プレイヤーが表示されません。

WordPress で YouTube が埋め込めないケース

もしご自身の動画の場合は、動画の埋め込み設定を確認するといいでしょう。

動画を再生できません
動画を再生できません

プレイヤーを再生しようとしても上図のように表示されますね。
YouTube 側のクリエイター ツールの設定を確認するといいです。

YouTube の埋め込みにプラグインは不要

WordPress は YouTube の URL を貼り付けるだけでプレイヤーの表示が可能となっています。WordPress はプラグインを入れると複雑になりますので、基本的には WordPress そのままの機能の埋め込みがおすすめです。

ln コマンド

シンボリックリンクを作成するコマンドです。

使い方

ln -s ファイルのパス リンクのパス

引数が二つあり、前者が実ファイル、後者が実ファイルはないリンクだけの引数です。

参考

シンボリックリンクの作成、更新、削除、権限変更をしました。 – Qiita

cd コマンド

cd コマンドはディレクトリを変更するコマンドです。

使い方

cd ディレクトリパス

こちらでディレクトリを変更できます。

使い方の例

cd /home/username

こちらで /home/username へディレクトリを移動できます。

さくらレンタルサーバーでドメイン設定やSSL設定時に待つと解決するケース

さくらレンタルサーバーを契約して今回のようなメッセージが表示される場合があります。

初期ドメインがDNSに登録されていません。しばらく後に設定して下さい

もしくは

お客様のドメインのサーバ設定が利用中のサーバとは異なるipアドレスに設定されているため、無料ssl機能はご利用いただけません。


ドメイン登録や SSL 設定時にこういうメッセージが出ます。

少し待ちましょう

メッセージの通りに待ちましょう。

しばらく待つと登録できるようになります。
私は60分〜1日待ちました。

  • 初期ドメインがDNSに登録されていません。しばらく後に設定して下さい
    • 60分程度
  • お客様のドメインのサーバ設定が利用中のサーバとは異なるipアドレスに設定されているため、無料ssl機能はご利用いただけません。
    • 1日以上

さくらレンタルサーバーに設定したドメイン周りでは、待てば解決するところもあります。その場合はひとまず待ってみるといいですね。

参考

【独自ドメイン】さくらのレンタルサーバでの利用に関するよくある質問集 – さくらのサポート情報