WordPressに移行する際のURL混在問題 パーマリンク設定 カスタム構造

この記事は約4分で読めます。
スポンサーリンク

当サイトには広告が含まれています。

自分で作成したサイト(以下「旧サイト」)をWordPressに移行する場合、Export機能はないので、極力手間をかけずに移行するのは大変だが、移行できたとしても困るのが、URLの扱い。

WordPress

URLが異なると「ページが見つかりません」になってしまうサカイ、検索エンジンで直に来られた場合に困る。

そのまましばらく放置すると検索エンジンも新しいURLを認識するようになるが、それまでの間困る。

URLを投稿時に毎回自分で決める場合は問題ないだろうが、面倒なので自動で付けたい。

それは %postname% であるが、自分で決めるのは面倒杉流至、自動で付く場合でもタイトルを元にするので、2バイト文字が入ったりして気に入らない。

投稿IDである %post_id% を使うのが、見た目でスッキリするので好ましい。

# 最新のSEO的にどうかは知らん。

関連:WordPressのパーマリンクの使い方

WordPressの設定画面にパーマリンク設定があるが、旧サイトではその都度決めたURL、それをWordPressに移行し、新たに記事を追加する場合、移入記事と新規記事のURLの扱いが異なって問題になる。

移入記事に対してはパーマリンク設定で「カスタム構造」を選択すると投稿毎に独自のURLが指定できるが、それ以後の投稿で自動で付けたい場合、「カスタム構造」では自動にならない(自動であっても2バイト文字とか以下略)。

と書きながら、旧記事に対してはカスタム構造(独自設定)とし、新記事に対しては%post_id%を使ったカスタム構造で問題なく投稿できていた(共存)のであるが、誤って変えてしまったのかヴァグなのか、共存できなくなってしまった。

旧記事を優先して新記事のURLを全て指定し直すのは面倒杉手無理だし、新記事を優先すると旧記事が「見つかりません」となる。

DBを眺めてコティアコティアしようかと思ったが、%post_id%を使ったカスタム構造とし(新記事優先)、旧記事に対しては.htaccessでRedirect permanentを使って飛ばすことにした。

そのためには旧記事の独自設定(旧URL)とpost_id(新URL)の関係をDBから引っ張る必要があったけど。

旧URLの一覧は移行前のファイル群から探し出したので、それを元にSELECT文で相方をヒッパリ出す。

ソシて

Redirect permanent /old.html /1.html
Redirect permanent /furui.html /2.html
Redirect permanent /masuzoe.html /3.html

と.htaccessに列記して作業終了。

.htaccessには、WordPressが記述した

# BEGIN WordPress

# END WordPress

という内容があるので、Redirectはその前(上)に書く。

コレで、新投稿は投稿ID(%post_id%)を用いて自動付加で、旧記事に対してはリダイレクトで新投稿と同じ構造のURLに飛ばし、「見つかりません」を回避できる。

Redirect permanentは301(永遠移転)なので、ジキに検索エンジンも自動付加型のURLを示すようになろう。

そうなっても、Redirect設定はそのままで問題ない。

個人サイトに記された旧URLからのリンクもあるだろうし。

関連:[WordPress] データベースの使用容量を下げる方法 [Better Delete Revision]

関連:[WordPress] 特定のカテゴリーの記事をトップページに表示させないが、そのカテゴリーの一覧では表示させる方法

一歩先にいくWordPressのカスタマイズがわかる本
相原 知栄子 大曲 仁
翔泳社
売り上げランキング: 1,733
WordPress Web開発逆引きレシピ WordPress4.x/PHP7対応
藤本 壱
翔泳社
売り上げランキング: 34,795
タイトルとURLをコピーしました