ハードディスクメンテナンス ブログ

投稿記事数7,800以上!PC,カメラ,オーディオ,ラジオ,航空,旧ゲームなど

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

      2016年09月03日


自分で作成したサイト(以下「旧サイト」)を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で使用しているデータベースの使用容量を下げる方法

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

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



sha-bc@336×280

sha-bc@336×280


sha-bc@336×280

sha-bc@336×280

  関連記事

外箱_WRC-733GHBK
WRC-733GHBK-Cの購入とレビュー(エレコムの無線LAN親機,ルーター)

イクィヌァルィだが、新しいルーターを手に入れた。 シナモノは、エレコムのWRC- …

no image
[解決]ローカル内の他の端末からMySQLに接続できない件[my.cnf,bind-address]

DebianにMySQLを入れてDBサーバーとし、ローカル環境に置く。 試験サー …

B00Z6P4D34
NETGEAR(ネットギア)の SIMフリー モバイルルーター AirCard AC785-100JPS がタイムセールで11,264円!

NETGEAR WiFi LTE モバイルルーター SIMフリー 11b/g/n …

no image
さくらインターネットのCRONの設定画面(1.CRONの設定)

さくらインターネットのCRONの設定画面 CRON(クーロン)とは、決められた日 …

B018VK9N9E
NEC Aterm MR04LN LTE対応 モバイルルーター クレードル付属 ビッグローブSIM付 がタイムセールで18,900円!

ビッグローブのSIMがセットになっているが、契約する義務はなく、モバイルルーター …

B011L3BGMK
ELECOMの 無線LANルーター 親機 11ac/n/a/g/b 867+300Mbps WRC-F1167ACF がタイムセールで4,480円!

WANはGigabit! ELECOM WIFI 無線LANルーター 親機 11 …

全てブロック
Androidの通知の件 – 通知をブロックする方法

iOS端末だけでなく、Android(REI)を使うようになって気付いた点。 通 …

B00GOJ8GAW
ELECOMの 無線LANルーター 親機 11ac/n/a/g/b 1300+450Mbps WRC-F1167ACG がタイムセールで7,480円!

ELECOM WiFi 無線LANルーター 親機 11ac/n/a/g/b 13 …

no image
クエリに対して複数コアを使いこなさない問題(MySQL)

3コアのCPUに換装したDBサーバーであるが、重いクエリを発行した場合、複数コア …

B00PU5LFF4
BUFFALOの 無線LAN親機(Wi-Fiルーター) エアステーション WZR-S1750DHP (写真バックアップキット for iPhone付属) がタイムセールで12,566円!

BUFFALO 【iPhone6対応】 11ac/n/a/b/g対応 無線LAN …