こんにちは。
今回はブログ執筆の際に見舞われたトラブルについてのお話です。
絵を描いていたせいでしばらく更新をお休みしていましたが、最近こちらの記事でようやく更新を再開しました。
久しぶりの更新だなーなんて思いながらWordPressの「公開」ボタンをポチッと押したわけなんですが…
なんだかいつもと様子が違う…?
僕はWordPressにJetpack by WordPress.comプラグインをインストールしていて、統計情報なんかを見ています。

日ごとのアクセス数を表す棒グラフ。
通常だと、グラフの棒にマウスポインタを置くと、その日に投稿された記事のタイトルが「Published:」として表示されます。
しかしその時は、投稿してもここに記事タイトルが表示されませんでした。
その時はたいして気にも留めなかったのですが、その後に問題が発覚しました。
いつもは、記事を投稿すると、IFTTTを通じて自分のTwitterアカウントに記事投稿のお知らせがツイートされるようにしているのですが、それがいつまでたっても来ない。
IFTTTにログインしてチェックしてみると、エラーが出てトリガーが発動しない。
IFTTTのトラブルかと思ったけど、他のレシピはちゃんと動いてる。
WordPressのダッシュポードを見ると「公開済み」になっているし、ブログのトップページやカテゴリ検索からはちゃんと記事ページにアクセスできるから問題ないかとも思いましたが、なんかもやもやしたのでよく調べてみると、どうやらその記事だけGoogleのキーワード検索に引っかからないようなのです。
キーワード検索からのアクセスがほとんどの当ブログとしてはこれは死活問題です。
試行錯誤した結果、どうもこれはWordPressに問題があると思い、試しに新規記事としてテスト投稿をしてみました。
本文に「テスト」とだけ書いた記事は、Jetpackのグラフに表示されました。
ということは記事自体に問題があるということか。
記事単位の設定項目とかあったっけと思ってさんざん探ってみても分からないので、ついに最後の手段、ローラー作戦に出ました。
ローラー作戦
問題の記事をまるまるコピペして新規投稿として公開。
画像、アイキャッチ、リンク、見出し等々、記事の構成要素を一つひとつ削ってみて、何がエラーの原因なのかをしらみつぶしに検証してみました。
しかしそれでも解決せず、残るはかぎ括弧や句読点までなくなったプレーンテキスト。
そんなことはないと思いつつも、文字数によってエラーになっているのかなあと、少しずつ文字を削っては更新してみました。
最悪でも「テスト」の3文字では正常に更新できているのだから、それまでには正解に辿り着くだろうと。
そこで、ある程度文字を減らしていくと、ついに正常にグラフに表示されました!
やっぱり文字数が原因なのか?と思い、残った文字を手作業でカウントしているときに、犯人を見つけました。
右のカーソルキーを押してカウントしていると、なんだかカーソルが引っかかるところがあるのです。
あれっと思ってもう一度同じ箇所でカーソルを動かしてみると、なんとそこに目に見えないテキストがあったのです。
何の文字にも、スペースにさえもなっていないので、カーソルキーがそこを通るときに引っかかったように見えたのです。
元の記事からその「見えないテキスト」を探し出して(全部で3個くらいありました)、削除した後更新してみると、グラフに表示されました。
そしてGoogleのキーワード検索にも引っかかり、無事解決したのです…

【当該記事をMacの「テキストエディット」にコピーしたもの。見た目は全く分かりませんが、「郵便法」の前に見えないテキストが入っています。】
解決した…のか?
しかし、とりあえず問題が解決したのはよいのですが、この「犯人」の正体が分からずもやもやしていたので、下記のサイトでその見えないテキストを調べてみると、どうも「制御文字」のようなのです。
僕はブログの本文を入力する時は大抵WordPressのダッシュボード内で「新規追加」からテキストボックス内に直接入力しているのですが、一体どこで制御文字が紛れ込んでしまったのか、全く分かりません。
次の記事を投稿した時も同じ現象になったので、手作業で制御文字を探し出して削除しました。
これまでこんなことは一度もなかったし、今後毎回この作業をするのも嫌なので、そもそも制御文字が紛れ込む原因を知りたいのですが、今のところ謎のまま。試しにこの記事は別のエディタに入力して、コピペしています。
約ひと月のブランクの後の久しぶりのブログ更新だったので、その間にあったWordPressへの不正アクセスが原因か?とか、WordPressのバージョンを上げたのがいけなかったか?とかいろいろ考えましたが、意外なところに原因があったというお話でした。
未だに制御文字を手作業で消していかなければいけないので、なんかもやもやが残るなあ…
補足
ここまで書いたあとで念のためにググってみると、それっぽい記事を見つけました。
【WordPress】WordPressの記事内にASCII制御文字が入っているとRSSフィードがエラーになる | Masablog
なるほど、RSSフィードのエラーなのですね。
やはり制御文字でエラーになる現象はあるみたいですね。
僕もIFTTTとか使っていなかったら気付かなかったと思います。
RSSフィードがエラーになっても、他の記事は検索で引っかかるようなので気付きにくいですが、特定の記事だけアクセスが少ないと思ったらチェックしてみるといいかもしれませんね。
【2015/12/21追記】
制御文字(制御コード)が入ってしまう原因の一つが再現できたので記事書きました。Yosemite環境限定ですが、参考にどうぞ。