GutenbergでWPアソシエイトポストR2の挿入ボタンが反応しない問題

ふとWordPressでMarkdown記法が使いたいなと思い調べると、なんとWordPress 5.0から採用されたブロックエディタGutenbergなら標準で使えるとのこと。いままで何度か触りつつもしっくり来なくてClassic Editorに戻ってましたが、改めて真面目に取り組んでみるかと試用開始。

しかしいきなり問題にぶち当たる。Amazonや楽天の商品リンクを貼り付けるWPアソシエイトポストR2を使おうとするも、商品選択後の「挿入」ボタンが効かない。クリックしてもなにも反応がない。バージョンは執筆時点最新の4.1。

このボタンを押してもなにも無反応

WPアソシエイトポストR2 自体は専用ブロックまで提供しているくらいでGutenbergにはバッチリ対応済み。さすがにこれだけメジャーなプラグインがバグ持ちであるとは考えづらく、ウチの環境の問題だろうと。なにかのプラグインとバッティングしているのかな。

開発者ツールでJavaScriptのコンソールをみてみると、クリックした瞬間にこんな感じのエラーを吐いていました。

Uncaught ReferenceError: wpActiveEditor is not defined quicktags.min.js?ver=5.8.1:2
挿入ボタンを押した時のエラー

とのこと。quicktags.min.jsはググるとWordPress標準の機能クイックタグに関するスクリプトっぽい。wpActiveEditorというオブジェクトがないぞという感じのエラー。名前からして使ってるエディターがGutenbergかClassicかを取得するメソッドかプロパティでしょうか?ここで特定のプラグインを示す名前が挙がってくれると簡単だったんですが…

■なんとClassic Editorプラグインが原因だった!

WordPress 5.0以降でClassic Editorを継続して使用する時に使うそのまんまClassic Editorというプラグインを外したら正常に商品リンクが挿入できるようになりました。なんと、WPアソシエイトポストR2は新旧両エディターに対応しているものの、旧エディターと使い分けようとすると新エディターで不具合が起きる、ということでしょうか。ばっさり旧エディターを無効化して使うならば新エディターでバッチリ動くぞと。

うーむ、ざっと見た限りClassic Editorで作成した過去記事はClassic Editorプラグインが無効でも編集できるっぽいし、これから新規でClassic Editorを使った記事作成をしなければ問題なさげかな?しばらくこれで頑張ってGutenberg移行をしてみようかな。

docomo回線でIPv6シングルスタック接続を先行体験する

IPv6に対応したと言われて数年経つドコモ回線ですが、「接続先設備によってはIPv6アドレスが割り当てられない場合があります。」という一文があり、spモードでIPv6が振ってくるのを見たことがない神奈川県民です。IIJの中の人の調べによると、都内でひたすら機内モードを入り切りしているとつながることもあるらしいですが、逆にいえば一律のサービスとして保証はしておらず、設備更新したとこから順次提供という雰囲気で安定して使う方法はなさげ。世の中5Gの時代だというのに嘆かわしい。現状追加料金なしでIPv6を使えるのはソフトバンクかIIJmioなど一部のMVNOという感じぽいですね。

そんなドコモですが、一足飛びに2022年春からIPv6シングルスタックを導入する予定があるようです(以下IPv6SS)。IPv4/v6のデュアルスタックがまともに整備されないままv6オンリーになるということ。もちろんそれまでに世の中全てのサーバーがv4を廃止できるわけはないので、局設備側でIPv4-v6変換をして既存v4ネットワークとの接続も確保してくれるようです。光回線でIPv6 IPoEを使ってIPv4 over IPv6を提供しているようなことをモバイル回線でやるわけですね。そして各種サービス事業者向けに不具合がないか検証する用の先行確認用のAPNが2021年12月3日まで提供されています。

自鯖が正しく見えるかなどの検証も兼ねてちょっくら試してみました。iOSならば上記ページでQRコードを読み取ってプロファイルをインストールするだけ。モバイルルーターのSH-52Aは対応機種に載ってませんがAndroid用のAPN情報を自分で設定したら使えました。配下にWi-FiでつないだPCもきちんとIPv6になりました。

  • 当環境のご利用にあたっては、パケット通信料がかかります。
  • 当環境への接続により発生した通信料は、お客様ご負担となります。

などと書かれていますが、ギガホなどの対象外だよとかは明記されてないので大丈夫(対象内)じゃないでしょうか(ドキドキ)。

試した限りではIPv4通信も特に問題なくできている感じでした。自前サーバーのIPv6アドレスともばっちり通信可能でした。

一応PC(Wi-Fi6接続)から速度テストもしてみましたが、IPoEのようにIPv6経由だから速いという優位性はなさそう。下記の写真だけみるとspモードの方が速そうですが、計測する度にバラ付きが大きいのでなんともですが。ほぼ同じと言って良いと思います。IPv4サーバーへの速度目的で常用する価値はないでしょう。むしろ変換サーバーを経由しているのに遅くなっていないだけでも立派だと考えるべきでしょう。IPv6サーバーで速度を計測できるところが見付からなかったので未検証です。

spモード

IPv6SS

spモード

IPv6SS

一方、v6プラスなどのIPv4の開放可能ポートが制限される環境で、モバイルから自宅サーバーへのアクセスを確保したい人は今すぐ常用したいレベル。でも試験目的で開放されているAPNなので、常用するのは憚られますね。2022年春にどういう形で提供開始されるのかわからないですが(ある日全ユーザがIPv6SSになるのか、新機種や新規契約者から段階的にデフォルトAPNが置き換わっていくのかなど)、楽しみでなりません。

WXR-5950AX12の再起動問題に耐えかねてネットワーク環境見直し

昨年引っ越した我が家のネットワーク環境はドコモ光+オープンサーキットのv6プラス環境です。

前居ではYAMAHAの業務用ルーターであるRTX1210をメインルーターにして各種アクセスポイントでWi-Fi接続していました。しかし今の引越当時、Wi-Fi6でWANおよびLANポートに10Gbpsイーサネットを搭載するBUFFALOのWXR-5950AX12を買ったので、せっかくの10Gbpsを活用できるか?と両方をルーターとして速度比較をしたところ、なんとRTX1210だと150Mbps程度しか出ず、WXR-5950AX12だと600Mbpsくらい出るという結果になりました。光回線(ONU)は1Gbpsなので理論上は10GbpsのWANポートを使っても速くなることはないと思ったんですが、ルーターのCPUが10Gbpsを想定してパワーアップしてるのかな?とか思ってWXR-5950AX12をメインルーターにすることを選択しました。確かまだエアコンが使えずカーテンもない8月の新居で上半身裸にもなれず汗だくで設定しており、あんまり深く検証しないで「まいっか」と決めてしまった気がします。

しかし、当初から定期的にWXR-5950AX12が再起動を起こす不具合を孕んでおり、気付いただけで2,3日に一度は唐突にリブートします。放っておいても自動で再接続するんですが、一度再起動すると3,4分は待たされるので地味にフラストレーションです。それでも4倍の速さは捨てがたいなと我慢していましたが、最近リモートインタビュー調査の最中に発生してしまいちょっと看過できない状況になってきました。毎朝30分程度の定例ミーティングでも発生。少なくとも毎朝定例がある今の案件のあいだや、実査がある期間中だけでも安定優先のRTX1210ルーター体制にしたほうがいいかなと。とりあえずRTX1210にしたら改善するかどうかの検証だけは必要だなと。

というわけで、引っ越して10ヵ月経とうとしているこのタイミングで、もう一度RTX1210をメインルーターとした体制にトライしてみることに。まずは移行前の状態チェック。計測PCはWXR-5950AX12と10Gbpsハブを介して10Gbpsでリンク。土曜日の昼頃です。

環境移行前(WXR-5950AX12がルーター)

そしてこちらがRTX1210に切り替え後。WXR-5950AX12はアクセスポイントモードに移行(計測は有線なので関係なし)。

移行後(RTX1210がルーター)

うーん、やっぱり記憶通りの差が出ています。なんだろう?逆にRTX1210ともあろう御方がなぜこんなに遅い??

そこでふと思い出したのがファストパスの存在。YAMAHAルーターの機能で特定条件のパケットをより高速に処理するモードです。デフォルトはONのはずですが、ログが省略されたりするのでなにかの検証をする時には明示的にOFFしたりします。調べてみるとIPv4でしっかりOFFにしてあった!!IPv6側は指定無いなので多分デフォルト適用でON。改めてIPv4、v6ともに明示的にONに。

ファストパスを有効化したRTX1210

おぉ、だいぶ戻りました。上りでちょい負けてますが、下りは誤差の範囲?これくらいなら安定性のための犠牲としては許容できそうです。

なんともうっかりしていて10ヵ月を無駄にした気もしますが、実際にこれで安定してくれるかどうかまずは様子見してみようと思います。

WordPressが原因不明に遅いのが解消(WPアソシエイトポストR2のキャッシュテーブル不具合?)

ここのWordPressでページを開くのに十秒以上かかる現象がだいぶ前から発生していました。同じサーバー上の他のWordPressブログでは発生していないのでサーバー側の問題というよりこのWordPressブログ固有の問題だろう。ブラウザの開発ツールで「ネットワーク」のタイムラインをみても、最初のHTMLの読み込みに時間がかかっているぽく、画像とか外部スクリプト、Webフォントとかの問題ではなさげ。ということはWordPressでPHPを処理してレンダリングするまでの問題か?と思い、いくつかあやしいプラグインを無効化しても変わらず。というところまでは時折検証していたんですが、一応動いているしということで放置していました(すみません)。

で、別件でサーバーログを眺める機会があり、たまたま目に付いたのが以下のエラーでした。ブログページを読み込む度に発生しています。WarningではなくErrorなのでよろしくないヤツです。

AssociatesPostというのはAmazonや楽天のアフェリエイトリンクを生成するプラグインです。バリバリにお世話になっているので無効化は試していませんでした。

公式サイトをみると最終更新が2020.3ということで1年近く経っており、WordPressの互換性検証も「4.5以上」のままで「注意: このプラグインは現在使用中の WordPress バージョンではテストされていません。」という注意書きが出ています。もしかするとWordPress5.x系ででなにか問題が?と思いつつ、これだけメジャーなプラグインなら、ググればなにか出てくるくらい話題になってるだろうと。というか公式でもサポートが入るだろうと。

もう少しエラーを読んでみると、

というSQL文を実行しようとしてエラーになってるぽい。つまりある時期より古いキャッシュを全て削除しようとして問題になってる。そもそもそのキャッシュを管理しているテーブルwpxxxxx.wp_wpap_cache自体が存在しない??(wpxxxxxは伏せ字にしてますが、このWordPressサイト用のDB名です)。

とりあえず久しぶりに設定画面を開いてみると、キャッシュに絡みそうなのは即時全削除のボタンがあるくらい。試しに実行してみると案の定、同じサーバーエラーが記録されるだけで変化なし。その下に設定のエクスポート/インポートがあるので、一旦プラグイン自体を削除して、再インストールすればキャッシュテーブルが再作成されるかも?と思いつつ、その前に一旦「無効化」->「有効化」を試したところ、あっさり解消しました。エラーも出なくなり、ブログの表示もほぼ瞬間的に出るようになりました。有効化の時点でもテーブル作成が実行されたのかも知れません。

こんな簡単なことならもっと速くやっておけば良かった。見に来てくださる方にも長いことご迷惑おかけしてすみませんでした。

たいしたことはやってないですが、どなたかの参考になればと書き留めておきます。

 

BUFFALOのWXR-5950AX12を2台で中継システム組んでみた

木造2F建ての新居で、いまいちWi-Fiが安定しませんでした。当初WXR-5950AX12を1台で足りるかな?と思ったものの2F設置で、1Fの片隅みたいなところにいくと2.4GHzすら届かず。次に以前使っていたNETGEARのOrbiを復活させてみるもやっぱり1Fのお風呂場やトイレで断続的に切れる。

すわ、OrbiのWi-Fi6対応版を買うか!?とも思いましたがお値段が高い割に10Gbpsポートが親機側1つしかなく、おいおい有線LANのマルチギガビットイーサ化を進めていく上で不足かなと。

ということでWANの10Gbpsポートが浮いてしまいもったいないなと思いつつ、もう一台WXR-5950AX12を買い足して中継を組んでみることにしました。

WXR-5950AX12は2020年9月末時点でBUFFALOでフラッグシップモデルとなる最高峰機種です(どこも品切れで入手に苦労しました)。中継機能を使うには同じWXR-5950AX12でなければならないようです(Wi-Fi6対応機なら使えるという書き込みもみましたが、現状公式の記載ではWXR-5950AX12同士というのが基本の模様)。

OrbiやOrbi 6を使った場合との違いとして、「バックホール専用のチャンネルがない」という点が挙げられます。WXR-5950AX12は2.4GHzと5GHzの無線装置をそれぞれ1つしか搭載していません。対してOrbiシリーズは5GHzを2つもっているトライバンド機となります。例えばAとBという2台で中継した時、バックホール専用チャンネルがないと、

端末 — (44ch)—中継端末—(44ch)—ルーター端末—インターネット

となります。端末と中継機、中継機とルーターが同じチャンネルを共用するので速度がでにくいのです。かたや5GHzだけで2つのチャンネルを同時にとばせるOrbiのような機種だと、

端末 — (44ch)—中継端末—(100ch)—ルーター端末—インターネット

のように違うチャンネルを使うので通信が重複せずに最大スピードが出ます。ということで、端末が5GHzを使って中継機に接続した場合に速度が出ない可能性がある、というのが違いになります。

とはいえ、有線部分、それもLAN側が10Gbpsという点はオンリーワン。例え1Gbpsの端末でも実効速度が上がるので、果たしてどちらがトータルでみて有利か、ということになります。最悪でも無線部含めて1Gbps超で使えるイーサネットコンバーターになるからいっか、ということで購入に踏み切りました(WXR-5950AX12が既に1台ある状況では、Orbi6を買うよりもう一台WXR-5950AX12を買う方が半額以下のコストだったこともあり)。

■結果

元々の構成としては、2Fの光ファイバー引き込み済みの部屋にルーターとして1台目を設置。v6プラスで上り下りとも300〜500Mbpsくらい出ています(Wi-Fi6端末で計測時。Wi-Fi5だと200Mbps台)。今回、階下である1Fで、部屋の位置としは真下に位置する辺りに中継機側を設置しました。

そして中継機側のWXR-5950AX12のLANポートに1Gbpsのスイッチをつなぎ、そこからPS4Proを接続して計測したのがこちら。

昼間ですが下りで376Mbpsでました。まずまずじゃないでしょうか。リビングのAVラック周りのレコーダーやゲーム機としては充分と言えます。

またいまいち途切れがちだった1Fのトイレやお風呂場でも安定した気がします。

■気になる点

中継機は公式の手順ではAOSSで親機にペアリングします。その後で中継機の管理ページにアクセスしようとするもLAN内にBUFFALO製品らしき端末が見当たらず。中継機のLANポートに有線でつないでもだめ。管理画面からファームウェアを更新したり設定を最適化したいのですが、いまのところIPアドレス/MACアドレスが見付かりません。Windowsでルーター検索ツールとかを使えばいいのかな?

またSSIDが2.4GHzと5GHzそれぞれに1(標準)、2(WPA3対応、3(WEP)と3つずつに加え、バンドステアリングに対応した共有SSIDが設定できます。計7つのSSIDが飛ばせるわけですが、2と3はOFFにできるものの1のチェックボックスがONのままグレーアウトしていて無効化できません。気持ち的にはバンドステアリングできる共有SSIDだけがとんでる状態がスッキリしてていいんですが、、また個別にステルスにすることもできなさそう。SSID1と共有SSIDを同じにしても2つとんでしまう模様(チャンネルは同一)。この場合、バンド固定かバンドステアリング対応のどちらのSSIDにつながったのかわからない状態となります。ここら辺、マニュアルを穴が空くくらい読んでみたもののわからず。以前はSSID1を無効にしてWPA3が使えるSSID2と共有SSIDという構成で使ってた気がするんですがなぜか再現できず。できないならできないでヘルプやツールチップに明記してくれれば余計に悩まなくて良いのですが。

そして1台目のレビューでも書きましたが、設定によっては再起動が必要にあんりゆうに2分くらいはネットが途切れるので、あれこれ試行錯誤するにもストレスです。一度設定がキマれば気になるところではないですが、導入初期はちょっとイライラします。

 

ともあれ最大の障害だった1F風呂トイレの電波状況が改善し、速度もそこそこでているのでOrbiを休眠させてしばらく様子を見てみようと思います。これでOrbiが処分できてWXR-5950AX12の2台目の購入費用の足しにでもできれば御の字かなと。