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

投稿記事数8,000以上!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

  関連記事

B010F4OBT6
NEC Aterm MR04LN 3B LTE対応 モバイルルーター OCN モバイル ONE マイクロSIM付 クレードル付属 がタイムセールで18,600円!

クレードル付属でコノ価格! OCN モバイル ONEのSIMがセットになっている …

プライムナウ
アマゾンの「プライムナウ」に千葉県の一部が追加!

アマゾンが、一部商品を注文から1時間以内で届けるプライム会員向けサービスである、 …

データ通信量6ヶ月0円キャンペーン_mineo(マイネオ)
[9月1日~] mineo(マイネオ)が「データ通信量6ヶ月0円キャンペーン」と「いつもありがとうキャンペーン」を実施!

mineo(マイネオ)が、2016年9月1日から「データ通信量6ヶ月0円キャンペ …

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

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

観光案内所の隣に設置
So-netのSIMカード自販機(那覇空港,国際線ターミナル)

那覇空港の国際線ターミナルに、プリペイドSIMカードの自販機がある。 So-ne …

Fire TV
[9/26(本日)まで!] Fire TV Stickが実質980円?Fire TVシリーズがクーポンで3,000円OFF!プライム新規者にはクーポン券4,000円プレゼント [アマゾンプライムビデオ]

以前少し書いた、アマゾンプライムビデオが、9月24日から始まった。 関連:[9/ …

バッテリー表示(電池残量表示)
007Z(SoftBank)のバッテリー表示(電池残量表示)が消える問題 – Diagポートが開いているのが理由

SoftBankのモバイルルーターである、007Z(ZTEのMF80)。 SIM …

Googleフィードバック
Googleフィードバックがヤャクォスィーッ!

Googleにフィードバックという機能がある。 フィードバックを受けてサービス/ …

no image
「アクセス過多のため、アクセス数が制限されています」の対策 – さくらインターネット

さくらインターネットのレンタルサーバーを使っている人から、 「『アクセス過多のた …

no image
自鯖へのApacheのインストールと301リダイレクト

http://www.apache.org/dist/httpd/binarie …