# WEB制作技術やツール
ブログ・お知らせ

ワードプレスのホームページでスラッグを英数字に変更する方法
記事公開日:
最終更新日:
マザーシップウェブ制作事務所です。こんにちは。
ワードプレスで制作されたホームページのURLに日本語が含まれているサイト、技術的には問題はないのですが、なんとなく気になりませんか?
特にコピーしたとき
みたいになるのイヤじゃないですか?
こちらを改善する方法を紹介します。
手動で英数字のスラッグを設定する方法
SEOに効果があるかは定かではないのですが、なんとなく意識したいよという方は手動でテーマに合ったスラッグを設定しましょう。
「投稿スラッグ」を英数字に変換
ブロックエディタの場合
右列の「設定」から「投稿」タブを選択し、リンクの右側のテキスト(図では/日本語表記名となっているところ)をクリックします。
入力する場所が出てくるので、任意の英数字を入力しましょう。
クラシックエディタの場合を英数字に変換
タイトル下の「編集」をクリック
任意の英数字スラッグを入れて「OK」を押すことで完了です。
「カテゴリー」スラッグを英数字に変更
左列から「カテゴリー」を選択してカテゴリー一覧のページへ移動します。
任意のカテゴリーのクイック編集を選択します。
スラッグの部分に英数字を入力し、「カテゴリーを更新」をクリックすることで完了です。
スラッグを自動的に英数字に変換する方法
毎回、変えるのは面倒だよ!という方は自動に変換する方法を利用してください。
「投稿スラッグ」を英数字に変換
functions.phpに以下のタグを入力します。
//投稿スラッグを英数字に変換
function auto_post_slug( $slug, $post_ID, $post_status, $post_type ) {// スラッグがURLエンコードされていない場合に処理
if ( preg_match( '/[%]+/', $slug ) ) {
$slug = $post_type . '-' . $post_ID; // post_type と ID を組み合わせたスラッグに変更
}
return $slug;
}
add_filter( 'wp_unique_post_slug', 'auto_post_slug', 10, 4 );
こちらの入力後は、投稿のタイトルを入力した時点で、記事スラッグが[ポストタイプ名]-[ポストID]に自動変換されます。
例えば、投稿の場合は、post-1234のような感じになります。
「カテゴリースラッグ」を英数字に変換する方法
functions.phpに以下のタグをペーストします。
//投稿スラッグを英数字に変換add_action( 'create_category', 'post_taxonomy_auto_slug', 10 );
function post_taxonomy_auto_slug( $term_id ) {
$tax = str_replace( 'create_', '', current_filter() );
$term = get_term( $term_id, $tax );
// タームが取得できない場合のチェック
if ( is_wp_error( $term ) || !$term ) {
return;
}
// slugs に不正な文字列が含まれているかチェック
if ( preg_match( '/(%[0-9a-f]{2})+/', $term->slug ) ) {
$args = array(
'slug' => $term->taxonomy . '-' . $term->term_id // より識別可能なスラッグに変更
);
// タームを更新
wp_update_term( $term_id, $tax, $args );
}
}
こちらで作業完了です。
投稿画面からタイトルを入力したり、新規カテゴリーを追加したりすると自動的に英数字のスラッグで出力されますよ!
以上になります。
ワードプレスのホームページでスラッグを自動的に英数字に変換する方法と手動で変更する方法についてお知らせしました。
参考になれば幸いです。