パーマリンクはSEO的に日本語じゃないほうがいいと聞いたけど、記事のURLを日本語にしたまま公開してしまってる…自動で英語に変換してくれたりしないかなぁ…できればコピペで簡単に実装できれば助かるなぁ…
こういったお悩みに答えます。
本記事の内容
- パーマリンクが日本語の場合、自動で英語に変換
- 毎回設定する必要がなくなり、時短
- プログラミングの知識がなくてもコピペで簡単に実装
この記事を書いている僕は、現役Webデザイナー兼フロントエンドエンジニアとして5年目になります。
この記事では、コピペで簡単に実装できるWordPressのパーマリンクが日本語の状態で「下書き保存or公開」ボタンをクリックすると日本語が自動で記事IDに変換させる方法をご紹介します。
目次
完成イメージ
下の画像のように投稿ページのパーマリンクが日本語の状態で、「下書き保存or公開」ボタンをクリックすると日本語が投稿IDに変換されます。
※投稿IDとは、投稿タイトルにマウスを置いたときに画面左下に表示されるURL内の「post=」の後、「&action」の前にある数字が投稿IDです。
パーマリンクとは?
パーマリンクとは、「パーマネントリンク(Permanent Link)」の略でURL全体を指す言葉です。
Webページを開くとアドレスバーに表示されるURLを「パーマリンク」と呼びます。
webサイトの1つ1つの各ページを区別するためのWeb上の「住所」みたいなものです。
例)この記事であれば、下の図のようになります。
青い下線部分がドメイン、赤枠内を「パーマリンク」と呼びます。
Googleが推奨するパーマリンクの付け方
Googleは、「シンプルでわかりやすい単語」で構成されたスラッグをつかったパーマリンクを推奨しています。
可能な場合は、長い ID ではなく意味のある単語を URL に使用します。
シンプルな URL 構造を作成する。論理的かつ人間が理解できる方法で URL を構成できるよう、コンテンツを分類します。過度に複雑な URL(特に、複数のパラメータを含む URL など)は、サイト上の同じまたは同様のコンテンツを表す多数の URL が不必要に作成される原因となることがあります。
Google検索セントラル「シンプルな URL 構造を維持する」
その結果、クロールの際に問題が発生し、Googlebot が必要以上に帯域幅を消費したり、サイトのすべてのコンテンツがインデックスに登録されない状態を招いたりする可能性があります。
また、単語を区切る場合はハイフン(-
)を使用することを推奨しています。
URL では、ハイフンを使用して単語を区切ることを検討してください。それにより、ユーザーや検索エンジンが URL のコンセプトを理解しやすくなります。URL にはアンダースコア(
Google検索セントラル「シンプルな URL 構造を維持する」_
)ではなくハイフン(-
)を使用することをおすすめします。
日本語のパーマリンクで設定してしまうデメリット
日本語でも使えるようになってはいますが、実は使えるのはアルファベットだけなんです。
「URLエンコード」と呼ばれるURLに使ってダメな文字を使っていい文字の組み合わせに自動で変換されてしまいます。
例)
<https://test.jp/category/日本語の記事です>
↓ ※URLエンコードされると以下のようになります。
<https://test.jp/category/%E6%97%A5%E6%9C%AC%E8%AA%9E%E3%81%AE%E8%A8%98%E4%BA%8B%E3%81%A7%E3%81%99>
このようにURLが長くなってしまいます。
デメリットとしては下記があげられます。
- URLが非常に長くなり、可読性が低くなる
- エンコードされた日本語URLは、メールやSNSなどで共有する際に見栄えが悪くなる
- リンク切れや文字化けのリスク、読み込みエラーが発生する可能性がある
- 一部の検索エンジンやソーシャルメディアプラットフォームでは、日本語のパーマリンクが適切にインデックスされない場合がある
- 古いブラウザや一部のモバイルブラウザでは、日本語のパーマリンクが正しく表示されない可能性がある
これらを未然に防ぐ方法をさっそく解説していきます。
パーマリンクの日本語を自動変換させる実装方法
functions.phpにコードの追加
functions.phpに下記コードを追加します。
/**
* 自動的に投稿スラッグを変換する
*/
function custom_auto_post_slug( $slug, $post_ID, $post_status, $post_type ) {
// スラッグ内にエンコードされた文字が含まれているかチェック
if ( preg_match( '/(%[0-9a-f]{2})+/', $slug ) ) {
// 投稿タイプをURIエンコードし、投稿IDを追加して新しいスラッグを設定
$new_slug = utf8_uri_encode( $post_type ) . '-' . $post_ID;
return $new_slug; // 新しいスラッグを返す
}
return $slug; // スラッグが変更されない場合は元のスラッグを返す
}
// wp_unique_post_slugフィルターに自動生成関数を追加
add_filter( 'wp_unique_post_slug', 'custom_auto_post_slug', 10, 4 );
WordPressの管理画面から追加する場合
※functions.phpを触るので必ずバックアップを行ってください。
「外観>テーマディター」から編集します。
functions.phpに同じコードを追加して「ファイルを更新」をクリック
おまけ:コードの解説
関数定義
function auto_post_slug( $slug, $post_ID, $post_status, $post_type ) {
auto_post_slug
という関数を定義しています。この関数は、投稿スラッグを変更するためのものです。- 引数として
$slug
(現在のスラッグ)、$post_ID
(投稿ID)、$post_status
(投稿のステータス)、$post_type
(投稿タイプ)を受け取ります。
スラッグ内のURLエンコードされた文字のチェック
if ( preg_match( '/(%[0-9a-f]{2})+/', $slug ) ) {
preg_match
関数を使って、スラッグにURLエンコードされた文字列(例えば、%20
や%E3
など)が含まれているかどうかをチェックします。- 含まれている場合は、次のステップに進みます。
新しいスラッグの生成
$new_slug = utf8_uri_encode( $post_type ) . '-' . $post_ID; return $new_slug;
utf8_uri_encode
関数を使って、投稿タイプをURIエンコードします。- その後にハイフン `` を付けて、投稿IDを連結し、新しいスラッグを生成します。
- 生成された新しいスラッグを返します。
元のスラッグを返す
return $slug;
- URLエンコードされた文字が含まれていない場合は、元のスラッグをそのまま返します。
フィルターの追加
add_filter( 'wp_unique_post_slug', 'auto_post_slug', 10, 4 );
add_filter
関数を使って、WordPressのwp_unique_post_slug
フィルターにauto_post_slug
関数を追加します。- これにより、投稿スラッグが生成されるたびに
auto_post_slug
関数が呼び出されます。
まとめ
今回は、コピペで簡単に実装できるWordPressのパーマリンクが日本語の状態で「下書き保存or公開」ボタンをクリックすると日本語が自動で記事IDに変換させる方法をご紹介しました。
今回、ご紹介した方法を実装してしまえば、毎回記事のパーマリンクを設定する必要がなくなり、記事を書くことだけに集中できますので、参考にしていただければと思います。
実際の仕事でも、WordPressの案件はとても多いです。
WordPressをカスタマイズできるようになれば、自分の理想とする働き方を叶えることができる可能性はグッと上がります。
WordPress入門にオススメの本
WordPressKindle Unlimited対象作品
Kindle Unlimitedであれば30日間無料トライアルがあるので、無料期間中に学びきってしまいましょう。
勉強する上で最も重要なことは、アウトプット前提でインプットするということです。
アウトプットの名著「アウトプット大全」では、「書く」と「教える」はより自己成長を促すアウトプット方法だと述べられています。
つまりブログは「記事を書いて、読者に教える」ものなので、成長効果が高いアウトプットになります。
ブログ初心者でも「【画像付き】初心者でもわかる!WordPressでブログの始め方を全手順画像付きで解説!」この記事の手順通り進めると、ブログを開設できるよう全手順画像付きでブログの始め方を解説していますので、参考にしていただければと思います。
学んだことをアウトプットし、知識を定着させつつブログで稼ぐこともできます。
ブログで稼ぐなら「ASP」サービスの登録が必須になります。
登録は無料なので、ブログを立ち上げたタイミングでASPサービスに登録しておきましょう。
おすすめのASPサービスは、以下のASPに登録しておけば間違いなしです。
- もしもアフィリエイト:Amazon、楽天、Yahooショッピングなどの物販アフィリエイトをする場合は必ず登録しておきたいASP
- A8.net:ASP最大手で案件数もトップクラス。ジャンルもほぼ全ジャンル扱っています。
- afb:美容・エステ・婚活ジャンルを主に取り扱う予定なら登録しておきたいASP
- infotop:登録審査がないので、初心者の方でも利用しやすく高額案件豊富なのが魅力
「やっぱり独学だと不安…」「自分は意志が弱いしすぐサボっちゃうから独学なんてできるだろうか…」と感じる人もいると思います。
そんなお悩みを解決してくれるのは、Webデザインスクールです。
独学でも、Webデザイナーになるのは可能ですが、不明点などが自分の力で解決できず、学習途中で挫折してしまうこともあります。
僕は独学で勉強をしていましたが、わからないところはググるしか方法がなく、とても時間がかかったなと思います。
転職して、周りに聞いてみるとスクールに通っていたというWebデザイナーの方も多くいました。
下記のデザインスクールは、Webデザイナーとして働きはじめて現場で集まる情報やスクール経験者からの情報をもとにおすすめできるので参考にしてもらえればと思います。
- デザスタ:個人的に日頃から情報をチェックして信頼できるなと思っている越智 奎吾さんが運営するデザインスクール。現場で使える生きた技術を学べる一番おすすめできるデザインスクールです。
- デジハリ:有名Web制作会社LIGが運営するデザインスクールです。業界で活躍しているベテランのプロが特別講師となってセミナーで解説してくれるところが魅力的です。
- TechAcademy:オンラインプログラミングスクールの受講者No.1の実績あるスクールです。デザインを学びたいエンジニア向けのカリキュラムになっています。
以上、「【WordPress】パーマリンクの日本語を自動変換させる方法」でした。