Web Marketing Blog

株式会社プレスマンのWebマーケティング部によるスタッフブログです。

WordPress コーディング

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

2016年9月6日

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を禁止しておいたほうが良さそうです。

-WordPress, コーディング
-

Copyright© Web Marketing Blog , 2019 All Rights Reserved.