アップデート追随

おそらく大元のwordpressに何かアップデートがあり、テーマやプラグインにも仕様変更が必要になって、今まで動いていたプラグインが動かなくなったりした。プラグイン開発者はそうした仕様変更やアップデートにいちいち追随しなくてはならないから大変だし、我々下々の者も非常に困惑する。popular post という有名なプラグインがあるのだがこれがずっと不調で使い物にならない。他のプラグインも一度に軒並み未検証になってしまった。動いているプラグインも設定をいじっているうちに動かなくなったりする。他のwordpressでは動いているのに別のwordpressでは動かないとか、アンインストールとインストールを繰り返していたらいつの間にか動き出したとか、もうわけがわからない。非常にストレスがたまる。

で、頼まれ仕事でやっているwordpressと、自分の趣味でやってるwordpress(ここのこと)があると、まず自分のところでテストしてそれを頼まれ仕事のほうに反映させる、という二段階の作業がどうしても必要になるので、今ではテーマもプラグインもそろえて、ほとんど同じプラグイン構成で運用しているというわけだった。

人気記事一覧に関しては今は top-10 というプラグインを使っている。wp carousel もいきなり誤作動し始めたので焦ったが、テーマから全部アップデートしたらまた動くようになった。

このtop-10だが設定ページがうまく動いてなくて、設定が保存できない。仕方ないのでphpのソースをガリガリ書き換えた。

postsToShow

wordpressはユーザーインターフェイスがしょっちゅう変わるらしくして、カスタマイズの仕方をネットで調べても役に立たないことが多く、結局phpをじかに書き換えるしかないってことが多い。wordpressのバージョンが5から6に変わったところで相当仕様変更してる。と思う。それで世の中が全然付いてこれてない。

最近の投稿リストの項目の数の替え方がわからんかったから、レンタルサーバーにログインして grep postsToShow。

wp-includes/blocks/blocks-json.php の中の postsToShow の default の値を変えれば良かった。

普通のエンジニアはどうやってこんなケースに対処しているのだろうか。

ブログをメンテしているとブログ村のPVがどんどん上がっていくのがわかる。googleが補足してないページをgoogleに教えてやり、googleがインデックス登録してないページを登録するようリクエストする。それをちまちまちまちまやっていると、クロールしてくるんだか人が検索してくるんだか知らないがアクセスが増える。このブログは長いことやってるせいでコンテンツだけは多いから割と効き目がある。

ブログ

ブログは衰退の一途をたどり、かつてアルファブロガーなどと呼ばれていた人たちはブログなどそっちのけで Twitter やInstagramやYoutubeをやっている。作りすぎたモールが空き店舗だらけになっているようにブログサイトは長年放置されたまま閑散としているか、ドメイン自体消滅している。

SNSの主戦場はYoutubeとInstagramとTwitterに移ったが、まあ思うに、ブログというものもやり方次第では良いメディアかもしれない。ウェブというものは、昔に比べるとやはり遙かに人口が増えた。今個人のブロガーは撤退して大手ががんがんデザインとSEOに金かけてやってるから検索上位にはなかなか上がらないけれども、うまくやれば多くの人の目に触れることができる。SNSと違って良いところは完全に自分のペースでサイトを構築できるってことだろう。

Twitterはほんとに馬鹿げている。ただ日々の思いつきのメモ書きにはちょうど良いかもしれないが。Facebookにはもう書かない。書けない。私は顔見知りの人に近況を伝えたいわけではない。見ず知らずの人に自分の考えを読んでもらいたいだけなのだ。Facebookで同じことをやれば反感を買うだけだ。同じ理由でInstagramに至ってはまったく、写真や動画をあげたいという気になれない。

ホワイトハウスのサイトもwordpressで作られているなどというが今やウェブサイト構築というものはなんでもかんでもwordpressになってしまったのかな。wordpressなかなかしぶとい。

久しぶりにyoutubeの動画をちょろっと作ったが、作業量がまじで半端ない。youtube専業でやるならなんとかなるかもしれんが、ほかにたくさん仕事を抱えていてその片手間では到底やれない。まじでやばい。

sitemap が生成されない理由

いつからそうなったのか知れないが、今のwordpressには sitemap.xml が存在しない。phpをいじって sitemap.xml を生成することもできるのだが、そうするとサイトマップが競合していると、SEOプラグインに怒られる。今の時代、SEOプラグインが sitemap.xml を生成するのが標準的らしいのだけど、なぜかうまくいったりいかなかったりする。レンタルサーバーのせいなのか、wordpress のせいなのか、プラグインのせいなのかさっぱりわからない。

いろんなサイトを調べてみたが原因がわからない。「これで解決!」などと書かれているのだが、さっぱり解決しない。うまくいっている wordpress の All in One SEOプラグインの設定をエクスポートして別の wordpress にインポートしたりもしてみたのだが、まったくうまくいかない。All in One SEO やめて Yoast SEO に変えたり、XML Sitemap なんとかとかかんとかというプラグインに変えてみてもだめ。

それで、.htaccess を見てみると、All in One SEO が勝手に sitemap.xml を index.php に書き換えている(rewriteルールを設定している)ことがわかった。なるほど今時の wordpress は sitemap.xml とか robots.txt にアクセスしようとすると、全部リライトして wordpress が返すようにしているわけだ。そこをちょこちょこいじっていたが、真っ白な sitemap.xml が生成されるだけ。なので All in One SEO が書き込んだ記述を全部ざっくり削除して、All in One SEO を削除してもう一度インストールしてみた。

そしたらうまくいった。

つまり、All in One SEO が .htaccess に勝手に書き込んでいた残骸が悪さをしていたというわけだった。

やれやれともかくも解決して良かった。

追記。.htaccess が既にある場合(他のプラグインなどが作ったりして)にはそこに書き込む。.htaccess が無い場合には何も書き込まないらしい。

サイトマップがあるとブログ村にアイキャッチ画像や抜粋などが表示されるようになる。

copilot

bing webmaster tools と copilot を使わない手はないので microsoft 様に感謝して使わせてもらっている。blog の featured image (アイキャッチ画像)というものは好きではなかったのだが、シャレで copilot で描いてもらった絵をアイキャッチ画像にしてみたら、これはこれでわかりやすくてよい。例えば、馬を引いて歩いている絵を描いてくれと言っても、馬に乗った騎士像しか描いてくれなかったりと、まだまだ融通の利かないところはあるにせよ、文章を読んでもらうきっかけくらいにはなってくれている。

ただブログ記事だからそれでもなんとかなるのであってたとえば『エウメネス』の挿絵を全部 copilot や google gemini に描いてもらうというのは今のところ不可能だ。商用利用したら課金しなきゃなるまいし、そこまではやらんし、やる価値もないと思う。細かく指示すればある程度文章に即した絵ができるのかもしれんが、めんどくさすぎる。合成音声にしても、抑揚をいちいち直してられない。全部自動でやってくれるというなら何かに使うかもしれないが。

ブログ村の順位を上げるには

「民葉和歌集」をどうにかしたいと思うのだが、きちんと編集しようと思えば kindleで出すべきだろう。しかしこの手の本を出したところで誰も読むまい。ならばwebに晒しておいたほうがまだましだと思うが、新しいwordpressのフォーマットに合わせて編集し直すのがめんどくさすぎるし、当面はそんなに時間もかけられないから、元の書式は残しつつ、新しく付け足す分は新しい書式で書く、しかあるまい。本腰を入れるととてつもない時間がかかるので、よほどヒマか、よほど世間の需要がなければやれない。これを書いて残すことにどれほど意味があるだろうか。無いとはいえないとおもうが。

アルファブロガーたちはわざわざブログ村なんて使わないし、私の知り合いでいまだにブログを書いている人もブログ村使ってるのを見たことがない。もしアルファブロガーがブログ村に乗り込んできたら、普通のブログは蹴散らされてしまって迷惑するだけだし、またブログ村で多少順位が上がったところでだからどうしたとしかいいようがない。

それはともかくとしてブログ村で順位をあげたければ google search console でちまちま SEO 対策するのが効果的だ。検索されて順位が上がっているのではあるまい。検索上位に出てこないんだから検索されているはずがない。たぶん人が見にくるようになってPVが増えているのではあるまい。googleがページを認識して、定期的に巡回してくるようになり、そうすると他の検索エンジンもどこかからその情報を入手して巡回するようになりして、アクセスが増える。これだけでもブログ村でPVを稼ぐには十分なのだ。そうしてブログ村内で順位が上がればたまには目にとまって見に来る人もいるだろう。

SEOというものは今はものすごく難しくなっている。昔はwebも閑散としていたので、なんかちょっと目立てば検索上位に上がってきたが、最近は商業サイトがSEOにしのぎを削っていてそれなりの金をかけているから、金をかけてない個人のサイトなど検索上位にあがるはずがない。たまにバズることがあってもほかのサイトがそれっと真似するからすぐに沈んでいく。要するに広告費をどんだけかけてどんだけ費用対効果が上がったかという世界になってしまっている。

ブログ村に登録されているサイトもどれもこれもつまらない読み応えのないサイトばかりで、やれどこで何を食ったか、その写真を載せているだけで、これならインスタグラムでいいんじゃないかというものばかりだ。そしてそういう、ただぱっと写真見るだけのサイトの方がアクセスが多かったりもするからもう世も末で、いかに数を稼ぐかとなればそういう軽いサイトのほうが勝つのだ。

我がソウルフードは単なるインスタグラム記事にはなっていないものの、日本全国食べ歩き、ソウルフード、B級グルメなどなど、それらのキーワードで書いている本やサイトはいくらでもあってレッドオーシャン状態。それらのキーワードで検索しても上がってくるはずがない。しかしブルーオーシャンで勝負しようとしても客がいなさすぎてランキングなど上がるはずがない。

googleにインデックス登録してもらう

サイトマップとインデックス登録リクエストに書いたことと同じなのだが、あれだけではよくわからないと思うので、改めて具体例を挙げて解説してみる。

まずこの https://soul.natsumeshinsha.com というサイトだが、検索されてクリックされることはほとんど無いようだ。それは当たり前で、そもそも検索かけても上位に上がってこないからクリックされるはずがない。上位にあがらなきゃ検索されることもない。ではどうやれば検索上位に上がることができるのか?鶏と卵どっちが先かという話のようにも思える。

上のスクリーンショットは google search console だけれども、2月2日になぜか何度か検索されているのはもしかしたら私が google search console を使い始めたからかもしれない。google console insights を見ても、このサイトがほとんどさっぱり検索されていないことがわかる。

しかしながら最近アクセス数や表示回数は徐々に増えてきている。

2月8日から急にアクセスされるようになったことがわかる。ブログ村のアクセスも最近明らかに増えてきている。

どこがどうというわけではないがじわじわランクが上がってきている。

google search console の「ページ」というところをみるとこのサイトはクロールはされているけれどもインデックスに登録されていないページがたくさんあることがわかる。「クロール済み」というのはつまり検索エンジンが巡回していてページが存在していることは認知しているということ。検索結果に表示されるためにはさらに「インデックス登録」されなくてはならない。つまりgoogleにインデックス登録されていないと、この世の中にそのページは存在しないのと同じ、ということになる。

googleがクロールしてもインデックス登録しない理由としては、インデックス登録する価値がないと思われたのかもしれないし、サイトマップに載ってないので要らないページと判断されたのかもしれない。或いはURLは(パラメータ部分など)違うが内容は重複していると判断したのかもしれない。

ともかくインデックス登録される前提条件として、サイトマップは必ずgoogleに認識されておいたほうが良いだろう。サイトマップに載っているページをクロールしないということもあるようだが、こちらとしては登録されたいページを厳選してsitemapに載せているにもかかわらずクロールすらしてくれないというのであれば、それは明らかに google 側の怠慢だ。

ちなみにここ https://tanaka0903.net の場合、半分以上がインデックス登録されている。なぜそういう違いができるのかよくわからないのだが、ページの古いデータがgoogleに残っているせいかもしれない。ページ数が途中で急に増えているのは sitemap を登録したせいだと思う。

「クロール済み インデックス未登録」を開くと具体的にどのページが未登録なのかがわかるので、マウスオーバーして一番右に出てくる虫眼鏡を押すとそのページのURL検査が出る。

「インデックスに登録されなかった理由」を見てもその理由はよくわからないので見なくて良いです。あるページをどうしても登録してもらいたいときは「インデックス登録をリクエスト」を押して登録してもらう。ただし1日当たり10ページくらいまでしかリクエストに応えてもらえない。

wordpress の場合まずどうしても登録してもらいたいページというのは投稿ページなので、/?p= などとなっているページは全部登録してもらいましょう。/?cat= はカテゴリーのページなので、特に重要なページだったら登録してもらったほうが良いかもしれない。

しばらくするとこんなふうにインデックス登録が完了するので、このページはもうgoogle検索に反映されている。

wordpressは自動的にサイトマップを生成してくれるはずなのだけど、プラグインのせいかうまく作られていなくてはまった。サイトマップは SEO対策のプラグインが勝手に生成することが多く、どのプラグインを使うかあらかじめ決めた上で、適当にやり方を決めると良い。

URL検査というのは一番上にあるテキストボックスにURLを直接ぶちこめばいつでもできる。検査してみた結果、実はクロールもされてなければサイトマップも見つかってないページというのがけっこうある。当然インデックス登録もされていなければ検索結果に出てくることもない。なのでそういうページも一つ一つ見つけてはインデックス登録をリクエストしていく。こうした地道な努力を重ねるとだんだんにアクセスが増えていく、という仕組みになっているらしい。

検索上位に上がってくるかどうかということはまったく別問題なのだけど、そもそもインデックス登録されていても、検索結果に出てくるとは限らない。ページの本文はおろかタイトルですらろくにサンプリングされていない可能性が高いように思われる。インデックス登録されるというのは最初の一歩に過ぎず、その間にいろんな段階があって、やっと検索結果に載るようになり、さらに精進すると検索上位に上がってくる、そのためにはやはりある程度 google に(google workspace とかで)課金するしかないのではなかろうか(google としては検索に課金という言葉を露骨に使いたくないのだろうが)。

なお microsoft にも bing webmaster tools という、google search console とほぼ同じツールがあるので、bingの検索結果にも興味ある人は使ってみると良いと思う。

サイトマップとインデックス登録リクエスト

十郎の日本全国ソウルフードの旅というサイトをサルベージしてあげてそこのアクセスが増えるようにといろいろ努力してきた(クロール済みインデックス未登録sitemap.xmlSEOブログ村、アジトで不要不急の仕事等参照)。

まず、どういうわけかまずサイトマップが作られていなかった。wordpress のバージョンアップや仕様変更やSEOプラグインなどの競合のために、本来wordpressはサイトマップを勝手に作るものらしいと思っていたのだが、なにかの具合で作られていなかった。サイトマップを明示的に作る方法はいろいろあるんだが結局なんちゃらAll in One SEOとかいう定番のプラグインを入れたら作られるようになった。このうち post-sitemap.xml というやつだけを google search console というところへ教えてやるようにした。wordpress って投稿したページ以外にもカテゴリーとかrssとかいろんなページをごちゃごちゃ作るのだけど、検索に引っかかってほしいのはまず投稿ページであって投稿ページをインデックスに登録してくれてないのにrssやカテゴリーばかりインデクスされても困るわけじゃないですか。

で、サイトマップを提出しても投稿ページのすべてをインデクスしてくれるわけじゃない。どういう気まぐれかは知らないが、クロールしてもインデクス登録してくれないページというのがあって、その一覧が出るので、ちまちまインデクス登録リクエストする。だいたい1日あたり10ページまではリクエストできて、リクエストするとだいたいインデクスに載るらしいってことがわかったのでひたすらちまちまちまちまリクエストしていった。

ところが、そもそもクロールすらしてくれてないページというものがあるらしくて、サイトマップ提出したにも関わらずクロールすらしてくれないってこともあるらしいってことがわかった。

最終手段としては、search console の URL検査ってところにインデクス登録リクエストしたいページのURLを一つずつ入力していくしかないってことがわかったので毎日10ページずつ、まだインデクスされてないページを入力している。

そうするとなんとなくだがブログ村のランキングにも反映されてきたように思える。

私はこの「はかもなきこと」というサイトも含めて自分のサイトではSEOなんてことは一度もやったことがなかったんだが、だんだんとSEOの片鱗というものが見えてきた気がする。こうした SEO対策ネタというものは、知っている人は知ってるが知らない人は知らないだろうし、人に教えるのもめんどくさいし、みんなどうやって勉強するんだろうね。

ともかくもgoogleにインデクスされてないページはこの世に存在しないのも同じなので気を付けねばならんね。

クロール済みインデックス未登録

google search console 見てると、クロール済みだがインデックス未登録、つまり、google様におかせられては、認知はしているが検索対象から外しているページというのが大量にあるんだけど、ある程度までは仕方ないと思うんだ。wordpress の場合、カテゴリーのページとか rss のページなんかが大量にあるからそういうページは検索してもらわんでも良い。普通の記事のページだけ登録してもらえば良い。ところがgoogle 様がインデックスに登録しているページとしないページの判別がよくわからん。

なので、インデックスに登録してほしいページとそうでないページをこちらから明示できて、それが google様に伝わると良いのだけど、そんなごく当たり前の機能がいまだに世の中では実装されてないらしいのが不思議だ。

sitemap.xml

ここ (tanaka0903.net) とか natsumeshinsha.com のサイトの sitemap.xml がうまく生成されていないようだったので直した。

最近の wordpress は sitemap.xml を生成せず index.php で済ませる仕様になっているようなのだが、これもなぜかページ数が0件になっていてうまくいってない。理由はわからない。

sitemap.xml はあったほうが良いに決まっているのだろうがページがインデックスされるかどうかとは直接関係はないように思える。

インデックスされてほしいページとそうでないページをうまく検索エンジンに伝える方法はないのだろうか。

ここ (tanaka0903.net) はインデックスされてないページの割合が、全ページの半分くらいだが、natsumeshinsha.com はもっと低い。これまた理由はよくわからない。