WordPressテーマをEnfoldに変更

会社もお盆休みで少し時間に余裕ができたので、なんか手を動かそうと思い、WordPressのテーマを変更してみることにした。

これまではずっとSparklingを使っていたけど、飽きてきたのでこれを機に試しに有料のテーマを使ってみようと色々物色してみる。

国産だと、AFFINGER6かSWELLがよさそうで、このどちらかにしようと思っていたけど、他の人と被る可能性も高そうなので、海外モノも調べてみることに。海外で人気のあるテーマにすると、全世界的に見れば被りは多くなるかもしれないけど、日本ローカルで考えれば被りは少ないのではないかと。

結果、Enfoldというテーマがなんとなくよさそう。

https://enfoldtheme.info/

実際に使ってみないとなんとも言えないけど、価格は日本円で8000円程度なので試しに買ってみることにした。

早速、セットアップしてみる。個人的にはデザインがおしゃれな感じになったので、それだけでもよかったかなと。まだよくわかっていない部分も多いので、少しずついじってみるつもり。

WordPressのシンタックスハイライターをPrismに変更する

これまでWordPressのシンタックスハイライターにSyntaxHighlighter Evolvedを使っていたけど、ふと昔のページを見たらレイアウトが崩れていることに気がついた。これを機にもっといいやつないかなと探してみた結果、Prismに変更してみることに。

https://prismjs.com/index.html

プラグインじゃなくてJavaScriptファイルを直接組み込むタイプ。不要な言語はファイルセットから外すことができるので、ファイルサイズも小さくなり無駄がないのもいい。

備忘録として自分が選択したオプションをメモっておく。

Themes

  • Coy

Laguages

  • Markup + HTML + XML + SVG + MathML
  • CSS
  • C-like
  • JavaScript
  • Bash+Shell
  • Git
  • Java
  • Perl
  • Python
  • Ruby
  • SQL

Plugins

  • Line Highlight
  • Line Numbers
  • Show Language
  • Toolbar

過去のページはこれから手動でちまちま修正していこうと思います。

Amazon Associates Link Builderで商品検索するとエラーになる

しばらく前からAmazonJSでAmazonから商品情報がとれなくなってしまいました。原因はなんとなく当たりがついていて、1月23日のPA-API利用ポリシーの変更によって、このブログからは売上実績がないために利用を停止されてしまったのではないかと思います。

じゃあどうするか、少し調べたところ、Amazonから純正のプラグイン Amazon Associates Link Builderというのが出ていて、これ経由だとPA-API利用ポリシーの影響は受けない、というのでこれに乗り換えてみることにしました。なお影響を受けない、というのはどこに記述があるかというと以下のヘルプです。

https://affiliate.amazon.co.jp/help/topic/t52/

また、発送済み商品売上が過去30日以内に発生していない場合、PA-APIをご利用いただけなくなる恐れがございます。
なお Amazon Link Builder(WordPressプラグイン)のご利用には影響はございません。

本題からそれますが、下記のプラグイン紹介ページ中に出てくるプラグインの名称もAssosiatesが入っている表記といないのが混在していてなんか雑さを感じますね。。

https://affiliate.amazon.co.jp/resource-center/how-to-use-the-amazon-link-builder-plug-in

で、さっそくインストールして商品検索してみましたが、以下のおなじみのエラーが出て検索できません。

You are submitting requests too quickly. Please retry your requests at a slower rate. For more information, see Efficiency Guidelines.

手動で1回しか実行してないのにtoo quicklyとはどういうことだよと突っ込みたくなります。エンターキー押すのがそんなに速いのかと。しばらく時間おいてもだめ(当たり前だ)だし、アクセスキーやトラッキングIDを変更してみてもダメです。

結論としては、多分、この純正プラグインもPA-API利用ポリシーの影響を受けているような気がします。Amazonサーバ側で純正プラグインからのアクセスかどうかチェックするのは、現実的に無理だと思うし。プラグインのソース読めばどういうリクエスト投げているかは明らかだから、それを真似して投げれば純正プラグインのリクエストと区別がつかないでしょう。

また、同じヘルプにはPA-API経由で売上実績を上げれば規制は解除されるとありますが、肝心のPA-API経由で商品リンクが作れないのに、どうやって売上あげるんだという完全に鶏と卵状態になっています。

まあ自分の場合は、商品画像出すためメインでアソシエイトを使っていて、紹介料は二の次なのでそれほど深刻な問題ではないですが、ちょっと困った感じですね。。

FeedlyからInoreaderに乗り換えてまたFeedlyに戻る

こないだ、とあるブログの過去記事を確認したくなったので、元サイトにアクセスしてみると読んだ記憶のない記事が結構あることに気がつきました。ん、これはフィードの取得漏れかなあと思い、Feedly、取得漏れ、あたりでググってみると日時は少し古いもののいくつかヒットするページも見つかります。さすがに取得漏れは困るなと思い、これを機にInoreaderに乗り換えてみることにしました。

Inoreader自体は以前から使っていて、Feedlyは会社で読む用、Inoreaderは趣味用(要は会社のPCで見るには抵抗あるサイト)という風に使い分けてきました。なので、乗り換えると言っても趣味用のものに統合するのではなく、会社で読む用専用として別にアカウントをとって使い分けることにします。面倒ですけど。

で、しばらく使っていたのですけど、上記のブログでやっぱりフィード漏れがあることに気がつきました。ここでようやくサイトのindex.rdfを確認してみたのですが、フィード漏れしていると思っていた記事はそもそもフィード配信してないことが判明(最初から確認しておけよという話ではありますが)。
ちなみにフィード配信してない記事は1,2つじゃなくて結構な量で、記事のカテゴリもまちまちなのでバグにしても意図的にやっているにしても説明がつきづらいです。

となると、Inoreaderに乗り換える必要はなかったということになりますが、しばらく使ってみた結果、やっぱりFeedlyに戻ることにしました。

理由は以下の2つです。

・全文配信していないサイトでも、Feedly側で全文取得してくれる場合がある
・記事の取得タイミングについて、サイト間のばらつきが少ない

大きいのは1つめのほうで、フィードに全文含まれていなくても、Feedly側で直接サイトにアクセスして全文取得してくれて、あたかもフィードが全文配信しているように見せてくれるんですよね。すべてのサイトでそうなっているわけではないので、アクセス数などなんらかの優先度で全文取得する/しないを決めているのだと思いますが。

最近は全文配信しないサイトも多く、RSSリーダーから元記事を開くためのワンアクションが余計に感じることが多いのでこの振る舞いは非常に便利です。ちなみにInoreaderは一切、全文取得はしてくれません。フィードをそのまま表示するだけです。当たり前といえば当たり前ですが。

2つめは、記事の取得タイミングの話で、Inoreaderはサイトによって数分から1日以上とかなりばらつきが大きいのですが、Feedlyは早くても遅くても数時間程度と平均的に安定している感じがします。まあ何を優先するかだと思うのですが、自分の場合は早さよりは遅くないほうが大事なので、Feedlyのほうがあっている気がしました。

他にもリスト表示にしたときに、Feedlyのほうが行の高さが小さいので、1ページあたりの情報量が多くて使いやすいとか、UI的にもよりシンプルなFeedlyのほうが好みだったりします。

zenbackの関連するタイトルにサイト名が混ざる

タイトルの通りなんだけど、このサイトではzenbackプラグインを使っていて、各記事の下の方に表示するようにしている。

で、いつの頃からかここの関連するタイトルの表示が、記事のタイトル+サイト名になってしまい、しかも区切り文字も何にもないものだから、例えば「今更ながら乃木坂46にはまるgraphite.log」のようにおかしな感じになってしまっていた。

いろいろ直そうと試みた結果、最終的にはez-zenback側を書き換えてしまった。ez-zenback.phpの166行目、

$title = trim(wp_title('', false));

$title = get_the_title();

に変更。wp_title()はテーマのtwenty twelve側でフックされてサイト名が付与されてしまうようなので、よりピュアなメソッドっぽい get_the_title()を使うことにした。両者の使い分けはよく理解していない。とりあえずこれでうまくいっている模様。