web制作

WordPressの記事URLが日本語にならないようにする方法

こんにちは!さとけん( @web_satoken )です。

WordPressの記事URLが、自動で日本語にならないようにしたい!

といった方に向けての記事を書きました!

WordPressでは、パーマリンク設定を”投稿名”の設定にしている方が多いと思います。

その際に、次のように記事を書いて保存すると、URLスラッグが”日本語”で自動生成されますよね。

このままの状態で投稿URLをコピーして貼り付けると、長い文字列のURLになってしまいます。

https://satokenblog.com/%E3%81%93%E3%81%93%E3%81%AB%E3%82%BF%E3%82%A4%E3%83%88%E3%83%AB%E3%81%8C%E5%85%A5%E3%

このままのリンクでも表示はされますが、

・SEO対策としてどうなのか

・ユーザーが怪しく感じてしまい、クリックされにくくなる

といった問題点が出てきます。

なので、本来はこの記事URL「/wordpress-post-slug/」のように、”英語”に書き換える必要があるのですが、運営するクライアント様によっては、URLまで気にしていない方がほとんどですよね。

そこで今回は、投稿URLが”日本語”のままの状態で保存した際に、自動で”英語”のURLスラッグを生成する方法を紹介します!

それでは、さっそくみていきましょう!

WordPressの記事URLが日本語にならないようにする方法

WordPressの記事URLが日本語にならないようにするには、functions.phpに以下を記述するだけ。

// =====================================
// 投稿/固定ページのURLが日本語の場合、記事IDで自動生成する
// =====================================
function auto_post_slug($slug, $post_ID, $post_status, $post_type)
{
    if (preg_match('/(%[0-9a-f]{2})+/', $slug)) {
        $slug = utf8_uri_encode($post_type) . '-' . $post_ID;
    }
    return $slug;
}
add_filter('wp_unique_post_slug', 'auto_post_slug', 10, 4);

この記述によって、日本語のままの状態で保存すると、URLスラッグが自動で「post-記事ID」に生成されます。

通常投稿のほかに、固定ページやカスタム投稿の場合でも以下の形で生成してくれます。

  • 投稿の場合:post - ◯◯
  • 固定ページの場合:page - ◯◯
  • カスタム投稿の場合:(カスタム投稿タイプのスラッグ) - ◯◯

さとけん

URLスラッグを自身で英語に書き換えた場合は、そのまま適用されるので安心してください!

すでに公開されている記事URLが日本語になっている場合、その記事を更新するとURLが自動で変更されてしまうため、注意が必要です。(リンク切れ等の問題)

まとめ

今回は、WordPressの投稿URLが日本語にならないようにする方法を紹介しました。

記事がシェアされる可能性も配慮して、構築段階からfunctions.phpに記述しておくと良いですよ。

  • この記事を書いた人

さとけん

地方のWeb制作屋|28歳|内向型・HSP(繊細さん)|未経験からWeb制作フリーランスとして独立。1年で月収1万円→50万円を達成。制作実績は100件以上。「会社に縛られず、個人で働きたいHSPさんを応援する」が理念。Web制作についての内容や、HSP×フリーランスの背中を押す内容を発信します。

-web制作