タグ : wordpress

[WordPress] XML-RPC を無効にする

WordPress の XML-RPC を DoS 攻撃に悪用されることを知ったので、Nginx の設定を変更して XML-RPC を無効にしました。

/etc/nginx/conf.d/codenote.com.conf

server {
    # deny xmlrpc
    location = /xmlrpc.php {
        deny all;
    }

XML-RPC を無効にすると Nginx の error.log には下記のようなログが出力されます。

2015/07/12 21:49:31 [error] 11605#0: *815037 access forbidden by rule, client: 123.123.123.123, 
server: codenote.net, request: "POST /xmlrpc.php HTTP/1.1", host: "codenote.net"

以上です。


参考情報

[PHP-FPM] WARNING: [pool www] server reached pm.max_children setting (30), consider raising it

WordPress (Nginx + PHP-FPM) なサイトで Admin ページで Bad Gateway を頻発させていました。

Nginx のエラーログ

tail -F /var/log/nginx/codenote.net/error.log 

[error] 3029#0: *12410 connect() to unix:/var/run/php-fpm/www.sock failed (11: Resource temporarily unavailable) while connecting to upstream, client: 185.11.147.17, server: codenote.net, request: "POST /xmlrpc.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php-fpm/www.sock:", host: "codenote.net"

PHP-FPM のエラーログ

tail -F /var/log/php-fpm/error.log

WARNING: [pool www] server reached pm.max_children setting (30), consider raising it

エラーログに書いてあるように pm.max_children の設定値の上限に達しているので設定値を上げて解決させましょう。

# vim /etc/php-fpm.d/www.conf
# 30 で上限に達していたので適当に 50 に上げてみましょう
 
pm.max_children = 50

設定変更した後、PHP-FPM を reload して設定を反映させます。

service php-fpm reload

再度 tail -F /var/log/php-fpm/error.log でエラーログを監視して WARNING メッセージが表示されなくなったら解決できたと思います。

まだ WARNING メッセージが表示されていたら、更に pm.max_children を 60, 70 と上げていってメッセージが出力されなくなるまで調整しましょう。

[WordPress] Twitter Card を Twitter 公式プラグインを利用して導入する方法

WordPress に Twitter 公式プラグインを利用して Twitter Card を導入する方法をご紹介します。

Twitter card の導入手順

Twitter card を WordPress に導入する手順はとてもカンタンで作業はたったの3つだけです。

  1. Twitter WordPress Plugin をインストールする
  2. Twitter プラグインの設定ページに「Twitterのユーザー名」を設定する
    twitter-wordpress-plugin-setting
  3. Twitter Card Validator で正しく設定されているかチェックする

    twitter-card-validator-1

    twitter-card-validator-2

    twitter-card-validator-3

※ 以前は、事前に Twitter card を申請する必要がありましたが、今は申請する必要がないようです。

今は Twitter 公式プラグインのおかげでカンタンに Twitter card を設定することができるので、まだ設定してない方はこの機会にぜひ設定してみてはいかがでしょうか?


参考情報

[WordPress] モバイル端末向けの使いやすいテーマ Hew

WordPress の無料テーマ Hew がモバイルサイト向けに使いやすそうなのでご紹介します。

hew-screenshot-main

サイトへの訪問者のほとんどがモバイル端末のケースだと、PC・モバイルのそれぞれテーマを用意するのは面倒なのでモバイルに特化したいということが最近増えてきました。そんなとき Hew のようなレスポンシブデザインのテーマを使うことで、とかなり作業時間を短縮できてすごく助かってます。

レスポンシブデザインの WordPress テーマはたくさんありますが、Hew は PC とモバイルで大きくレイアウトに変更が変わらない軽めのレスポンシブデザインという点が個人的にポイント高いです。

[WordPress] カテゴリ名を被リンク(外部リンク)文言に使うサンプル

WordPress で、カテゴリ名を被リンク(外部リンク)文言に使うサンプルをご紹介します。

<?php
  $current_categories = get_the_category();
  $main_category = $current_categories[0];
?>
 
<a href="http://example.com" target="_blank" >
  <?php echo $main_category->name; ?>の◯◯なら✕✕におまかせ
</a>

カテゴリーを決めで1つ取得して、そのカテゴリ名を a タグのリンク部分の文言に使っています。


参考情報

WordPress 現在のカテゴリーIDやカテゴリー名、スラッグ、説明文、親カテゴリー等を取得表示する方法 | Stronghold

[WordPress]「WP-OGP」のサムネイル画像 og:image を変更する

WordPress で Facebook OGP を設定するプラグイン「WP-OGP」のサムネイル画像をデフォルトから変更しました。

まず、wp-content/plugins/wp-ogp/default.jpg を上書きするだけでサムネイル画像を変更できるとのことだったので、これを試してみました。

Facebook Debugger Tool でキャッシュをちゃんと消すところまではできたのですが、実際に Facebook 上でシェアするとデフォルトの画像のままでした。

結局、下記のようにファイル名を変更する方法で対応しました。


WP-OGP サムネイル画像の変更手順

  1. 新しくサムネイルに使う画像ファイル codenote-net-200×200.jpg を wp-content/plugins/wp-ogp/ 以下に設置する
  2. wp-content/plugins/wp-ogp/wp-ogp.php 内の wpogp_image_url_default メソッドで返す画像Pathを下記のように変更する
    function wpogp_image_url_default() {
            // default image associated is in the plugin directory named "default.png"
            //return wpogp_plugin_path() . '/default.jpg';
            return wpogp_plugin_path() . '/codenote-net-200x200.jpg';
    }
  3. Facebook Debugger Tool でキャッシュを削除する

以上です。


参考情報

Facebook「OGPの画像は1200px幅で」えぇ? 大きすぎない? しかも横長推奨? | Web担当者Forum

[WordPress] WP Super Cache の WPTouch エラーの解決方法

WordPress のキャッシュプラグイン「WP Super Cache」と「WPTouch」を共存させようとするとエラーが発生します。

エラーメッセージ

WPTouch plugin detected! Please go to the Supercache plugins page and enable the WPTouch helper plugin

解決方法

「設定」→「WP Super Cache 設定」→「プラグイン」にて、「WPTouch」の項目を有効にして、更新ボタンをクリックします。

これで、エラーメッセージは消えて、PCとモバイルで別々に WP Super Cache のキャッシュを作成してくれるようになります。


参考情報

WPTouchとWP Super Cacheのエラーを消す方法 | とりせどどっとこむ

[WordPress] 管理画面の言語設定をユーザ毎に日本語・英語にカンタンに切り替えられるプラグイン「Bogo」

WordPressの管理画面の言語設定を、ユーザ毎に日本語・英語にカンタンに切り替えられるプラグイン「Bogo」が便利だったので、ご紹介します。

WordPress › Bogo « WordPress Plugins

「Bogo」をインストールして、プラグインを有効化すると管理画面のツールバー右上付近に「日本語」「英語」の切り替えメニューが設置されます。

bogo

ここから言語設定を切り替えられるというとてもシンプルな機能です。

設定もユーザによって、日本語表示、英語表示の設定を分けることができるのは、共同編集する際にかなり便利ですね。

海外に記事執筆などをアウトソーシングする際に、このプラグインは重宝するのではないでしょうか。

[WordPress] 記事を複製できるプラグイン「Duplicate Post」

WordPressの記事を複製できるプラグイン「Duplicate Post」が便利だったので、ご紹介します。

WordPress › Duplicate Post « WordPress Plugins

Duplicate Postの使い方

インストールは、WordPressの管理画面から「Duplicate Post」でプラグイン検索して追加するだけでOKです。

プラグインをインストール後、有効化すると、記事一覧の画面に「Clone」と「New Draft」という項目が追加されます。

各機能について下記のとおりです。


Clone

記事を複製して、下書き保存することができます。

New Draft

記事を複製して、そのまま記事編集画面を開くことができます。


まとめ

すごくシンプルで使いやすい Duplicate Post はかなり重宝しそうです。

参考情報

記事を複製できるWordPressプラグイン「Duplicate Post」 | ワードプレステーマTCD

[WordPress] wp-syntax に指定できる languages 一覧

WordPress の wp-syntax というプラグインで指定できる languages の一覧をメモ。

LANGUAGE一覧

abap, actionscript, actionscript3, ada, apache, applescript, apt_sources, asm, asp, autoit, avisynth, bash, bf, bibtex, blitzbasic, bnf, boo, c, c_mac, caddcl, cadlisp, cil, cfdg, cfm, cmake, cobol, cpp-qt, cpp, csharp, css, d, dcs, delphi, diff, div, dos, dot, eiffel, email, erlang, fo, fortran, freebasic, genero, gettext, glsl, gml, bnuplot, groovy, haskell, hq9plus, html4strict, idl, ini, inno, intercal, io, java, java5, javascript, kixtart, klonec, klonecpp, latex, lisp, locobasic, lolcode lotusformulas, lotusscript, lscript, lsl2, lua, m68k, make, matlab, mirc, modula3, mpasm, mxml, mysql, nsis, oberon2, objc, ocaml-brief, ocaml, oobas, oracle11, oracle8, pascal, per, pic16, pixelbender, perl, php-brief, php, plsql, povray, powershell, progress, prolog, properties, providex, python, qbasic, rails, rebol, reg, robots, ruby, sas, scala, scheme, scilab, sdlbasic, smalltalk, smarty, sql, tcl, teraterm, text, thinbasic, tsql, typoscript, vb, vbnet, verilog, vhdl, vim, visualfoxpro, visualprolog, whitespace, whois, winbatch, xml, xorg_conf, xpp, z80

[参考]

Wp-syntax | AB型ITエンジニアのブログ