WP パーマリンク設定 基本でcanonicalの&や=が/に変わる不具合

最近なにかを入れ替えた覚えは無いのですが、9/2くらいから発生したGoogle Search ConsoleのURLエラーが大量に出てるので調査してみた。

Google Search ConsoleのURLエラー

ふとGoogle Search Consoleを見るとエラーが235件になっているので調べた。

Google Search ConsoleのURLエラー

どうやらcanonicalのリンクがおかしなURLになっているもよう。

Google Search ConsoleのURLエラー2

不具合の内容

これはWPのパーマリンク設定を「基本」にした時のみの不具合かもしれません。

カテゴリーページの2ページ目以降でcanonicalなどがこのように↓なります。

<meta property="og:url" content="https://bey.jp/?cat=986/page/35">
<meta name="twitter:url" content="https://bey.jp/?cat=986/page/35">
<link rel="canonical" href="https://bey.jp/?cat=986/page/35">

上記のようなURLになる。本当は以下のようなURLになるのが正常。

https://bey.jp/?cat=986&amp;page=35

&と=が「/」に変わってる・・・なんで?

Simplicity generate_canonical_url()修正

ちょっと調べるとSimplicityのgenerate_canonical_url()が正常に出力してないようです。

simplicity2\lib\seo.php 182行目あたりを修正してみる。

$canonical_url = $canonical_url.'/page/'.max( $paged, $page ).''
  ↓
$canonical_url = $canonical_url.'&page='.max( $paged, $page ).''

このように変えてみた。

og:urlとtwitter:urlはこれで正常なリンクができたけど、canonicalはまだhttps://bey.jp/?cat=986/page/35と表示される・・・なんで?

ページネイションをcanonicalにしない設定にする

Simplicityのスクリプトを変えてもcanonicalは修正されなかったので・・・

All in One SEOのプラグイン設定でページネイションをcanonical URLsにしないにチェックを入れて、カテゴリーのトップページにのみcanonicalするようにした。

ページネイション

これで一時しのぐ。

原因はなんだろうか?

シェアする

  • このエントリーをはてなブックマークに追加

フォローする