ワードプレス導入時の設定・エラー対応メモ

新しいツールにはわからないことがいっぱいなもので…。

ワードプレス導入にあたって、色々と設定の際に迷ったり、エラーメッセージが出たりしました。
こちらは、その解決策メモの覚え書きです。

※ブログ移転にまつわる経過は以前までの記事をご覧ください。

検証&解決策メモ

サイトスピードが遅い?

プラグイン「Site Kit」にくっついてきた「PageSpeed Insights」を見ると…。
なんだかサイトの表示スピードが遅い…?

【全体的な対策】
→不要なプラグイン等の削除
→Cocoonの高速化設定をいじる

【個別に対策したこと】
>次世代フォーマットでの画像の配信
→WebP画像に対応するプラグイン「EWWW Image Optimizer」を入れる

【残っている主な改善メッセージ】
>使用していない JavaScript の削減
>レンダリングを妨げるリソースの除外

Java Scriptの読み込みを遅らせるとかの対策もあるみたいですけど、一旦スコアは改善したので、しばらくはこのままいきます。

Wordfence「スキャン設定により、マルウェアスキャン中に1個のパスがスキップされました」

エラー詳細を確認すると、スキップされたフォルダのパスが書いてありました。
自分の場合は、画像を入れているフォルダみたいでした。
どうも、メディアアップロードのデフォルト設定を変更して、ワードプレス外に画像フォルダを置いたからっぽいです。

【解決策】
>Wordfence
>すべての設定
>スキャンオプションの中の「スキャンタイプの基本オプション」
>「WordPress インストール外のファイルをスキャン 」にチェック

Google Search Console「noindex タグによって除外されました」

サイトマップを送信したところ、なんかこういうメッセージが。
色々調べつつ、設定を確認したところ、Cocoonの設定と「XML Sitemap & Google News」プラグインの設定が一致していないのが主な原因…なのかなあ…???

自分の場合は、除外されていたのは大半が各月のアーカイブページでした。
「https://hhetayokoo.com/blog/2023/02/」みたいな。
アーカイブページがCocoon設定でnoindexなのに、サイトマップが年単位の分割で送信されていたことで、月のアーカイブページがnoindexなのにURL送信されてしまったのかと…。

このへんの理解はだいぶ甘いので、自信はないんですけど、とりあえず設定を合わせにいってみて、様子を見てみます。

【解決策(検証中)】
アーカイブページをサイトマップに含めない場合
Cocoonの設定
>Cocoon設定
>SEOタブ
>「その他のアーカイブページをnoindexとする」にチェック

プラグインの設定
>設定
>XML サイトマップ
>投稿タイプ「分割:月」にする

投稿者ページをサイトマップに含めない場合
プラグインの設定
>設定
>XML サイトマップ
>投稿者「投稿者を含める」チェックを外す

カテゴリー&タグをサイトマップに含める場合
Cocoonの設定
>Cocoon設定
>SEO
>「カテゴリーページをnoindexとする」のチェックは外す
 「タグページをnoindexとする」のチェックは外す

プラグインの設定
>設定
>XML サイトマップ
>タグソノミー「タグソノミーを含める」にチェック
 「これらのタグソノミーに限定」のチェックは「カテゴリー」「タグ」両方外す

その後の処理(念のため?)
>「noindex タグによって除外されました」メッセージページの「修正を検証」をクリック

ただ…個別記事もひとつ、「noindex タグによって除外されました」に入ってたんですよね…。
でもChromeのデベロッパーツールでhtml見ても、noindexは入ってないのに。
移行前後に記事が非公開だった時にたまたまクロールしてきただけなら良いんですけど。

【参考にしたサイト】
サイトマップのSearch Console登録とnoindexと大誤解
※ちょっと自分には高度で、理解しきれてないんですけど、勉強になりました。

Google Search Consoleでインデックスされたページを削除したい

ロボットが定期的に巡回しているので、別に手動でやらなくても良いようですが。
タグのスラッグを日本語→英語に変更する前にクロールしてきていたようで、それを消したかった時に削除申請先をチェックしたメモ。

【追記】後日確認すると、削除申請は「期限切れ」になっていました。なんか意味なかったようですね。

 【URLを変更したページのインデックスが残っている】
>Google 検索から古くなったコンテンツを削除する
※現在も存在するページURLを入力した場合は警告メッセージが出ます。

【既にインデックスされたページを検索結果から削除したい】
>グーグルサーチコンソール
>インデックス作成
>削除
>新しいリクエスト
※こちらは使っていません(「古くなった~」の方がふさわしいかと思ったので)

知らぬ間に画像が増殖してる!

なんか…FFFTPで見ると、やたらと画像の数が多かったんですよね…。
ひとつの画像に対して10種類くらい、各種サイズが取り揃えられている…?

どうも、親切なワードプレスちゃんは、色々な画像を自動生成してくれてたようです。

【参考にしたサイト】
ワードプレスで複数サイズの画像が勝手に生成されるのを停止する方法
【今すぐやるべき】WordPress画像の自動生成を停止する方法

…メディアのあの設定、そういう意味だったのか!!!

画像たくさんあっても使わないので、この自動生成機能は止めました。

ただ、コクーンも親切に自動画像生成してくれるんですよね。
これはコクーン公式見解的に停止を推奨はしていないようなので、残しておきます。

【参考にしたサイト】
テーマによる画像自動生成について(Cocoonフォーラム)
自動生成画像について学んだこと ~ 使用用途・削除の影響

…まあ、サムネもアイキャッチも何も使わず、表示機能も切っているので、別に停止しても問題ないような気はしますが…。
いつか画像ましましにしたくなるかもしれないしね。

ともあれ、1つの画像に対して自動生成されるサイズは、6種類ほどになりました。
FFFTPで見た時に「どの画像がどれ!?」ってなっちゃうので、6種類でも多く感じるんですけど、これでまあいいや。(そもそもFFFTPで見るなという話かもしれない)

「.htaccess」によるリダイレクトの謎

移転を終え、しばらく後になってから、http://→https://の対応や、WebPへの対応など、「.htaccess」に書いておかなきゃいけなかった(のに失念していた)ことに、ぽろぽろと気づきました。

なので、じゃあついでにリダイレクト処理もこっちに書いてしまって、プラグイン(Redirection)を使うのはやめようかなと思ったんです。
その方がまたサイトスピードも速くなるのでは、という目算もありまして。

でも実のところ、結構苦戦したので、プラグイン使った方が圧倒的に楽でした…!

というかですね。
リダイレクト処理自体は、一応、うまくはいったんですけど…。
うまくいかなかった場合のコードが、なんで駄目なのかがわからないんですよね。
なんだかもやもやします。

まずはうまくいった書き方から。

【うまくいった書き方】(このコードの前後は省略しています)
RewriteRule /blog-entry-96.html$ /blog/iten/ [R=301,L]

【アクセス実験:成功】
「https://hhetayokoo.com/blog/blog-entry-96.html」にアクセス
→「https://hhetayokoo.com/blog/iten/」にリダイレクト

ただ、↑の場合でも、「htaccess tester」でテストすると、リダイレクト先は「https://hhetayokoo.com/blog/blog/iten/」になってました。
まあこのへんはURLに「/blog/」を追加してる関係上、ワードプレス側の設定の問題なのかも。

そしてそして、これがよく分からないんですけど、うまくいかなかった書き方が次のもの↓

【うまくいかなかった書き方】
RewriteRule ^blog-entry-96.html$ /blog/iten/ [R=301,L]

【アクセス実験:失敗】
「https://hhetayokoo.com/blog/blog-entry-96.html」にアクセス
→「https://hhetayokoo.com/blog/blog-entry-96.html」のまま…

このコードだと、全然リダイレクトがされてないようなんですね!

よく記載例で載ってるのがこんな風に「^」を使うパターンなんですが…。
…「^」ってワイルドカード的にURLの以前の部分全部を表してくれるんじゃないのか?
(この場合だと「https://hhetayokoo.com/blog/」の部分を表してくれ…ないの…??)

とにかく「^」を使うと全然駄目でした。
「htaccess tester」でチェックしても、やっぱり全然駄目。
実は何かの文字などを間違えていて、コードをちゃんと書けてないのかなあ。
なんでなんだろう。

【おまけ】
RewriteRule /blog-entry-96.html$ /iten/ [R=301,L]

【アクセス実験:一部失敗】
「https://hhetayokoo.com/blog/blog-entry-96.html」
→「https://hhetayokoo.com/iten/」にリダイレクト(「/blog/」が消えた)

ついでにおまけ。こちらの方は理由は分かってます。
後半(リダイレクト先)のURLを省略すると、.htaccessの置いてあるパス+「/iten/」になるようなので、そのせいですね。
今回いろいろとコードを書いてた.htaccessファイルは一番トップに置いてあったので、ドメイン直下までのURL+「/iten/」になったわけです。

このおまけも含めて、「/」を使うバージョンだと、予想したとおりに動いてくれるんですけどね…。
なんで「^」だと駄目なのかなあ。

トップページ&ブログカードの記事冒頭抜粋(スペニット)が表示されたりされなかったりする?

内部リンクを貼ると、ブログカードになるじゃないですか。

そのブログカードのデザインが、なんか2種類あったんですよね。
タイトルだけのものと、タイトル+記事冒頭の抜粋が入ったもの。
この記事冒頭の抜粋は、スペニットと言うそうで。

どうも、FC2ブログから移転してきたものは、スペニットが表示されないようだったんです。
ワードプレスで新しく書いた記事は、スペニットが入ってる。

確かに、トップなどの記事一覧画面で見るエントリーカードも、スペニットが入ってたり入ってなかったりしたような…。

【参考にしたサイト】
[解決済] 内部ブログカードの抜粋文が表示されない(Cocoonフォーラム)
WordPressで記事をインポート後に抜粋が表示されない場合に確認するポイント

このスペニット、各記事の編集画面で個別に設定できるんですよね。同様の症状の場合は、どうやらそこに変なものが入っている可能性が高いようです。

で、移行記事のその部分を調べてみると…。

なんかbrタグ(改行タグ)が入ってる!

記事移行の時に、改行がちゃんと反映されるよう、インポートツールのコードをいじったので(movabletype-importer.php)、そのあたりが何か悪さをしたのかもしれません。

というわけで、このbrタグを全部消すと、抜粋文がちゃんと表示されるようになります。

でも全部の記事でこんなこと繰り返すのは面倒ですね。移行インポート前とかに何かやっておけば、一括削除したうえでインポートができたのかなあ。

とりあえず、私はスペニットなしのタイトルだけの方がシンプルで好みなので、設定いじって非表示にしておくのもありかな。ちょっと考えます。

参考にしたサイト
【Cocoon】内部ブログカードの抜粋文(説明文)を消す2つの方法

Twitterカードが表示されない?

画像を入れた記事でも、Twitterカードが表示されないな、と気になっていて…。
いくら設定を見返しても、変なところはないはずなのに…。

結論としては、メディアアップロードのデフォルト設定を変更してたことが原因でした。

設定
>メディア
>ファイルアップロード
>ファイルへの完全な URLパス:空欄にする
【参考にしたサイト】
Twitterカードが表示されない(Cocoonフォーラム)

ネットでいくら調べても調べても、「設定を見直しましょう」「キャッシュを削除しましょう」「Card validatorを試してみましょう」ばっかりで。
それは散々試したんだよー!
※ちなみに「Card validator」のプレビュー機能は現在は終了しています。

ページソースを確認しても、一応ちゃんと、Twitterカード用のタグは入っているように見える。

ごく少数、「プラグインのせいかも?」というのもあって、怪しそうなプラグイン(「EWWW Image Optimizer」とか)の設定を見直したり無効にしたり、それでも改善せず。
「XML Sitemap & Google News」のせいか?と色々検索している時に、上記のCocoonフォーラムがなぜか検索にヒットしました。

……この人と一緒だ!
私も画像パスが相対パスになってた!

で、メディア設定を見ると、案の定、余計なものが入力されていました。
説明を見るに、空欄にせず何かを入力するなら絶対パスを入力するべき欄でしょうに、なんでここに相対パスを入れたのかな…自分よ…。

よく分かってないままに設定を色々いじるから駄目なんですね。やれやれ。

おわり!

とりあえず覚え書きはここまでとします。
また今後何か出てきたら追記していきます。

コメント

タイトルとURLをコピーしました