カテゴリー別アーカイブ: WordPress

WordPress Popular Postsが3.0になり実用に耐えるようになったというか

ブログのサイドバーなどによくある、「人気記事」といったような内容のリンク集を作るためのプラグイン。WordPress Popular Postsというものがあるのだけれど、このプラグインはとりあえずWordPressサイトを立ち上げたら必ずインストールしておく程度には重宝している。
勿論このブログにもインストールしてある。「人気記事」的リンク集は表示していないのに、このプラグインの意味があるのかという疑問が湧くかもしれないが、このプラグインをインストールしておくと、設定ページで各ページ毎のアクセス数を24時間単位、1週間単位、1ヶ月単位、累積といったように記録・表示してくれる。したがって、現在ブログでホットエントリになっている記事はどれなのかとか、それがここ1ヶ月の傾向と比べてどうなのかとかのチェックが一発で行える。
そういったことは、Google Analyticsでもインストールしてチェックすれば良いのではと思われるかもしれないが、URLとアクセス数の組ではなく、標準で記事名とアクセス数を突き合わせて表示してくれるというところが大変便利なのだ。

これまでのWordPress Popular Postsの数字は不正確

ただ、ブログの運営期間が長くなってくると、どうしてもスパムコメントが付き易くなる。そしてこれまでのWordPress Popular Postsでは、特定記事に向けてスパムコメントをつけにくるbotや、検索エンジンのbotなどもアクセス数としてカウントしてくれてしまっていた。したがって、明らかにあり得ない数の閲覧数になっている記事が出てきてしまい、そうした”ホットエントリ”以外の閲覧傾向を捉える程度にしか使えなかった。ましてや、人気記事表示機能も使うのであれば、スパムが多くついた記事が人気記事として居座ってしまっていたことだろう。使用に耐えないという評価をして外してしまった人も多いに違いない。

一見人気サイトに見える

一見人気サイトに見える

WordPress Popular Posts 3.0で、bot detectionがついた

数日程前に、これまでの2.xから3.xへとヴァージョンアップが行われたのだが、そこで新機能としてbot detectionがついた。これにより、おそらく正確であろうと思われる、現実的な数字が表示されるようになった。知らずにアップデートすると、急にアクセス数が減ったように見えて大変驚く。

やった!過疎サイトに

やった!過疎サイトに

そのため、botのカウントが嫌で一度アンインストールしてしまった人も、入れ直して良いタイミングではないかというお知らせでした。


WordPressテーマ変更に伴う記事のルート見出しレベルの変動を吸収するプラグイン WP hn Convert

随分前に愚痴った、WordPressのテーマを変更すると記事のルート見出しレベルが変動し、過去記事資産が活かせないという問題。この問題がまだ根本的解決に至っておらず、古いWordPressサイトを新しいテーマに移行する際には常に悩まされている。
公式がTwenty Twelveを出してきて以降は、テーマ制作者の暗黙の了解として記事タイトルがh1、記事内で最もレベルの高い見出しがh2というように揃えてきているように思う。これは記事に対してHTML5のセマンティックを結びつける場合、記事部分で新しくセクショニングコンテンツ(article)を始めるというのが合理的だからであろう。あるいは、SEO対応を売りにするWordPressテーマなどでは、single.phpにおける最初のh1を記事タイトルに充てているため、不都合なく記事資産を共有できるようになっているのである。

the_content()をラッピングする方法

一方、記事を出力するタイミングで見出しにテキスト処理を噛ませるという方法があり、こちらはWP hn Convertというプラグインを配布されている方がいる
このプラグインを導入し、テーマ中のthe_content()の記述部分を全てthe_hn_converted_content(数字)とすると、数字で指定した分だけ見出しレベルを移動してくれる。たとえば記事タイトルをh2にして書かれたテーマをh1からにするには、the_hn_converted_content(-1)のようにすると、以下の見出しh3をh2、h4をh3というように全体的な見出しレベルに変動を与えてくれるのである。

でも根本的な解決ではない

このプラグインで対処することも可能なのだが、そうすると記事を書く側としてはルート見出しレベルをこれまで通りのレベルにし続けなければならない。
また、試していないので何とも言えないのだが、たとえばコードスニペット中に書かれたhtmlの見出しレベルにも適用されてしまうのではという危惧もある。通常の日記ブログなどでは問題が無いだろうが、技術系のブログにとっては大きな問題となってしまうのではないか。
ということで、上手い解決法がないかと依然悩んでいる。データベースを直接たたいて置換というのも、怖い話だなあ。


WordPress 3.8と新デフォルトテーマTwenty Fourteen

最近、妙に生き急いでいる感まであるWordPress。WordPressでブログを運営していると、本体のアップデートがリリースになったので更新しろとの注意が頻繁に表示される。そのうちに週刊WordPress状態に移行してしまうのではないかという危惧もあるのだが、とりあえずはへいへいと言いなりになって更新ボタンを押している。

今回12月12日にリリースされたヴァージョンは、3.8。WordPress3.7のリリースが10月で、当ブログでも言及した3.6のリリースが8月。3.5が去年の12月であるため、サイトによっては2013年中に3度のアップデートを経験することになるかもしれない。

リデザインされた管理画面

今回のアップデートの主な変更点は、まず管理画面のリデザイン。3.6でも、投稿画面にリビジョン表示・アイキャッチ表示が追加されたり、3.7では投稿フォーマットの指定欄追加など、機能の継ぎ足し継ぎ足しが行われ(その都度新しく覚え直し…)てきたわけだが、今回の変更はそれらとは異なる、リデザインになる。まあ、WordPress.comでは先行実装されていた管理画面なので、見覚えがある方も多いかもしれない。MP6プラグインとしてレビューされていたものだ。
管理画面自体がフラットなデザインになり、スマートフォンなどのデバイスとの相性が良くなった。これは人によっては、これまでのデザインの方が良かったと感じるかもしれない。テーマの選択画面は、Thx38プラグインとしてレビューされていたものを採用し、こちらもこれまでの選択画面に慣れているとやや戸惑うだろう。
期待されていた、コンテンツの串刺し検索であるGlobal Admin Searchはまだ標準実装には至っていない。プラグインとしては同名で配布されているので、WordPress3.5以上のヴァージョンのユーザは先んじて試してみるのも良いかもしれない。

新デフォルトテーマTwenty Fourteen

WordPress3.6のデフォルトテーマ、Twenty Thirteenでは、それまでのデザインを覆すフラットデザインと、レスポンシブの徹底化、WEBフォントの採用など大きな変更があった。そして、ユーザがTwenty Thirteenに慣れる間もなく、3.8では新デフォルトテーマのTwenty Fourteenが登場することとなった。

Twenty Fourteen

Twenty Fourteen

これまでのデフォルトテーマでは、トップにヘッダ画像があり、その下のブロック要素に水平メニュー・サイドバーを含むカラム要素を詰め込むというデザイン。それに対して、Twenty Fourteenでは水平メニューが上部固定でスクロールの影響を受けないように、記事部分はヘッダ画像の幅に左右されず広々と幅をとり、幅1007px以下のウィンドウサイズで早々とサイトバーが下部に落ちてしまうようになった。
感覚的には、wrapperを取り払ったイメージというべきか。近頃のOSXなどが推しているフルスクリーン表示を行っても、間抜けにならないデザインとして考えられているのかもしれない。是非テーマのデモサイトでググっとウィンドウサイズの変更を試されたし。

今回のアップデートで、混乱するライトユーザも相当数出そうだというのが率直な感想。惰性でWordPressを使っている層がどう動くだろうか、多少の波乱に期待してみたり。

(2013.12.18追記)
WordPress3.8日本語版をインストールしたのだが、管理画面のアイコンのうちいくつかが文字化けしてしまうという現象が発生した。

WordPress3.8 文字化け

WordPress3.8 文字化け

公式では、WordPress3.8管理画面の文字化けはプラグインWP Multibyte Patch1.9のインストールで解決するとアナウンスしているのだけど…
WP Multibyte Patchの最新版インストールでは解決せず。WEBフォントの使用に疎いのだが、環境依存の壁を取り払うことを目的としたWEBフォントが化けてしまうということはあり得るのだろうか?

(さらに追記)
ブラウザ再起動で解決。WEBフォントが化ける可能性について、原因を調べてみようと思います。


スパムコメントが3日で1万件以上…

開設より5年近くなる当サイトだが、ここのところこれまでに無かった頻度でスパムコメントが付くようになり、その処理に手こずらされている。

前回の投稿で紹介したように、スパムコメント対策としては、場合により有料となってしまうWordPress推奨のプラグインAkismetではなく、Spammer Blockerというプラグインを入れて対策をとっている。このプラグインはスパムコメントのブラックリストを作成し、同じコメント元からのコメントをブロックしてくれるというものだが、こうした仕組みを導入してなお、リストをかいくぐって悪質な宣伝コメントが付くのだ。その数、3日で11000件。
コメントのほとんどが似たような文章で偽ブランド品の販売業者のリンクを貼ったものであり、ただコメントの発信元のIPはそれぞれ異なっているのでたちが悪い。リストの意味も無くなってくる。

一応、WordPress側の標準機能としてコメントのフィルタリングも可能になっている。たとえば特定単語を含んだコメントを表示しない、リンクを含むコメントを非表示、ユーザ登録しないとコメントを受け付けない、そもそもコメント自体を受け付けないなど。

いずれの解決法も決定的ではない。記事に対する意見のコメントなどを見落とさず、かつスパムによる支障のないブログ運営が出来る方法を探さなければならない。

まあ、近頃更新が滞っていたのはまたそれとは別の理由。


WordPressのスパムコメント対策 Spammer Blocker

WordPressのブログを長く運営していると、投稿に対して無関係なスパムコメントが大量につくようになる。その数たるや、当ブログのような零細ブログであっても1日に数十件、多い時は100件を超える程になる。
これらのスパムコメントを、コメント欄に無条件に表示するようにしてしまっていては、ブログの訪問者に管理されていないサイトであるとの印象を与えるし、また検索エンジンからもスパムリンクを放置しているサイトということで、低い評価をもらってしまう。つまりSEO的にもかなり問題がある。
そこで、コメントはまず承認制にして、スパムコメントでないコメントを管理者のチェックにより表示させるようにしなければならない。でも、日に100件のコメントをいちいちチェックするのは面倒極まりない。

標準でついてくるAkismetプラグイン

WordPressの配布元もスパムコメントの問題については把握しており、いちいち人間の目を通してスパムチェックを行わなくても良いように、自動判別してくれるプラグインが付属している。それがAkismetで、ダッシュボードのプラグイン>インストール済みプラグインから勝手にインストールされていることが確認できる。
Akismetを有効にするには、インストール済みプラグインから有効化を選ぶだけでは不十分だ。Akismet API keyというものを、リンクから飛んで取得しないと行けない。そして(一応申告制なのでごまかせるのかもしれないが)ビジネスユースの場合には有料でキーを取得しなければならない。ということで、運営ブログがビジネスユースなのかそうでないのか判別がつきにくいケースなどでは、有料プランにするべきか不明瞭なこともあり、どうも導入に消極的になってしまう。

特定IPからのコメントをスパム判定する

そこで、Akismetを導入しないでもスパムチェックの手間を省く方法を考える。一日に100件のスパムコメントの中には、似たような内容のものが多いということに気付くだろう。実際、コメント元のIPアドレスは100種類も無く、同一IPアドレスからのスパム投稿が多い。つまり、IPアドレスのブラックリストを作ってしまい、リストに当てはまる投稿者のコメントをスパムに振り分けるようにしてしまえば良いのである。

特定IPをブラックリストに放り込むには、ダッシュボードの設定>ディスカッションでディスカッション設定のページに移動、コメントブラックリストという入力フィールドにIPアドレスを列挙すれば良い。単語の一致でも指定できるので、スパムコメントにありがちなブランド名等でもフィルタリングが行える。

コメントブラックリスト

コメントブラックリスト

IPアドレスは、スパムコメントの下に書いてある、192.168.0.0のような数字である。ただ、これをいちいち控えて、ブラックリストに加えて…という作業は面倒臭い。

Spammer Blockerプラグインを使う

そこで、コメントの一覧からスパム認定を行ったコメントのIPを自動で記録し、次回以降そのIPからのコメントはブロックするという挙動のプラグイン、Spammer Blockerを使うと便利である。
インストールはダッシュボード>プラグイン>新規追加から行えばよい。
インストールして有効化すると、一度スパム認定を行ったIPからのコメントをブロックする。スパム認定を行うわけではなく、そもそも投稿自体をブロックするので、スパムコメントがデータベース上に増えていくこともない。

なお、このSpammer BlockerによってブロックされているIPは、前段で説明したコメントブラックリストに蓄積される訳ではなく、独自のデータベースに貯まっていくことになる。ダッシュボード>設定>Spammer Blockerから設定画面が見られるが、Banned IP addressというセクションに一覧があるので、スパム認定の解除や管理などはここで行えば良い。

このプラグインを導入してからというものの、スパムコメントが多くても1日5件くらいまでに抑えられるようになった。つまり、1日5件くらいまでは新しいアドレスからスパムが来ていたということになるのだが、完璧なブロックを志すなら、コメントブラックリストやAkismetと組み合わせて対処するしかないのだろう。


WordPress.comでTwenty Thirteenを試す

WordPressのサイトを新しく始めようと思った時、まずレンタルサーバを借りて、WordPressを手順通りインストールして…というような手続きが必ずしも必要というわけではない。というのは、WordPress.comという公式が提供するASPが存在するからだ。WordPress.com(日本語版)

このサービスに登録すると、×××.wordpress.comというアドレスが貰え、不要なインストールをせずにWordPressのブログページが作成できる。勿論、広告が多少入り、また完全版より機能が劣っているという制限はあるのだが、少しの気まぐれで思いついたサイトを実現するには、手軽で丁度良い。WordPress形式なので、本格的にサイトを始動しようと思った時は、データベースのエクスポートをして移行すれば良い。

私はTwenty Thirteenを見た。

このWordPress.comだが、デフォルトのテーマ選択肢の中に、Twenty Thirteenが入っている。最近Twenty Twelveが正式版になったばかりだという印象もあったのだが、何とも気の早いことで、ベータヴァージョンというわけでもなく使えてしまうのである。各所で話題になっているようだが、今回のデフォルトテーマの見た目は非常にポップである。

Twenty Thirteen見た目

Twenty Thirteen見た目

これまでのものと比べ、アクの強さもかなりある。きっともう増やす機能がなかったので、メジャーリリースのインパクトを損じないようにデザインを大きくいじったのだろう。

おそらく、最大の目玉機能となるのは、WEBフォントの全面採用。アイコン類もフォントにすることで、真にスケーラブルな、レスポンシブデザインに近づけたということなのだろう。まあ、正直時期尚早だと思っているのだが、これまでも、WordPressが先進技術を積極的に採用してきてくれたおかげで、それらの技術がWEB標準に育っていったという経緯を見ているので(HTML5やレスポンシブデザインね)、諸手を上げて歓迎しておこう。

で、WordPress.comは実用に足るのかということだけど、プラグインが使えない。この時点で、選択肢から外れてしまう。ただ、WordPressの事が何も分からないという人に手っ取り早くブログを作らせるには、インストールもいらないWordPress.comを勧めておけば良いということだろう。


WordPressプラグイン WP Social Bookmarking Lightを導入 

今更ながら、世間で流行っているtwitter、Facebookのユーザにおいでおいでをするため、ツイートするボタンやいいね!ボタンをブログ記事につけられるプラグインを入れてみた。WP Social Bookmarking Liteという、日本では非常にポピュラーなプラグイン。

何故導入するに至ったかというと、数年前と比べてこのブログ(前身は2010年からですので、もう4年経ちましたか)に他ブログからリンクが貼られることが少なくなり、たまに貼られるリンクはtwitterやFacebookのものが多くなってきていたもので。おそらく、以前ネット上でどこか他のページのコンテンツを紹介する際に行われていた、URLコピー&ペーストという儀式が廃れ、全てSNSのボタンをクリック→紹介という手順に変わってしまったのだろうと思われる。最早、URLという存在があるということも意識されていないかもしれない。twitterのタイムラインだけ眺めて、自分ではネットサーフィンをしないという利用もあるかもしれない。

で、導入の手順は、wordpressのプラグインメニューで検索して、インストールするだけなのだが、設定が独特だったので、少し解説をしておきたいと思う。

WP Social Bookmarking Light設定

設定画面

まず一般設定のタブで、SNSボタンの表示位置や表示非表示を決める。表示するものは、ウィジェットの登録と同じようにドラッグ&ドロップで左の枠に投げ込む。

スタイルのタブは、CSSをいじる画面。その隣から先ほど登録したサービスごとの設定画面になるが、言語設定が選べるので、国粋主義者なら日本語を選ぼう。もし志賀直哉ならば、フランス語を選んでも良い。

以上で、記事中の決めた位置にボタンが出るようになる。まあ大抵のテーマならデフォルトの位置で大丈夫だろうけど、見栄えが悪いようだったらCSSでmarginなどをつめるとよい。何故か全てのボタンを囲む.wp_social_bookmarking_lightというクラスのdivは、高さが指定されておらず、ボタンがはみ出している状態で表示されているので、marginをつけるのならばまずheightを指定しておかないといけない。それ以外は特に気をつけることはないだろう。

あと数年もすれば、ボタンを押す手間もなく念ずるだけでリンクが出来るようになるはずなので、それまでこのプラグインには活躍してもらおう。