WordPressマルチリンガルサイトの推奨プラグインを全解説!

⌛この記事を読むのにかかる時間: 6

update 最終更新日:2022年8月13日

*このページは常時更新中です!😅

去年の暮れにサーバーを移転して以来、今年の初頭より、約2ヶ月の開発期間を設け、空いた時間に、WordPressのプラグインであるTransPoshをベースとしたマルチリンガルサイトとして、このサイトの構築を日々行ってきました。

今回の開発では、WordPressのUIの改善とシステム管理に力点を置いています。
未だ若干の不満が残っていますが、一応、今月末をもって開発完了とし、今後はコンテンツの拡充に努めたいと思います。

開発完了報告として、このサイトで導入したWordPressの推奨プラグインの全てを写真付きの解説で、時系列で以下に纏めます。


[ 2015年の2月16日までに追加した機能 ]

1. UI関連
(1) カレンダー表示
営業日と休日、イベント開催日を表示するカレンダーをサイドバーに設置しました。
プラグイン「Biz Calendar」の導入で実現しています。
Biz Calendarは、日本のプラグインです。 非常にシンプルで使い易いです。
私は、PHPで書かれたこのプラグインのCSS定義を修正する事で、カレンダーの外観をカスタマイズしました。



* 2021.03.15 更新
Biz Calendarは、複数のイベントが登録できないため、代わりに有料のプラグイン「営業日カレンダープラグイン」を現在使用しています。CSSとPHPプログラム(business-calendar.php)に少し手を入れました。詳しくは、以下のニュースの記事をご覧ください。



(2) マルチリンガルのサポート
当サイトを多言語で表示させるためのプラグイン「Transposh」を導入しました。
サイドバーから、表示言語を切り換えることが出来ます。
自動翻訳エンジン関しては、初期設定でGoogleかBingを選べます。本サイトでは、Bingに設定されています。 *
その自動翻訳の精度は、使えるレベルではありませんが、Transposhの導入で、サイトのマルチリンガル化をスマートに実現出来ます。
このプラグインは、手軽には使えますが、日本語の年月日などにおかしな変換が発生しますので、公式なマルチリンガルサイトには使えないと思います。
ちなみに、Transposhのプラグイン設定「Settings」タブの中の「General Settings」で「Rewrite URLs」のチェックを入れてはいけないようです。このパーマリンク設定にした場合、デフォルトの言語以外のページ内の外部サイトへのリンクが正常に機能しなくなります。

* 5月8日追記: 現在、Googleの自動翻訳が機能しないため、一時的にBingに設定しました。
* 6月5日追記: Transposh「バージョン 0.9.7.0」のリリースで Googleの翻訳機能が復活しています。

2018.03.28 追記
Transposhの開発が停止している模様で、最早、最新のWordPressでは正常に動作しなくなったため、現在、自動翻訳に関しては、「Google Website Translator by Prisna」を使用しています。ニュースを参照⇒ Transposhによる自動翻訳の不具合について

2018.04.3 追記
現在このプラグインは翻訳エンジンの設定によっては、日本語の処理に対して正常動作しない場合がある事、Transposhの翻訳プロキシサーバーの反応が鈍く、全てのセンテンスの翻訳を完了するのに相当のタイムラグがある問題を確認しています。但し、本サイトではバイリンガルに対応するため、他サイトへの自動リンク処理においてはパラメータの送信ができ大変便利なため、一応、Transposhのメニューは温存させています。また、他の自動翻訳プラグインにはない翻訳結果への修正機能が装備されているのも唯一無比の存在です。他のGoogle自動翻訳プラグインと比べ、翻訳精度にも依然問題がありますが、そのうち作者がそれらの問題点を修正してくれるのを待ちたいと思っております。

なお、手動翻訳において、推奨されるプラグインは、Polylang、およびWPML(有料版)です。以前、Polylangを導入した場合、WordPressのページ送り機能などがフックされ、一部のプラグイン(WP-PageNaviなど)の機能が失われていましたが、その後、Polylangの最新バージョンでテストしたところ、正常に動作する事を確認しました。
Polylangの導入例はこちら⇒ WordPressプラグインPolylangによるクラブフェリスWebサイトの多言語化

2020.03.28 追記
今朝、Transposhの作者とチャットし、Transposh(V1.0.6.1)で発生していた日本語翻訳の不具合の解消方法を教わりました。
以下の設定にする事で、正しく変換できるようになりました!
・Translation Engines ⇒ Select preferred auto translation engine ⇒ Bingをトップに置く(Bing/Google/Apertum/Yandex/Baidu)
・Advanced ⇒ Parser related settings ⇒ “Disable punctuations break” のチェックを入れる

*TransposhのWordPressサポートフォーラムを参照 ⇒ Support Threads「Can’t convert from Japanese to English

2020.03.29 追記
先ほど、Transposhの作者から連絡があり翻訳エンジンの優先順位設定でGoogleをTopにしても翻訳できるようになったとの事なので、一旦、Transposhの翻訳エンジンの設定でGoogleをトップに変更して様子をみました。その後、やはりGoogleを優先すると以前と同様に動作が不安定でしたので、またBingに戻しました。参考までにですが、Transposhの最新バージョン(Version 1.0.6)においては、デフォルト設定だと日本語の句読点とセンテンス内に数字、HTMLタグがあるとセンテンスが切れてしまい翻訳処理が上手く機能しません。
その対策として、Transposhの設定「Advanced」タグの中のParser設定において、「Disable punctuations break」と「Disable numbers break」、「Disable html entities break」をチェックする必要がありますが、現状は他のGoogle翻訳のプラグイン(Google Website Translator by Prisnaなど)の方が更に正しく機能します。

(3) コンタクトフォームの設置
Googleの「reCAPTCHA」に対応するコンタクトフォームです。
プラグイン「Contact Form 7」、「Really Simple CAPTCHA」(reCAPTCHA v3を適用中のため、現在未使用)の導入で実現しています。


(4) ゲストブックの設置
Googleの「reCAPTCHA」に対応するゲストブックです。
プラグイン「DMSGuestbook」の導入で実現しています。

2018.03.28 追記
DMSGuestbookのメンテナンスが停止しているため、現在は「Gwolle Guestbook」を使用しています。ニュースを参照⇒ ゲストブックの変更

2021.07.30 追記
Gwolle Guestbookを日本語化しました。詳細は、以下の記事をご覧ください。



(5) サイトマップ
Topメニューに「サイトマップ」のメニューを追加しました。
プラグイン「PS Auto Sitemap」の導入で実現しています。



2021.06.06 追記
現在、「PS Auto Sitemap」の運用を止め、代わりに WP Sitemap Page を使用しています。

2. SPAM対策
(1) Akismet
Akismet」は、WordPressに標準で搭載されたSPAM対策用のプラグインです。
このプラグインにより、大概のSPAM投稿が捕捉されます。


(2) Google No CAPTCHA reCAPTCHA
No CAPTCHA reCAPTCHA」は、Googleが開発した人間かロボットかを判別する最新のAPIであり、SAPM投稿を元から排除するためのメカニズムです。
現在は、Google reCAPTCHA(v3)が最新バージョンとなっております。
これは、Akismetで捕捉しきれないSAPM投稿や、SPAMロボットからの投稿なのか、人間の投稿なのかを判断するのが困難な投稿に対し、抑止効果を発揮します。
プラグイン「reCaptcha by BestWebSoft」の導入で実現しています。

No CAPTCHA reCAPTCHA (Google Chrome)
No CAPTCHA reCAPTCHA (Google Chrome)


2018.11.08 更新

このプラグインは、WordPressのバージョンアップで機能しなくなったため、現在、代わりのプラグイン「Invisible reCaptcha for WordPress」を使用しています。 *2021年6月にまた「reCaptcha by BestWebSoft」へ戻します)
*WordPress Forums › Support » Reviews ⇒ Doesn’t work in login form

2019.01.08 更新
googleのreCAPTCHAですが、現在v3にアップグレードされているため、関連するプラグインもv3対応に変更されています。
よって、本Webサイトでは、Contact Form7のreCAPTCHAインテグレーションモジュールの設定において、googleから新たに取得したv3用のサイトキーとシークレットキーを再登録し、v3モードで動作する設定にしています。
なお、reCAPTCHA v2では、「I’m not a robot」(私はロボットではありません)というチェックボックスにチェックを入れたりするユーザ操作が必要でしたが、reCAPTCHA v3では、googleのAIによりユーザーの一連の操作を分析し、その動きがどれぐらい不審なのかをスコア化する仕組みになっており、ユーザーによる操作は一切不要になりました。

2021.07.12 更新
プラグイン「Invisible reCaptcha for WordPress」ですが、WordPress 5.7.2において、正常に動作していないとの報告があり、また、PHP8.0にも対応していない事が判明したため、本プラグインを無効にし、削除しました。
WordPress 5.7.2/PHP7.4の環境でこのプラグインを削除すると、システムエラーが発生しましたのでご注意下さい。

よって、このプラグインの代わりに、以前使っていた「reCaptcha by BestWebSoft」を導入しました。現在は問題なく動作していますし、継続してメンテナンスが行われているようなので安心して使えそうです。
プラグイン「reCaptcha by BestWebSoft」ですが、Google reCAPTCHAのバッジ(ロゴ)を非表示にする機能もあり、大変便利なブラグインです。
なお、「reCaptcha by BestWebSoft」は、「Contact Form 7」への対応が有料オプションとなっているため、Contact Form 7 の「reCAPTCHA インテグレーションモジュール」を使用する事で、この問題を回避できます。


3. 統計情報

(1) NewStatPress
サイドバーのサイト統計情報をプラグイン「NewStatPress」を使って表示させています。 統計情報の詳細は、サイト管理者の管理画面から見る事が出来ます。
なお、NewStatPressのData Purgeの設定において、「Never」以外を指定すると、集計開始から指定された期限に達した時点で全ての統計情報が削除され、再度、集計開始の状態となってしまいますので、十分ご注意下さい。
私はこの設定で一度失敗していますから。 (笑) *

* 5月8日 追記
その後、NewStatPressの最新バージョンで、Data Purgeの設定を一ヶ月に設定し、DBをクリアしたところ、一ヶ月間のデータを残し、カウンタ値も保存されました。 カウンター値が0になる現象は、単なるバグだったようです。 orz
👉 Look at [resolved] access number automatically reset everyday (4 posts)

* 7月30日 追記
Data Purgeの設定で、「Never」以外の値を指定した場合、カウンタ値は、その期間のデータのみが集計されます。
よって、総合カウンタは保存されませんので、ご注意下さい。
因みに、私はNewStatPressのDBの肥大化を防ぐため、集計期間を3ヶ月に設定し、総合カウンタの集計については、NewStatPressのカウンタ値を使用せずに、Perlのプログラムの集計値を使用するようにしました。
カウンタ管理に関しては、こちらの関連記事もご覧下さい。👉 ガラケー対応とシステムの改修


(2) Jetpack
WordPress本家が提供するプラグイン「Jetpack by WordPress.com」のWordPress.com 統計情報より、シンプルなサイト統計情報を管理画面から見る事が出来ます。
Jetpackの利用で、ブログを WordPress.com アカウントと連携させ、各種の便利な機能を利用できます。

*10月14日 追記
私は、「サイト統計情報」、「グラバターホバーカード」 、「Protect」、「購読」 、「WP.me 短縮リンク」の機能を使用しています。
なお、「Photon」を有効にすると、プラグイン「EasyFancyBox 」が無効となるため、「Photon」は無効にしています。

2020.01.28 追記
Jetpackを有効にすると、ブログ内にOGPタグが勝手に出力されるようになります。テーマのプログラムがOGPタグ出力がサポートされている場合、OGPタグが重複するため、その場合はテーマのプログラム”functions.php”に以下の行を追記する事でOGPタグ出力を抑制する事が出来ます。

/* 【Jetpack】OGPタグの出力抑制 */
add_filter( 'jetpack_enable_open_graph', '__return_false' );


2020.03.30 追記
Jetpackの最新バージョン(バージョン 8.3)において、「サイトアクセラレーター (旧称 Photon)」を有効にすると、全ての画像が表示されなくなる場合があります。これはサーバーのセキュリティ設定によっては、SDN (Software Defined Networking)が有効に機能しない場合があるものと思われます。この設定は運用上でも色々とトラブルを招く可能性を秘めていますので、この設定を外すことを推奨します。
このトラブルの詳細は、以下の記事に掲載しています。




[ 2015年の2月17日 ~ 2月26日までに追加した機能 ]

1. UI関連
(1) WordPressブログにページングナビゲーションを追加
ブログが複数ページになった際、指定ページへ直接ジャンプする機能を追加しています。 プラグイン「WP-PageNavi」ならびに「Wp Pagenavi Style」の導入とWordPressのPHPプログラムの改修で実現しています。
合計で9本のWordPressのPHPプログラムを修正しました。

以下のPHPコードで置換しました。

<!-- for WP-PageNavi -->
<!--?php if(function_exists('wp_pagenavi')) { wp_pagenavi(); } ?-->


2019.04.13 更新
現在、プラグイン「Wp Pagenavi Style」の更新が途絶えており、PHP7.1との互換性が無くなっています。
よって、このプラグインの使用を中止し、代わりのプラグイン「Styles For WP Pagenavi Addon」を使用しています。


(2) WordPressブログにTopページへのスクロールバックボタンを追加
ページが長くなっても、ページの先頭へ早く戻れるようにするため、スクロールバックボタンをフローティング表示するようにしました。 プラグイン「WPFront Scroll Top」の導入で実現しています。



2021.02.14 追記
WordPress 5.6以降、他のプラグインとの競合で「WPFront Scroll Top」が動作しなくなったため、代わりに「To Top」を使用しています。
なお、To Topの設定ではスタイルをイメージに設定し、WPFront Scroll Topのイメージを借用しています。😅


(3) サイドバーに本日の人気記事タブを追加
現在読まれている人気ページとカテゴリー、アイキャッチ画像が1日毎にランキング表示されます。 プラグイン「WordPress Popular Posts」の導入で実現しています。


(4) コンテンツの保護
完全ではありませんが、右クリックからのイメージ画像の保存を抑制します。
プラグイン「Content Copy Protection & Prevent Image Save」の導入で実現しています。

2022.07.21 更新
現在、このプラグインは、アンインストールしています。代わりに WP Content Copy Protection with Color Design を使っています。


(5) 言語切換ランチャーの追加
Topページ、BBS、Linksのページから外部サイトへリンクする際に、Transposhのインタフェースに沿って、カレント言語での自動切換が出来るようにしました。
PerlのCGIプログラム「launcher.cgi」の新規開発で実現しています。 但し、インタフェースはマルチリンガルですが、飛び先は今のところバイリンガル表示(日本語、英語)となります。
なお、言語切換ランチャーに5秒のタイムラグを設定しています。その意味は、ブラウザの「戻る」ボタンを押す猶予を利用者に与えるためです。


(6) 外部CGIプログラムの改修
言語切換ランチャーに対応するため、Perlで書かれた画像掲示板のCGIプログラム「joyful.cgi⇒joyfulx.cgi, etc.,」を改修しました。 数本のプログラムの修正とマルチリンガル用のテンプレートファイル(html)を追加しています。

joyfulx.cgi
joyfulx.cgi

* 5月29日 追記
現在、このプログラムのソースコードは以下の記事で公開しています。



2. システム管理
(1) XML sitemapの自動生成と検索エンジンへの自動通知
プラグイン「Google XML Sitemaps」の導入で実現しています。
Google, Yahoo, Bing ならびに Ask.com への自動登録が可能です。

Google XML Sitemaps
Google XML Sitemaps


(2) サムネイル画像の自動登録
投稿ページ、ならびにカスタム投稿ページに対し、自動的にサムネイル画像が登録出来ます。投稿時は、アイキャッチ画像も自動設定されるので、大変便利です。
プラグイン「Auto Post Thumbnail」の導入で実現しています。

Auto Post Thumbnail
Auto Post Thumbnail

2021.11.22 追記
現在、Auto Post Thumbnail (Auto Featured Image)をアンインストールし、 XO Featured Image Tools を使用しています。


(3) データベースのオプティマイズ
古いリビジョンのデータを一括で削除し、DBをスリム化します。
プラグイン「Optimize Database after Deleting Revisions」の導入で実現します。当サイトでは、5世代までの投稿を保存する設定にしています。

Optimize Database after Deleting Revisions
Optimize Database after Deleting Revisions


(4) プラグインの負荷状況の調査
インストールされたプラグインのパフォーマンスを測定し、システムに過度な負荷を掛けているプラグインが無いかどうかを調べます。 プラグイン「P3 (Plugin Performance Profiler)」の導入で実現します。

P3-Plugin Performance Profiler
P3-Plugin Performance Profiler


2019.04.18 更新
このプラグインは、PHP5.6/7.0での正常動作が確認できないため、プラグインの使用を停止させています。


(5) WordPressのバックアップ
データベースやプラグインを含め、Wordpress全体のシステムをバックアップします。
プラグイン「BackWPup」の導入で実現します。
なお、プラグイン「WP Super Cache」が動作している場合は、バックアップの前にその動作を一時的に停止させ、キャッシュをクリアしてからバックアップを行う事を推奨します。

BackWPup
BackWPup

2018.03.28 追記
バックアップの途中でサーバーからタイムアウト要求が発行されエラー終了する場合は、バックアップのジョブ設定で「サーバーの負荷を軽減」の設定値をデフォルトの”無効”から”最小”に、サーバー側のPHP設定(php.ini)でmax_execution_timeの値をデフォルトから120秒に変更すれば動作する可能性があります。

2021.11.25 更新
BackWPup は、サーバーへの負荷が大きく、バックアップの途中で処理が止まってしまう事が頻発したため、現在は、代わりに以下のプラグインを使用しています。
なお、UpdraftPlus無料版では、.htaccessやwp-config.phpを含むWordPress本体プログラム(コアファイル類)のバックアップはできません。

UpdraftPlus WordPress Backup Plugin


(6) WordPress Importer
BackWPupがあるので、「WordPress Importer」に関しては、通常必要ないとは思いますが、とりあえず、WordPressでエクスポートしたデータを読み込めます。 軽く、DBを復旧したい時には、便利かもしれません。

WordPress Importer
WordPress Importer

2018.03.30 追記
データベースのみのバックアップとリストアに関しては、現在、「WP Database Backup」を使用しています。

2021.06.17 更新
WP Database Backupは、DBのリストアが完全に行えない事と、PHP8.0に非対応であるため、プラグインを無効にし、削除しました。



[ その後、更に追加した機能 ]

(1) TinyMCE Advanced
WordPressのビジュアルエディターに編集ボタンを追加する事で、編集機能を強化するプラグイン「TinyMCE Advanced」を追加しました。



2021.02.14 追記
TinyMCE Advancedは、WordPress 5.6のリリースで「Advanced Editor Tools」に名称が変更されました。


(2) WP Super Cache
WordPressの表示を高速化すためのプラグイン「WP Super Cache」を追加しました。
なお、このようなキャッシュ系のプラグインは、使用法を誤ると何かのタイミングでDBが壊れるかもしれないので、自分でDBを復旧出来ない方は使わない方が良いと思います。
因みに、このプラグインを有効にすると、WordPress Popular Postsが正しく動作しなくなります。
その対策ですが、WordPress Popular Postsの「Tools」タグにおいて、「Ajaxify widget」を有効にする事で解決します。

参考のため、本サイトにおけるWP Super Cacheの設定内容を以下に示します。
トラブルを避けるためにも、特に詳細設定では、「既知のユーザー向けにはページをキャッシュしない(推奨)」のチェックを入れるべきかと思います。

2018.03.29 追記
現在、PHPのバージョンアップにより表示が高速化したので、運用のわずら煩わしさを避けるため、本プラグインはアンインストールしています。

(3) WP Widget Cache
ウィジェットをキャッシュする事で、サイドバーの表示を高速化するためのプラグイン「WP Widget Cache」を追加しました。
このプラグインは、ウィジェットのキャッシュ制御にも使えます。
「WP Widget Cache」は、「WP Super Cache」との併用が可能です。
このプラグインの追加で、全てのウィジェットに「WP Widget Cache」の設定タグが追加されます。

WP Widget Cache - Settings
WP Widget Cache – Settings

*5月18日 追記
バイリンガルサイトでのメリットが無いため、現在、このプラグインは使用していません。

(4) Easy FancyBox
サムネイル画像を別ウィンドウに拡大表示させるための便利なプラグイン「Easy FancyBox」を追加しました。

* 9月17日 追記
Jetpackの「Photon」を有効にすると、本機能が無効になってしまいますので、ご注意下さい。

2018.03.28 追記

Easy FancyBoxのver.1.6.3より、PHPのバージョンが5.6以上でないと動作しなくなっていますので、サーバー環境を確認する必要があります。ブログを参照⇒ Easy FancyBoxのプラグイン更新で500エラー発生


(5) RSS Image Feed
WordPressのRSSフィードにアイキャッチ画像を追加するプラグイン「RSS Image Feed」を追加しました。

2020.01.10 更新
本プラグインは、PHP7.1へのバージョンアップで動作しなくなったので、プラグインの動作を停止させ、代わりにテーマ内のプログラム“functions.php”の修正で対応しました。


(6) Custom More Link Complete
記事中のMoreタグ「続きを読む」の文言の変更(“さらに”⇒“続きを読む…”)とリンク先URLを統一するためのプラグイン「Custom More Link Complete」を追加しました。

Custom More Links Complete - Settings
Custom More Links Complete – Settings

リンクパターンの設定では、以下のような設定で良いかと思います。

<a href="%permalink%" title="%title%" class="%class%">%linktext%</a>

または

<a href="%permalink%" title="%title%" class="%class%"> 続きを読む »</a>

(このサイトの設定)

2021.06.16 更新
プラグイン「Custom More Link Complete」は、長らく更新が行われておらず、WordPressならびにPHPのバージョンへの互換性も失われていますので、このプラグインの使用を停止し削除しました。

(7) WordPress Related Posts
記事の下に関連記事が表示できるようにするプラグイン「WordPress Related Posts」を追加しました。

2017.07.13 更新
「WordPress Related Posts」は、PHPのバージョンが5.3以下だとプラグインの更新でエラー(Parse error: syntax error…)が発生したため、現在、プラグイン「Contextual Related Posts」を使用しています。このプラグインは手動での関連記事の編集はできませんが、データベース内の記事内容を解析することで、関連記事に関しては「WordPress Related Posts」よりも正しく表示されます。


(8) WordPress SEO by Yoast
SEO対策の設定をまとめて管理できるプラグイン「WordPress SEO by Yoast」を追加しました。
このプラグインには、ソーシャル機能が用意されており、FacebookのOpenGraphとTwitter cardのmeta dataをhead内に挿入することができます。 「いいね!」ボタンなどを設置している場合には便利かと思います。
なお、RSSフィードに指定した文言も挿入でき、RSSフィード内のコピーライト表記などにも利用できます。

2018.03.29 追記: 現在、このプラグインを動かすとサイトが重くなってしまうようなので、運用を停止しています。なお、そもそもテーマのプログラムにもSEO機能(プラグイン)が装備されているため、このプラグインを外しても特に大きな支障は無いと考えます。


(9) PuSHPress
WordPressへの記事投稿時においてPubSubHubbu(PuSH)のサポートにより、Googleの検索エンジンへ瞬時にインデックスさせることができるプラグイン「PuSHPress」を追加しました。
このプラグインを利用することで、パクリサイトから先に検索エンジンにインデックスされるのを防ぐ効果があります。

PuSHPress
PuSHPress


(10) Tag Widget
タグをウィジェットでリストやドロップダウン表示できるプラグイン「Tag Widget」を追加しました。

2015.5.21 追記
このプラグインを停止し、代わりに記事中にタグクラウドを表示するためのプラグイン「TagCloudShortCode」を使用しています。

2020.5.30 更新
現在、タグクラウドの表示は「Cool Tag Cloud」を使用しています。


(11) Crayon Syntax Highlighter
記事の中でソースコードを綺麗に表示できるプラグイン「Crayon Syntax Highlighter」を追加しました。

2020.05.14 更新
本プラグインは最終更新日が4年前のままであり、WordPress5.3へアップグレードするとクラシックエディタがサポートされなくなり、更にはGutenberg(ブロックエディタ)でも動作しません。WordPress5.3以降のバージョンで運用するには、Crayon Syntax Highlighterに代わるプラグイン「Highlighting Code Block」、または「Code Syntax Block」で代用する事をお勧めします。


(12) Acunetix WP Security
脆弱性をスキャンし、それに対するセキュリティ対策ができるプラグイン「Acunetix WP Security」を追加しました。

Acunetix WP Security - Live Traffic
Acunetix WP Security – Live Traffic


2019.04.16 更新
本プラグインは、PHPバージョン7.0/7.1に非対応のため、サーバーのアップグレードに併せて、本日、このプラグインをアンインストールしました。現在、このサイトはPHP7.1で動作中です!


(13) Broken Link Checker
サーバーの移転作業の過程で動的リンクを貼った箇所でリンク切れが数件発生しました。 これは、WordPressの仕様によるものと思われます。
WordPressには、このリンク切れを素早くチェックするための良いプラグイン「Broken Link Checker」が用意されています。
(* 5月18日 追記)

[ プラグインへの補足説明 on March 15 ]

上記プラグインの中で、「Acunetix WP Security」は、サーバーのパフォーマンスを極端に低下させます。
このサイトも含めて、特にワンコインサーバーのような脆弱なサーバーでの常時運用は避けた方が良いと思います。
以下に、その証拠として、「P3 – Performance Profiler」の診断結果を示します。
なお、「Transposh」はやむを得ないとして、「WordPress SEO」もサーバーの負荷が大きいようです。
何でも詰め込むのではなく、本当に必要なものなのかどうかを、良く検討されるべきかと思います。

2019.04.14 追記

(14) PHP Compatibility Checker
WordPressプラグインのPHPバージョンの互換性をチェックするためのプラグイン「PHP Compatibility Checker」を追加しています。
インストールされたテーマと全てのプラグインを自動スキャンし、PHPバージョン PHP7.2/7.1/7.0に適合するかどうかの構文チェックが行えます。
なお、スキャン途中でプロセスが止まった場合は、一旦、本プラグインを停止させ、スキャンを再開させれば復帰できます。

2021.06.17 更新
PHP8.0非互換につき、本プラグイン「PHP Compatibility Checker」は削除しました。

2020.04.28 追記

(15) ソーシャルボタンのウィジェットを追加
ウィジェットにRSSとソーシャルボタンが追加できるプラグイン「Social Media and Share Icons」を追加しました。


(16) Regenerate Thumbnailsの追加
アイキャッチ画像を一括でリサイズしてくれるプラグイン「Regenerate Thumbnails」を追加しました。
WordPreesのメディア設定でサイズを変更しても、以前にアップロードされた画像サイズは変更されません。
このプラグインは、現在の設定値に従い、メディアに登録された全ての画像を一括で生成することができます。

(17) WP Crontrolの追加
WP-Cronシステムで何が起こっているかを表示し、制御することができるプラグイン「WP Crontrol」を追加しました。
これにより、どこかのプラグインで勝手に起動されたcronイベントを調査し、そのイベントを削除する事も可能になります。


(18) Google Site Kit
Google AdSenseを利用するため、Googleの公式WordPressプラグイン「Site Kit by Google」を追加しました。
このプラグインをインストールすると、以下の機能が利用できます。

・Search Console
・Analytics
・AdSense
・PageSpeed Insights
・Tag
・OptimizeOptimize


2021.04.04 追記
(19) Pz-LinkCard
リンクをカード形式で表示させるWordPressプラグイン「Pz-LinkCard」を導入しました。
このプラグインの使い方は、以下の記事に詳しく書かれていますので、ご覧ください。


2021.07.04 追記
(20) WP Rollback
指定のWordPressプラグインを前のバージョンへのロールバックを可能にする以下のプラグイン「WP Rollback」を導入しました。
本日実施した「WordPress Popular Posts」のバージョン5.3.4へのアップデートでウィジェットが破壊されてしまい、前バージョンへの差し替えを余儀なくされたのを機に、更新プラグインのバグ対策のため、このプラグインをインストールする事にしました。

2021.07.27 追記
(21) Classic Widgets
WordPress 5.8へのアップグレードで2個のプラグイン(営業日カレンダー, NewStatPress)が新しいインターフェース「ウィジェットブロックエディター」に対応せずエラーが発生したため、従来のウィジェットエディターのインターフェースを提供する以下のプラグイン「Classic Widgets」をインストールしました。


2022.07.08 追記
(22) WP Last Modified Info
記事の更新日を表示するため、以下のプラグイン「WP Last Modified Info」をインストールしました。

2022.07.21 追記
セキュリティ強化のため、以下のプラグイン「iThemes Security」をインストールしました。


3. 削除または停止中のプラグイン
(1) Simple Local Avatars
WordPressのGravatarに登録しなくてもアバターが投稿内に表示されるので便利なんですが、逆にGravatarに登録してもGravatarのアバターが表示されなくなるので、使うのを止めました。 (削除)

(2) Custom Permalinks
WordPress特有のパーマリンク末尾の枝番問題の解消には便利なプラグインなんですが、パーマリンク設定にした場合、Transposhとの相性が悪く使えません。 Custom Permalinksが有効な状態で、Transposhの言語切換を行うと、Transposhとの連動に失敗し、リンク切れが発生します。 (削除)

(3) Global Translator
使ってみましたが、TransposhのUIの方がスマートだったので、使うのを止めました。(削除)

2019.04.16 更新
(4) ktai_style
フィーチャーフォン(ガラケー)への表示をサポートするためのプラグイン「ktai_style」がPHPバージョン7.0/7.1に非対応のため、サーバーのアップグレードに併せて、本日よりこのサービスを停止する事にしました。ガラケーのユーザー様には、ご不便をお詫び申し上げます。🙏

(5) Acunetix WP Security
このプラグインは、PHPバージョン7.0/7.1に非対応のため、アンインストールしました。

2019.04.18 更新
(6) P3-Plugin Performance Profiler
このプラグインは、4年以上も前から更新されておらず、PHP5.6/7.0での正常動作が確認できないため、プラグインをアンインストールしました。

4. その他
沢山のプラグインを入れたお陰で、ワードプレスのダッシュボードに以下のPHPのエラーが発生しました。
Fatal error: Out of memory …

原因は、PHPのメモリ不足です。これを放置すると、最悪、ログインも出来なくなる事もありますので、早急に手を打つ必要があります。
この場合、WordPressの設定を記述するファイル「wp-config.php」内の先頭に、以下の定義を加える事で解決します。

// Allowed memory size 対策ここから(デフォルト32を128~1024MBに)
define('WP_MEMORY_LIMIT', '512M');       // 一般ページのメモリサイズ
define('WP_MAX_MEMORY_LIMIT', '1024M');  // 管理画面のメモリサイズ
// Allowed memory size 対策ここまで


ついでにですが、DBの肥大化を防ぐため、その下の行に私は以下の定義も加えています。

// リビジョン管理数の上限を決める(5世代に設定する場合)
define('WP_POST_REVISIONS', 5);

– 以上です –

分からない事が多く、大変でしたが、まぁ、色々と勉強になりました。

今回の開発で培ったWordPressサイト開発の詳細については、別途、ブログで纏めるかもしれません。
最後までお読み頂き、どうもありがとうございましたぁ。 (*^O^*)

P.S. また、Transposhのための英訳作業が大変です! orz


2021.07.27 更新

プラグインのまとめです。無効化中のプラグインも含まれますが、現在、本Webサイトでは、以下のプラグインをインストールしています。(グレーアウトは無効化プラグイン、取り消し線は削除済み)

  1. Advanced Ads
  2. Advanced Editor Tools (formerly TinyMCE Advanced)
  3. Akismet Anti-Spam
  4. XO Featured Image Tools
  5. Auto Limit Posts Reloaded
  6. BackWPup
  7. Broken Link Checker
  8. Classic Editor
  9. Classic Widgets
  10. Code Syntax Block
  11. Compact Audio Player
  12. Contact Form 7
  13. Contextual Related Posts
  14. Cool Tag Cloud
  15. Database Cleanup (Plugins Garbage Collector)
  16. Display Posts
  17. Easy FancyBox
  18. Enable jQuery Migrate Helper
  19. Google Website Translator
  20. Google XML Sitemaps
  21. Gwolle Guestbook
  22. Highlighting Code Block
  23. iThemes Security
  24. hpb dashboard
  25. hpb seo plugin for WordPress
  26. Jetpack
  27. Markup (JSON-LD) structured in schema.org
  28. mb.miniAudioPlayer
  29. NewStatPress
  30. Optimize Database after Deleting Revisions
  31. PuSHPress
  32. Pz-Link Card
  33. Really Simple CAPTCHA
  34. reCaptcha by BestWebSoft
  35. Regenerate Thumbnails
  36. Site Kit by Google
  37. Social Media and Share Icons (Ultimate Social Media)
  38. Styles For WP Pagenavi Addon
  39. Theme Authenticity Checker (TAC)
  40. To Top
  41. Transposh Translation Filter
  42. UpdraftPlus
  43. WordPress Popular Posts
  44. WP Content Copy Protection with Color Design
  45. WP Crontrol
  46. WP Last Modified Info
  47. WP Maintenance Mode & Coming Soon
  48. WP Multibyte Patch
  49. WP Sitemap Page
  50. WP-Optimize
  51. WP-PageNavi
  52. WP Rollback
  53. 営業日カレンダー

2022.06.30 追記

付記 – WordPress の構築でハマった事

WordPress のシステムを構築する中で、私がハマった事を以下に列記します。WordPressの仕様を十分理解せずに開発を進めてしまうと、不可解な事象に悩まされてしまう事が良くあります。

(1) カスタム投稿の slug(URl) と同じ投稿タイプを作成すると、カスタム投稿のアーカイブページしか表示されなくなってしまう。
例えば、ギャラリーのカスタム投稿ページの slug を “gallery” とし、以下のように、 functions.php 内の register_post_type() 関数で投稿タイプも “gallery” として登録してしまうと、大変な事になってしまいます。

// 投稿タイプ「ギャラリー」をブロックエディタに適用
function regist_posttype_gallery(){
	register_post_type(
		'gallery',
		array(
		'label'         => 'ギャラリー',
		'hierarchical'  => false,
		'public'        => true,
		'has_archive'   => true,
		'supports'      => array(
		'title',
		'editor',
		'thumbnail',
		'comments'
		),
		'menu_position' => 5,
      		'show_in_rest' => true, // ブロックエディタ対応
		'menu_icon'     => get_template_directory_uri() . '/post-types/menu_user.png'
		)
	);
	register_taxonomy(
		'gallerycat',
		'gallery',
		array(
		'label'        => 'ギャラリーのカテゴリー',
      		'show_in_rest' => true, // ブロックエディタ対応
		'hierarchical' => true,
		)
	);
}
add_action( 'init', 'regist_posttype_gallery' );

ここで、ギャラリーのカスタム投稿ページを開くため、ブラウザで “https://homepage/gallery” を指定すると、ギャラリーのアーカイブページが表示されてしまいます。
どうやら、これは WordPress の仕様のようです。
よって、この事象を回避するために、カスタム投稿の slug を “photos” に変更する事で解決しました。

(2) 固定ページに対応するテンプレート・プログラムの変更方法が分からなかった
カスタム投稿ページのスラッグ “notice”, “photos” に対応するテンプレートのプログラム名が自動的に割り振られた “blog3.php”, “blog1.php” になっていて、判りづらかったので、本日、変更方法を調べてプログラム名を変更しました。
例として、 “blog1.php” を “blog_gallery.php” へ変更します。
テーマのディレクトリより、エディタで “blog1.php” を開き、3行目のコメント「Template Name: blog1.php」を以下のように、「Template Name: blog_gallery」と書き換え、 “blog_gallery.php” のファイル名で保存します。

<?php
/*
Template Name: blog_gallery
*/
get_header(); ?>

次に、WordPress において、以下のカスタム投稿 “photos” (固定ページ)の編集ページを開き、テンプレートのドロップダウンリストから、”blog_gallery.php” を選択し、固定ページを更新します。

以上のように、テンプレート・プログラムのコメント欄を書き換えるだけで、このドロップダウンリストに反映される仕様は盲点でした。
本当は、他にも色々あるのですが、挙げたらキリがなさそうなので、今回はこのくらいにしておきますね。😓

コメントを残す