WordPressの記事作成時のパーマリンクを記事IDで自動生成する



こんにちは、YUTOです。

はてなブログからWordPressに移行してもう数ヶ月経過しましたが、はてなブログてパーマリンクは日付で自動生成されていました。

WordPressに移行して思ったことは、記事毎に自分で入力していかなければならないんですよね。

記事毎に毎回手動で入力するのはちょっと面倒臭い。

もちろんSEOを意識した場合は、URLを見ただけで何についての記事なのか判断できるようなURLにするのが一番望ましい。

例えばカメラ系の記事だったら、

https://yutof.com/camera

みたいな方がカメラについての記事なんだなって分かりやすいですよね。

しかし、毎回いちいち英語に変換するのが面倒臭い。

かと言って、変換するのを忘れてそのまま日本語でパーマリンクの設定をしちゃうと、URL上では文字化けをして無駄に長いURLになってしまう。

たまに、

https://yutof.com/%82%B9%E3%8・・・

このようなURL見たことありませんか?

これこそなんの記事かも分からないし、Googleからの評価もよろしくない。

パーマリンクを記事idに自動生成する

そこで、今回はパーマリンクを記事IDにして自動生成させる。

記事IDとはその記事が持つidのことで、ウィジェットやプラグインで利用できます。

例えば僕が使用しているWordPressテーマ「ストーク」の場合だとidを入力するだけで内部リンクをブログカードで表示できたりと、割と記事idを使用することが多い。

例えばこの記事で例えると、

https://yutof.com/post-2111

赤い部分の数字が記事のidとなり、自動で生成されます。

意味不明な記号が並ぶよりは圧倒的にこちらの方がいいので、僕はこちらのコードを実装しています。

やり方としては、ワードプレスの【ダッシュボード】→【外観】→【テーマの編集】→【functions.php】内に以下のコードを追加するだけ。

//WordPress の投稿スラッグを自動的に生成する
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 );

はい、これだけです。

これで基本的に新規投稿するときはその記事idでパーマリンクが生成されます。

英数字を自分で設定したい場合は書き換えれば適用されるのでなんの問題もありません。

ただ日本語の場合は自動で記事idに切り替わります。

これで日本語で意味不明なURLになるってことはありませんし、記事の管理もしやすくなります。

記事作成毎に面倒臭いと思っていた方は参考にどうぞ。

ではっ