WordPressの日本語記事タイトルがパーマリンクに含まれないように、自動的に記事IDに変換する

一部の有料テーマだと、投稿タイトルに日本語の場合は、自動的に投稿IDをスラッグにする機能を持っているテーマもあります。

今回、依頼で相談があった事例は、WordPressテーマがこの機能を持っている場合から、他のテーマへ変更したところ、パーマリンクに日本語URLが入ってしまうのを改善したいとのことでした。

手動で英数字だけのスラッグを設定すると解決できるのですが、スラッグを作るのは、手間が増えてしまいます。

根本的には、パーマリンク構造に %postname% を含まない、数字ペース( archives/%post_id% )だと、この問題が起きないのですが、記事数があるブログなので、パーマリンク構造を変更すると、SNSのイイネ数がリセットされてしまいます。イイネも獲得した外部リンクなので、SEO的にネガティブに働きかねないので、パーマリンク構造そのものの変更は、選択肢に入れることができません。

調べたら、まさに!という記事がありました。

日本語タイトルの場合は、記事IDに自動で変換、スラッグを手動設定している場合はそのままに。そんな処理をする方法が紹介されていました。

これを子テーマがある場合は、子テーマのfunctions.phpに追記してしまえば、オッケーです。

子テーマが存在しない場合は、Code Snippetプラグインを導入して、上のコードを追記すればOKです。

なお、すでに公開済みで日本語タイトルが含まれる記事も、記事編集画面にて更新を押せば、URLが変更されます。しかも、元々の日本語を含むURLからもリダイレクトしリンク切れになりませんでした。

講座開催 ご案内
広告

この記事を書いた人

ものくろ(Webコーチ)

株式会社あみだす 代表取締役 / 博士課程中退(農学) / ブロガー / Web&Blogコーチ / 親指シフト orzレイアウト開発者 / 講師 / フリーランス / 旅人 / 民事裁判経験者 / 毎月どこかに出張

ブログは月間65万PVを記録(2016年1月)。 これまでに250回を超えるワークショップ開催・のべ1,200名のブログサポートに携わる。

WordPressが得意 / 好きなもの(無刻印キーボード・十割蕎麦・湯葉)/ あまり好みでないもの(ブロッコリー・値切り)

開催している講座に参加する

この記事が気に入ったら
いいね!しよう

最新の情報をお届けします