URLの末尾をhtmlしたいとき、必要に応じて対応が必要です。
- 投稿記事は設定から変更する
- 固定記事はphpにソースを追加
- ランダムにURLを作るならプラグイン
投稿記事のデフォルトのままのURLを変更
デフォルトのままだと /?p=123 こんな感じになっていたり、タイトルの日本語がでてたりするけど、最初のうちに変更しておきたいところです。
①ダッシュボードの設定⇒パーマリンク設定を選択
②カスタム構造に以下を入れる
デフォルトで「基本」がチェックされていて、数字のURLになっています。
/%category%/%postname%.html
カスタムで入れたい内容は、
「ドメイン/カテゴリー/好きなディレクトリ名.html」という感じになります。
一般的なサイトの構造になるので、どのURLがなんのページだったかわかりやすくなります。
あとあと変更したくなったとなると、今までインデックスされいていたURLを変更する形になっていまします。リダイレクトを追加するなど手間が増えてしまうので、最初に変えておきましょう。
カテゴリーも設定しておこう
カテゴリーを日本語で作ったままにしておくと、文字化けしたり見栄えが悪いので、修正しておこう。
- ダッシュボードの投稿⇒カテゴリー
- 新しくカテゴリーを追加するなら名前に好きな名称を付けて、スラッグには英数字のみで記載
- 今までに追加したカテゴリーの変更なら、右側に出ている項目にマウスを持っていったらクイック編集と出るので、クリック
- 新規で作るのと同様に名前とスラッグを修正しよう。
SEO的にもURLはページの内容がわかるようなものがいいとされていますので、
日本語をローマ字で書いたURLより、翻訳ツールなどを利用して英語を使うようにするといいでしょう。
固定記事の末尾を.htmlにする
パーマリンク設定では固定ページの末尾まで変更ができません。
固定ページのURLを変更したいときは、functions.phpに以下ソースを追加します。
function.phpに入れるソース
add_action('init', 'mytheme_init'); if (!function_exists('mytheme_init')) { function mytheme_init () { global $wp_rewrite; $wp_rewrite->use_trailing_slashes = false; $wp_rewrite->page_structure = $wp_rewrite->root. '%pagename%.html'; } }
更新をした後、パーマリンク設定を更新しましょう。
設定内の変更は行わずに、更新するだけでOK!
Custom Permalinksプラグインを使う方法
プラグインを入れれば、固定記事だけでなく、投稿記事も一緒に変更できるので初心者の方にはお勧めです。
プラグインの入れ方
- ダッシュボードのプラグインから新規追加をクリック
- 検索窓にCustom Permalinksをコピペ
- 今すぐインストールをクリック
- 有効化をクリック
固定ページへ行くと、URLの入力窓の後ろにスラッシュがついていません。
.html以外にも好みのURL設定ができるようになりました。
Custom Permalinksは固定ページのディレクトリ構造も調整することが可能です。
例えば https://ドメイン/exemple.html → https://ドメイン/about/exemple.html に変更できます。
Custom Permalinksを入れると固定記事だけでなく、投稿記事も同様に変更できるようになります。
ランダムに変更しすぎると設定しているカテゴリとURLのディレクトリ名が一致していなくて、構造の迷子になってしまうこともあるかもしれません。好みで設定はできますが、カテゴリ設定も同時に行いながら調整しましょう。
変更するときに注意すること
すでにサイトを公開している状態であればインデックスされている可能性が大です。
検索結果が上位だったのに、404エラーで流入がなくなってしまうのは避けたいところ。
URLの変更をするのは、サイト公開前までに必ず行ってください。
ブログとかでとりあえず公開して、徐々に調整しているという方は、
リダイレクト処理を忘れず行いましょう。
リダイレクトは.htaccessに変更前のURL→変更後のURLに変わったことを書きます。
1ページごとにURLの変更をする場合
.htaccessは、サーバーFTPに入ってすぐにあるはずです。
こんな感じで書いてあげれば、404エラーなどで流入減少を抑えられます。
RewriteEngine on RewriteRule ^http://www.ドメイン.com/example/$ http://www.ドメイン.com/example.html [L,R=301]