【WordPress】テーマのセキュリティとコード品質がチェックできる「Themecheck.org」を使ってみた

20170511_01
Pocket

WordPressのテーマは国内、海外で作成されて公開されているものがたくさんあります。

せっかくたくさん公開されているテーマがあるので色々使って試してみたくなります。

しかし、落とし穴もありWordPressのテーマにもセキュリティの脆弱性が含まれていたりマルウェアが仕込まれていたりコード品質が悪いためにwebページの表示が無駄に遅くなったりカスタマイズが難しかったりします。

このような部分はテーマの見た目だけではわからない部分なんですよね。

今回は、表面的にはわからないWordPressのテーマのセキュリティとコード品質がチェックできる無料のWebサービスの「Themecheck.org」の使い方です。



 

「Themecheck.org」とは?

「Themecheck.org」とは、WordPressのテーマのセキュリティとコード品質がチェックできる無料のWebサービスです。Joomlaのテーマにも対応しています。

Webサイトの言語は英語(フランス語にも切り替えれる)であり、日本語ではないですがテーマファイル(zi形式)をアップロード⇒評価(点数及び詳細)と簡単に使えるために英語が読めなくても割と簡単に使えます。

 

Webサイトの管理者向けの場合

20170511_02

 

WordPressのテーマを見つけてインストールしようと思ったときにThemecheck.orgを使ってテーマをチェックするといいですね。有料で販売されているテーマでも他にその有料のテーマをチェックにかけた方の履歴が残っている場合があるため、購入する前にまず検索して調べておくと安全です。

特に海外テーマだと有料のものでもマルウェアが含まれているものがあったりするため、購入後になって泣きを見ないためにもちゃんと調べておいた方がいいです。

 

テーマの開発者向けの場合

20170511_03

 

作成したテーマのコード品質をチェックできます。通知・警告・エラーがないことやテーマに必須の機能があるかなどをチェックしてもらうことができます。

足りない部分やエラーなどもどういう部分がダメなのかが結果に表示されるため、それを見て修正することができます。

 

テーマファイルをまるごとzip形式でアップロードしてチェックするため、機密情報が含まれる場合は念のため機密情報の部分を削除してアップロードしてするなどの配慮はしておいた方がいいです。

 

「Themecheck.org」を使ってみました

実際にどんな感じに評価されるのかを調べるためにTONOSTで使っている海外テーマ「Flat」をチェックにかけてみました。

 

「Themecheck.org」でのテーマチェックの方法

 

20170511_01
http://themecheck.org/
 

上記 URL からサイトにアクセスすると TOP ページからすぐにチェックをすることができます。

今回は、「Flat」と検索して探してみました。

直接アップロードする場合は「SELECT FILE.ZIP」からアップロードできます。なお、下にある「Forget uploaded data after results」と書いてあるチェックボックスにチェックを入れるとthemecheck.orgのサーバーにデータは保持されない(及び検索結果に出ない)ようにできるため、自作テーマはデータを保持されないようにチェックを入れるべきですね。

 

20170511_04

検索結果から、上記赤枠に該当のテーマを見つけました!

どうやらバージョンごとに管理されているようですね。

 

20170511_06

 

結果は、「96点」と高得点でした!とりあえず一安心です。ただし、4つの警告があるようなので、次の項目にて警告の内容を確認してみます。

 

なお、点数に関してはThemeforestという海外のテーマ販売サイトにあるものはそちらでの点数でも評価が出るようです。ThemeForestでのチェックは人間によってチェックされ、検証ルールがthemecheck.orgよりも許容性が高いためにより点数が高めに出るようです。

他にもテーマに関する様々な情報が表示されています。

 

警告の内容を確認してみました

いくつか警告が表示されていましたので警告の内容がどういったものなのかを一つづつ確認していきます。

 

20170511_07

 

theme tags : Presence of bad theme tags

theme tags : Presence of bad theme tags

The tag black has been deprecated, it must be removed from style.css header.
The tag orange has been deprecated, it must be removed from style.css header.
The tag white has been deprecated, it must be removed from style.css header.
The tag white has been deprecated, it must be removed from style.css header.
The tag dark has been deprecated, it must be removed from style.css header.
The tag light has been deprecated, it must be removed from style.css header.
The tag responsive-layout has been deprecated, it must be removed from style.css header.
The tag photoblogging has been deprecated, it must be removed from style.css header.

 

要約すると、「black」、「orange」、「white」、「white」、「dark」、「light」、「responsive-layout」、「photoblogging」、というテーマタグは現在は削除されていて使えないため style.css のヘッダから削除してくださいとのこと。あれ、「white」の記述が被っているぞ??

テーマのスタイルシートの style.css のヘッダの記述(テーマ詳細が書いてある部分)を確認してみます。

 

Tags: black, orange, white, white, dark, light, two-columns, responsive-layout, left-sidebar, custom-background, custom-colors, custom-menu, editor-style, post-formats, custom-colors, translation-ready,featured-images, threaded-comments, translation-ready,photoblogging

 

「white」の記述が被っているのは style.css への記述が重複しているミスですね。

 

参考: WordPress.org:Theme Tags
https://make.wordpress.org/themes/handbook/review/required/theme-tags/

 

上記参考ページで現在使えるテーマタグの情報が記載されており警告を受けているものは現在は使えないようです。

テーマを作った時にはあったけどいつの間にか削除されてたってことなんでしょうね。

んじゃこの使えないテーマタグの記述は削除しちゃってもいいか?というと・・・削除しても警告を受けなくなるだけだと思われるのでわざわざ削除する必要はないですね。

 

ちなみに、テーマのスタイルシートのテーマ詳細の記述は以下のような記述になっています。

参考: WordPress CODEX:テーマスタイルシート
https://wpdocs.osdn.jp/%E3%83%86%E3%83%BC%E3%83%9E%E3%81%AE%E4%BD%9C%E6%88%90#.E3.83.86.E3.83.BC.E3.83.9E.E3.82.B9.E3.82.BF.E3.82.A4.E3.83.AB.E3.82.B7.E3.83.BC.E3.83.88

 

Text domain : Incorrect use of translation functions.

Text domain : Incorrect use of translation functions.

More than one text-domain is being used in this theme. This means the theme will not be compatible with WordPress.org language packs. The domains found are flat, tgmpa.

複数のテキストドメイン「flat」、「tgmpa」が使用されているという警告ですね。

テキストドメインって何??と思いますが、 テキストドメインとは、翻訳すべき文字列を取得するために必要になるテーマやプラグインごとにユニークな識別用のIDのようなもので、それが「flat」、「tgmpa」と複数存在しているということですね。

「flat」は分かるにしても、「tgmpa」とは何だろうか・・・。

気にはなりますが、これに関してはちょっとわからないですね。もしかしたら誤検出の警告の可能性もあるかもしれません。

テーマに使われているファイルをしっかり調べていけば分かるかもしれませんので、時間があるときに調べて分かったら追記します。

 

なお、テキストドメインについてもう少し詳しく知りたい方は以下の参考サイト様の内容を参照してみてください。

参考: 自作WordPressテーマの国際化(翻訳)の方法:テキストドメインとは?
http://welcustom.net/internationalize-wordpress-theme/#2

 

Custom elements : Presence of custom header

Custom elements : Presence of custom header

No reference to custom header was found in the theme.

テーマにカスタムヘッダーへの参照が見つかりませんという警告ですね。

カスタムヘッダーとはテーマにヘッダー画像を挿入できる機能ですね。

このテーマではデザイン的にヘッダー画像を入れる必要がないためにこの機能を付けなかったと見られます。

 

20170511_08

 

「WordPress管理画面」⇒「外観」⇒「カスタマイズ」からもカスタムヘッダーの機能がないことを確認しました。

機能があれば、「ヘッダー画像」などという名前の項目があります。

 

カスタムヘッダーの機能について詳しく知りたい方は以下をご参照ください。

参考: WordPress CODEX:カスタムヘッダー
https://wpdocs.osdn.jp/%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%E3%83%98%E3%83%83%E3%83%80%E3%83%BC

 

Screenshot : Screenshot file

Screenshot : Screenshot file

Screenshot size is 880x660px. Screenshot size should be 1200×900, to account for HiDPI displays. Any 4:3 image size is acceptable, but 1200×900 is preferred.Bad screenshot file extension ! File screenshot.png is not an actual JPG file. Detected type was : “image/png”.

 

要約するとテーマのスクリーンショットのファイルはHiDPIディスプレイを考慮して「1200×900」ピクセルが望ましいが「880×660」となっている。
「4:3」の画像サイズは許容はされるが「1200×900」ピクセルが優先される。
スクリーンショットのファイルはJPGファイルが望ましいが、screenshot.pngと、PNGファイルが使われている。

こういう部分まで警告されるんですね。

 

まとめ

新しいテーマを使う時は今後はしっかりと「Themecheck.org」にてチェックしてから使うべきだなと思いました。

できるだけ90点以上で評価されるテーマを使用するといいと思います。

実際、「96点」で評価された今回調べたテーマに対して出された警告もたいした警告はなかったので。

 

プラグインでもテーマチェックができるものがあるようなので、そちらも試してみようと思います。

 

今後、「0点」で評価されるような実際にマルウェアが含まれている可能性があるテーマのエラー内容も調べてみようと思います。

 
 



Pocket

コメントを残す

メールアドレスが公開されることはありません。