ワードプレスをベースにサイトを制作する場合、独自テンプレートを構築します。その際に、デザイン上サイト内に固定リンクを張る場合があります。
例えば特定カテゴリ記事へのリンクバナー等です。
今回、そのバナー経由で表示した記事一覧ページで、改ページボタンを押したら404エラーが発生しました。
なんでだろう?
と思い調査したところ、思いもよらぬ原因がありました。
ただ、簡単に対処できましたので、忘備録として記録いたします。
現象はこのような感じです。
こちらの記事一覧をご参照いただくと、ページ下部に改ページがあります。
次のページへ移動すると、404 Not foundになります。
ただ、改ページ処理はwordpless標準のものです。
wordpless標準処理だけなのに、なぜ改ページで404 Not foundになってしまうのでしょうか?
原因はURLの表記の方法にありました
サンプルページのURLは「https://office-obata.com/report/memorandum/」です。
「/memorandum/」は、ブログ記事カテゴリに割り当てたスラッグ名です。
一見特に問題はないように思われますが、表記方法に誤りがあります。
正しくは以下のように表記します。
「https://office-obata.com/report/category/memorandum/」
スラッグ名の前に「/category/」を表記しなければいけません。
論より証拠です。
こちらのURLを開いていただくと、先ほどと同じページですが改ページ処理が正しく行われます。
つまり、単なる表記ミスでした。
バナーにリンクを張る際に、「wordplessトップページURL」 + 「該当カテゴリスラッグ名」をつけていたのですが、単に「/category/」パスをつけ忘れていただけでした。
「/category/」パスがなくても、それなりに表示されるため気づきにくいですが、バナーにカテゴリリンクを記載する場合は、正しいURLをつけることが大事ということを学びました。
パーマリンクを変えても同じでした。
本ブログは、パーマリンク設定を「カスタム」にし、「/%category%/%postname%/」を割当しています。
もしかしてそのために「/category/」パス名が必須なのではないかと思いました。そこで、パーマリンク設定でたの設定を試してみましたが、結果は同じでした。
どうやらwordplessの仕様のようです。
ただ、自動生成されるカテゴリリンクなどは「/category/」パス名が付加されています。
あくまでも任意で固定リンクを設置する場合に気を付ける事項でした。
実際に表示されているURLをコピーすればよかったのですが、単にカテゴリスラッグ名だけでよいだろうと勘違いした結果でした。
また一つ良い経験をいたしました。