スタッフブログ

WordPressの投稿で日本語URLを禁止する

WordPressの投稿で日本語URLを禁止する

WordPressで日本語のタイトルを入力した場合、パーマリンク(記事のURL)にも自動的に日本語が入ってしまいます。

これを禁止するには、functions.phpにコードを記述します。

WordPressの投稿スラッグを自動的に生成する
http://www.warna.info/archives/2317/

/**
* スラッグの日本語禁止
*/
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_type-post_id」に自動で置き換える処理を行っています。
投稿、固定ページ、カスタム投稿全てで有効になります。

日本語URLを禁止してくれるプラグインなども存在しますが、私は毎回このコードを記述させていただいています。
いつもありがとうございます😀

日本語URLのメリットとデメリットについて

ところで余談ですが、Googleフォーラムでは「SEOの観点から言うと、日本語URLでもアルファベットのURLでもどちらでも構わない」という結論が出ています。

URLの日本語と英語表記の違いに関して
https://productforums.google.com/forum/#!topic/webmaster-ja/Ku5FY_VM6Gc;context-place=forum/webmaster-ja

ただし、日本語URLだと英数字・記号に変換(エンコード)されて記号が混在した長い文字列となり、正常にリンクを貼ることができず、被リンクとして扱われない可能性があります。

例えば、ブログサービスの中には、日本語URLを貼っただけでは正しいリンクにならないものもあります。

もちろんリンクタグを書き換えたり、HTMLの編集を行えば正しいリンクに設定することは出来ますが、URL設定をエンコード表記にして設定する、などといった手間が発生してしまいます。

短縮URLが自動で発行されないメディアやSNSで頻繁にシェアされるようなサイトの場合は、あらかじめ日本語URLを禁止しておいたほうが良さそうです。

ABOUT ME
日野 夕奈
Webマーケティング部のスタッフです。主にデザインとコーディングを担当しています。見やすさ&わかりやすさ、それにちょっぴり遊び心を加えたWebデザインを目指しています。