日本語のslugは強制的に「投稿タイプ+ID」に変換する方法 | 大阪 ホームページ制作 株式会社TREVOの技術ブログ

技術ブログ

日本語のslugは強制的に「投稿タイプ+ID」に変換する方法

2024.12.19.

WordPress

X Facebook Pocket LINE はてブ

株式会社TREVOの月額制ホームページ制作サービス
PR

WordPress導入時には、パーマリンクの設定が重要なポイントです。特に日本語を含むURLの場合、その扱いに注意が必要です。本記事では、日本語URLの特徴と注意点、設定方法について解説します。

日本語URLの特徴と課題

日本語URLが自動変換される場合

日本語のパーマリンクをそのまま使用した場合、FacebookやTwitterなどのSNSでリンクを貼ると、以下のようにURLがエンコードされてしまいます。

例:日本語URLの変換例

元のURL:

https://www.trevo-web.com/テスト用の架空URLなのでアクセスはできません

SNSや一部サービスでの表示:

https://www.trevo-web.com/%E3%83%86%E3%82%B9%E3%83%88%E7%94%A8%E3%81%AE%E6%9E%B6%E7%A9%BAURL%E3%81%AA%E3%81%AE%E3%81%A7%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%81%AF%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%9B%E3%82%93

このように、長く読みにくいURLに変換されるため、リンクの見た目が悪くなる可能性があります。

日本語パーマリンクを避けるための設定方法

日本語URLを避ける場合、投稿スラッグ(URLの一部)を自動的に変換する方法があります。以下のコードを functions.php に追加することで対応可能です。

設定コード

function auto_post_slug( $slug, $post_ID, $post_status, $post_type ) {
    // スラッグに日本語が含まれる場合
    if ( preg_match( '/(%[0-9a-f]{2})+/', $slug ) ) {
        // 投稿タイプと投稿IDを組み合わせてスラッグを作成
        $slug = utf8_uri_encode( $post_type ) . '-' . $post_ID;
    }
    return $slug;
}
add_filter( 'wp_unique_post_slug', 'auto_post_slug', 10, 4 );

コードの動作説明

スラッグのチェック

投稿のスラッグ(URLの一部)に日本語が含まれているか確認。

preg_match() でエンコードされた日本語部分を検出。

スラッグの自動生成

日本語が含まれる場合、投稿タイプ投稿ID を組み合わせた英数字のスラッグに自動変換。

フィルターフックの利用

wp_unique_post_slug フィルターを使用して、スラッグの自動生成処理を適用。

運用のポイント

  • 日本語パーマリンクを使用するかどうかは、サイトの目的運用環境を考慮して決定する必要があります。
  • 設定後も、SEO効果やユーザーエクスペリエンスに応じて見直しを行いましょう。

まとめ

WordPress導入時にパーマリンクの設定を適切に行うことで、ユーザビリティやSEO効果を最適化できます。
この記事を参考に、日本語URLのメリットとデメリットを理解し、自分のサイトに最適な設定を行ってください。

質問やサポートが必要な場合はお気軽にお問い合わせください!

大阪のホームページ制作会社TREVOでは、ホームページ制作に関する情報を掲載しています。最短2日で仮サイトを公開するサービスやSEO対策に特化したホームページ制作、オリジナルホームページデザイン、ライティング、リスティング広告、WEBマーケティングなどのサービスをご紹介しています。

板浪雅樹 のアバター

経歴: 映像制作の専門学校を卒業後、映像制作(編集・撮影)でのアシスタント、カーナビゲーション用の3DCG制作、PS2用の3DCGゲーム背景制作、16ミリフィルムのデジタル変換業務等を経てWEB制作部門のある会社に就職。株式会社TREVOでディレクション、SEO対策、CMS開発、3DCG制作、映像制作を担当

X Facebook Pocket LINE はてブ
WEB無料相談