今回はちょっとマニアックな話題です。

WordPressでは、パーマネントリンクとしていろいろな形式を選ぶことができます。

その中で、投稿名(sample-post)を選ぶとWordPressの投稿記事URLは

http://www.hoge.com/投稿記事タイトル/

となります。

この記事タイトルは日本語なので、SEO的にも有利に働きます。

しかし、問題があります。それは、日本語の場合には、UTF-8において1文字当たり9バイトを費やします。利用できるバイト数は200バイトなので、

200÷9=22

となり、日本語をパーマネントリンクする場合は、22文字が最大となります。

実際に記事のタイトルは、22文字を超えて使いたい場合も多いので、これだと、23文字以上は利用できなくなり、省略されてしまうのです。

文字数の制限される数を増やす方法はこちら。

1、WordPress3.6.1の場合

(1)wp-includesのformatting.php変更

$title = utf8_uri_encode($title, 200);

$title = utf8_uri_encode($title, 300);

にする

2、WordPress3.7.1の場合

(1)wp-includesのformatting.php変更

$title = utf8_uri_encode($title, 200);

$title = utf8_uri_encode($title, 300);

にする

(2)データベースの変更

wp_postsのpost_nameを

varchar(200)

から

varchar(300)

へ変更

*wp_postsは、サフィックスなどを入れている場合(マルチ化の場合など)は、この名前とは異なる場合があります。

データベース変更はWordPressのバージョンが上がった後に、post_nameフィールドが書き換わったために必要になったと考えられます。なので不要な場合もあるかと。

これにより、

300÷9=33

となり、文字数は最大33となります。

文字数が多過ぎることでSEO的に不利になる可能性もあるので、結果については、自己責任となりますのでご了承ください。

 

追記 2015/8/1 バージョン 4.2.3に変更する時にやったこと。

URLタイトルの文字数を増やすための変更

1、wp-includesのformatting.php変更

$title = utf8_uri_encode($title, 360);

200⇒360

2、wp-includesのpost.php変更

truncate_post_slug の数字の部分

200⇒360

3、データベースの変更

wp_postsのpost_nameを

varchar(200)

200⇒360

 

Related Post