Broken Link Checker でリンクエラーをチェック

リンク切れチェックの必須のプラグイン Broken Link Checker のご紹介です。

メリット

WordPress の運用では、リンク切れ修正作業が必ず必要になります。
リンクとは時によって無効になることがあるからです。

リンクは常にアクセスできるように運用していきましょう。

使い方

プラグインを有効にするだけで、投稿内のリンクを確認できます。
Broken Link Checker 内から修正や修正後のリンク切れのチェックをできます。

参考

dynamic_sidebar() の使い方

ウィジェットエリアを呼び出すために dynamic_sidebar() を使用します。

テーマ作成では頻出の関数でしょうか。

メリット

WordPress を使いこなすにはウィジェットの活用が効果的です。
会社ページによくある「お知らせ」のようなエリアを作るには dynamic_sidebar() が便利です。

sidebar という名前がついていますが、ウィジェットを呼び出せるので直感的にはわかりにくい気がします。

使い方

ウィジェットを表示したい場所で dynamic_sidebar() を呼びます。

<?php dynamic_sidebar(サイドバーの名前かID); ?>

例えば、newsという名前のウィジェットを呼び出したい場合は引数に名前を渡します。

<?php dynamic_sidebar('news'); ?>

参考

https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/dynamic_sidebar

get_sidebar()の使い方

テーマディレクトリに置かれた sidebar.php という名前のテンプレートファイルを読み込む関数です。

テーマ作成では良く出ててくる関数なので覚えておくといいでしょう。

メリット

WordPress のテーマを作っていくと、ついテーマが複雑になっていきます。
サイドバーとしての役割は、sidebar.php などのテンプレートファイルに分割し、テーマをシンプルに保つようにしてください。

そのような際に get_sidebar() が役立ちます。

使い方

get_sidebar は呼ぶだけで sidebar.php を呼び出します。

<?php get_sidebar( サイドバー名 ); ?>

サイドバー名を指定しなければ sidebar.phpを呼び出します。
get_sidebar( ‘news’ ); のようにサイドバー名を指定すると、sidebar-news.php を呼び出します。

テンプレートファイルと合わせて get_sidebar による読み込みが必要です。

参考

https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/get_sidebar

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」があるので、そちらから利用できます。

参考

All In One WP Security で WordPress セキュリティ強化の設定

WordPress のセキュリティ対策では、セキュリティプラグイン All In One WP Security の導入をお勧めしています。
インストールしただけの WordPress では様々な攻撃に晒されるからです。

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

この記事では、All In One WP Security の重要な設定をご紹介します。

ログインパスの変更

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

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

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

WordPress では初期城自体ではログインパスが、http://example.com/wp-login.php のようになっている場合が多いです。

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

ログイン時間の設定

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

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

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

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

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

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

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

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

WordPress はURLに /?author=1 などと入力されると、ユーザー名が漏洩する恐れがあります。

攻撃者にとって役立つヒントを与えないためのユーザー名漏洩防止措置です。

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

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

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

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

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

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

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

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

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

WordPress のカスタムページテンプレートの使い方

カスタムページテンプレートとは固定ページのカスタムテンプレートのことです。

固定ページを別テンプレートで表示できると言ってもよいですね。

使い方

PHP ファイルを作成して、以下のようにコメント内に Template Name を書きます。

<?php
/*
Template Name: 私のカスタムページ
*/

ページテンプレート – WordPress Codex 日本語版

こちらのファイルを記載するだけで、テンプレートを利用できるようになります。

テンプレートの適用ページ

テンプレートが適用されるかは命名規則がありますので、開発する場合はこちらは押さえておきましょう。

テンプレート階層

カスタムテンプレート — ページにカスタムテンプレートが割り当てられていれば、WordPress はファイルを探し、見つかればこれを使用します。
page-{slug}.php
 —
 見つからなければ、WordPress はページのスラッグで特殊化されたテンプレートファイルを探し、見つかればこれを使用します。
page-{id}.php
 —
 見つからなければ、WordPress はページの ID で特殊化されたテンプレートファイルを探し、見つかればこれを使用します。
page.php
 —
 見つからなければ、WordPress はテーマのデフォルトのページテンプレートを探し、見つかればこれを使用します。
index.php
 —
 見つからなければ、WordPress はテーマの index ファイルを使用します。
ページテンプレート – WordPress Codex 日本語版

ポイントとしてはpage-{id}.php などは、id部分がマジックナンバーになりますので使わない方が良いと考えています。

参考

https://wpdocs.osdn.jp/%E3%83%9A%E3%83%BC%E3%82%B8%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88

WordPress サーバー移行方法とポイント

WordPress のサーバー移行に関する投稿となります。

WordPress の移行方法には様々な選択肢があります。結論から言えば All-in-One WP Migration による移行がおすすめですが、他の手法も強力なので慣れておくと役立ちます。

WordPress Importer による移行

WordPress のデフォルトプラグイン、WordPress Importer による移行は、シンプルで最も簡単というメリットがあります。

WordPress Importer の移行はテキストの投稿を移行するだけなら、十分に動作しますので、オススメの手法です。

一方で、いくつか課題もありますのでご注意ください。

  • xml ファイルの容量制限
  • メディアファイルの移行
  • アイキャッチの移行

xml ファイルの移行や容量制限、もしくは条件によってはメディアファイルの移行がうまくいかない、また、そもそも現状ではアイキャッチは移行されませんので、注意が必要です。

All-in-One WP Migration による移行

プラグインの All-in-One WP Migration を利用した移行は圧倒的におすすめです。

All-in-One WP Migration の無料版では、移行ファイル 512MB 以内なら移行できます。

ビジネスサイトを運営されている方なら、有料版でも7000円ほどなのでそれほど気に留める金額でもないでしょう。

All-in-One WP Migration のメリット

WordPress の移行では多くの場合、様々な課題が生じものですが、All-in-One WP Migration を使用した移行では、あらゆる WordPress の設定が移行されます。

例えばユーザー設定やテーマやプラグインの設定などの細かい部分ですね。これは大きなメリットです。

移行はエクスポートしたファイルをインポートするだけ

「エクスポート先」は基本的には「ファイル」を選択すれば問題ありません。

「サイトをインポートしました。」と表示されれば成功です。

サイトをインポートしました

インポートが成功した場合ですね。

懸念点

インポートの際には、post_size など容量の設定変更が必要になるかもしれません。また、仮に有料版を使用しても、あまりにも巨大なサイトを移行するには問題が生じる可能性があります。

CSV による移行

WordPress Importer のアイキャッチ移行されない問題への対応時や All-in-One WP Migration を使用しない際に使えるのが CSV を使った移行です。

複雑なことをしていないサイトなら CSV による移行は使える手法です。

WP CSV Exporter で CSV をエクスポートする

CSV のエクスポートには WP CSV Exporter を使用します。

ツール > CSV エクスポート からエクスポートを行います。
アイキャッチ画像(thumbnail)をチェックしてからエクスポートを行なってください。

Really Simple CSV Importer でインポートする

インポートには、Really Simple CSV Importer を使用します。

CSV 移行の課題

CSV による WordPress の移行では、プラグインに任せるため、デフォルト以外のカスタマイズなど複雑な設定などはうまく移行できないかもしれません。

Really Simple CSV Importer に慣れていたら、Excel などでカスタマイズもできるかもしれませんね。

Really Simple CSV Importer の使い方 については記事で公開しています。

画像などメディアファイルの移行が課題のケース

WordPress の移行作業では、メディアファイルの移行が課題になる場合があります。

FTP やコピーでメディアファイルを移行すると WordPress に認識されない

メディアファイルをサーバーの wp-content/uploads/ に同じ構成でアップロードしたにもかかわらず、メディアファイルが WordPress から見つからない場合があります。

権限の問題ではない場合は、メディアファイルの紐付けにより回復させることができます。

Add From Server でファイルの紐付けをする

ファイルと紐付けをするには Add From Server を使います。

プラグインを利用することで、ファイルの紐付けが可能です。
紐付け後に、WordPress のメディア画面から確認してください。

まとめ

WordPress サーバー移行方法とそのポイントに関してまとめました。

WordPress の移行方法には様々な方法がありますが、基本的には All-in-One WP Migration がおすすめです。ただ、経験を重ねると環境にあった方法を選択することができます。WordPress のスムーズな移行ができるといいですね!

wp_footer() の使い方

footer で呼ばれている wp_footer() というのはどういう意味があるのでしょうか。

wp_footer() については1度知ってしまうとシンプルなものです。
footer 付近で呼びたいスクリプトなどを出力する関数です。

使い方

wp_footer(); は引数がないのでポイントです。

wp_footer();

基本的には wp_head() と同じような動きだが、呼ばれる場所が違うものと考えれば良いでしょう。

もし WordPress のテーマ内で呼ばれていたらどこかで wp_footer() で呼ばれたスクリプトが使用されているかもしれません。むやみに消さないほうがいいですね。

参考

https://wpdocs.osdn.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0/wp_footer