【停止】WordPressのスラッグを自動英語化!(Simple Slug Translateプラグイン)

ただし、すでに2年以上前に開発が止まっています。

このプラグインは WordPress の最新3回のメジャーリリースに対してテストされていません。もうメンテナンスやサポートがされていないかもしれず、最新バージョンの WordPress で使用した場合は互換性の問題が発生する可能性があります。

Simple Slug Translate – WordPress プラグイン | WordPress.org 日本語

はじめに

WordPressでブログや記事を書いていると、URLの一部となるスラッグ(slug)の設定に悩むことがあります。特に日本語記事を書く場合、そのままスラッグに日本語を使うと「%E6%B2%88%E9%BB%99%E3%81%AF%E9%87%91」のような文字化けしたような表示になってしまいます。かといって、毎回手動で英語のスラッグを考えるのは手間がかかります。

そこで役立つのが「Simple Slug Translate」というプラグインです。このプラグインは日本語のタイトルを自動的に英語に翻訳してスラッグとして設定してくれます。今回は、このプラグインの導入方法から詳細な設定、実際の使用方法まで、技術的な視点から詳しく解説します。

「スラッグ」とは何か、なぜ重要なのか

スラッグとは、WordPressにおいて投稿や固定ページのURLの一部となる文字列を指します。例えば「https://example.com/sample-article/」というURLがあった場合、「sample-article」の部分がスラッグです。これはURLの中でコンテンツを識別する重要な役割を果たします。

スラッグを適切に設定することには、以下のメリットがあります:

  1. SEO(検索エンジン最適化)の観点から有利です。Googleは英語のURLを好む傾向があります。
  2. URLが短く、読みやすくなります。
  3. SNSなどでURLを共有する際に見栄えが良くなります。
  4. 記事内容をURLから推測できるため、ユーザー体験が向上します。

日本語タイトルをそのままスラッグにすると、URLエンコーディングという処理が行われ、「%E6」のような文字列に変換されてしまいます。これは見た目が悪いだけでなく、SEOにも良くありません。

Simple Slug Translateプラグインの特徴

Simple Slug Translateは、日本語のタイトルを自動的に英語に翻訳し、適切なスラッグとして設定するプラグインです。主な特徴は以下の通りです:

  1. 自動翻訳機能:記事タイトルを入力するだけで、自動的に英語に翻訳されスラッグとして設定されます。
  2. 多様なコンテンツタイプに対応:投稿、固定ページだけでなく、カテゴリー、タグ、カスタム投稿タイプなど、スラッグを持つ様々なコンテンツに対応しています。
  3. IBM Watson翻訳エンジンの活用:高精度な翻訳を実現するためにIBM Watson Language Translator APIを使用しています。
  4. カスタマイズ可能:自動生成されたスラッグを確認し、必要に応じて手動で編集することもできます。
  5. 無料利用可能:IBM Cloudの無料枠(Liteプラン)を使えば、月間100万文字まで無料で利用できます。

技術的な仕組み

Simple Slug Translateは、バックグラウンドで以下のような処理を行っています:

  1. WordPressの投稿保存時に、タイトルをフックで取得します。
  2. 取得したタイトルをIBM Watson Language Translator APIに送信します。
  3. APIから返ってきた英訳文を取得します。
  4. 英訳文をWordPressのスラッグとして適した形式(小文字、スペースをハイフンに変換など)に整形します。
  5. 整形されたテキストをスラッグとして設定します。

プラグインは内部でwp_insert_postedit_termなどのWordPressフックを利用して、コンテンツ保存時に自動的に処理を実行します。

実装手順

1. Simple Slug Translateのインストール

まずはWordPressの管理画面からプラグインをインストールします:

  1. 管理画面の「プラグイン」→「新規追加」を選択します。
  2. 検索フィールドに「Simple Slug Translate」と入力します。
  3. プラグインが表示されたら「今すぐインストール」をクリックし、その後「有効化」をクリックします。

2. IBM Cloudアカウントの作成と設定

Simple Slug Translateを使用するには、IBM Cloudのアカウントを作成し、Language Translator APIを設定する必要があります:

  1. IBM Cloud公式サイトにアクセスします。
  2. 「アカウントの作成」をクリックし、画面の指示に従ってアカウントを作成します。
  3. アカウント作成後、ログインします。
  4. ダッシュボードの検索バーで「Language Translator」と検索します。
  5. 検索結果から「Language Translator」を選択します。

3. Language Translatorインスタンスの作成

IBM Cloudにログインしたら、Language Translatorのインスタンスを作成します:

  1. リージョンは「東京」を選択します(他のリージョンでも動作しますが、日本からのアクセスなら東京が最適です)。
  2. 料金プランは「ライト」(無料プラン)を選択します。このプランでは月間100万文字まで無料で翻訳できます。
  3. サービス名は任意の名前を入力します(英語の名前を推奨)。
  4. 「作成」ボタンをクリックします。

4. APIキーとエンドポイントURLの取得

Language Translatorのインスタンスが作成されたら、APIキーとエンドポイントURLを取得します:

  1. 作成したLanguage Translatorのインスタンスページに移動します。
  2. 左側のメニューから「サービス資格情報」を選択します。
  3. 既存の資格情報がある場合はそれを使用するか、「新規資格情報」ボタンから新しく作成します。
  4. 表示された資格情報から「apikey」と「url」の値をコピーします。これらは後でプラグインの設定に使用します。

5. Simple Slug Translateプラグインの設定

WordPressの管理画面に戻り、Simple Slug Translateの設定を行います:

  1. 管理画面の「設定」→「Simple Slug Translate」を選択します。
  2. 「API Key」フィールドに、先ほどコピーしたIBM CloudのAPIキーを入力します。
  3. 「End Point URL」フィールドに、同じくコピーしたエンドポイントURLを入力します。
  4. 「Save Changes」ボタンをクリックして設定を保存します。

6. 動作確認

設定が完了したら、実際に動作するか確認します:

  1. 新しい投稿を作成し、日本語のタイトルを入力します。
  2. タイトル入力欄の下に「スラッグ」欄があり、タイトルを入力すると自動的に英語のスラッグが生成されるはずです。
  3. 必要に応じて自動生成されたスラッグを編集することもできます。
  4. 投稿を公開すると、英語のスラッグを含むURLが適用されます。

詳細設定とカスタマイズ

APIバージョン設定

IBM Watson Language TranslatorのAPIは定期的に更新されます。最新のAPIバージョンを使用したい場合は、プラグイン設定画面の「API Version」フィールドに適切なバージョン番号(例:「2018-05-01」)を入力できます。空欄のままにすると、プラグインがデフォルトのバージョンを使用します。

翻訳モデルの選択

プラグイン内部では「ja-en」という翻訳モデル(日本語から英語)がデフォルトで使用されています。他の言語に対応したい場合は、プラグインのPHPコードを編集する必要があります。

例えば、英語から日本語への翻訳モデルを使用したい場合は、プラグインのコード内で「ja-en」を「en-ja」に変更します。

スラッグの手動編集

自動生成されたスラッグが必ずしも理想的でない場合があります。そのような場合は、投稿編集画面でスラッグを手動で編集できます。一度手動で編集したスラッグは、その後タイトルを変更しても自動的に更新されません。

バッチ処理での既存コンテンツの変換

既存の記事やページのスラッグをまとめて変換したい場合は、WP-CLIなどのコマンドラインツールを使用するか、Simple Slug Translateのコードを参考にしたカスタムスクリプトを作成する必要があります。

技術的な注意点

APIの利用制限

IBM CloudのLiteプランでは、月間100万文字までという制限があります。大量の記事を一度に処理する場合や、非常に更新頻度の高いサイトでは、この制限に達する可能性があるため注意が必要です。

APIの仕様変更

IBM Cloudは定期的にAPIの仕様を更新する場合があります。2021年にはエンドポイントURLの変更がありました。このような変更があった場合は、プラグインの設定を更新する必要があります。プラグイン開発者のブログや公式サイトを定期的にチェックすることをお勧めします。

パフォーマンスへの影響

Simple Slug Translateは記事の保存時にAPIリクエストを行います。そのため、インターネット接続が遅い環境や、IBM Cloudのサーバーに問題がある場合、記事の保存に時間がかかる可能性があります。

セキュリティ上の考慮点

APIキーは重要な認証情報です。WordPressのデータベースに保存されるため、サイトのセキュリティには十分注意してください。また、記事のタイトルはIBM Cloudのサーバーに送信されるため、極めて機密性の高い情報を記事タイトルに含めない方が良いでしょう。

実際の運用例と効果

筆者が運営するブログでは、Simple Slug Translateを導入後、以下のような効果がありました:

  1. 作業効率の向上:スラッグを考える時間が不要になり、記事作成の効率が上がりました。
  2. SEO効果:適切な英語スラッグにより、検索エンジンでの評価が向上しました。
  3. URLの一貫性:全ての記事で一貫した形式のURLが維持されるようになりました。

例えば、「WordPressのカスタマイズ方法について解説」というタイトルの記事を作成すると、自動的に「explaining-how-to-customize-wordpress」のようなスラッグが生成されます。

トラブルシューティング

APIキーの設定が上手くいかない場合

まず、コピー&ペースト時に余分な空白が含まれていないか確認してください。また、IBM Cloudの管理画面でAPIキーの有効性も確認できます。

翻訳が実行されない場合

以下の点を確認してください:

  1. プラグインが有効化されているか
  2. APIキーとエンドポイントURLが正しく設定されているか
  3. IBM CloudのLanguage Translatorサービスが正常に動作しているか
  4. WordPressのデバッグモードを有効にして、エラーメッセージを確認する

特殊文字が含まれる場合

タイトルに特殊文字(例:「!」「?」「#」など)が含まれる場合、それらはスラッグから自動的に除去されます。これはWordPressの標準的な動作であり、URLの互換性を確保するためです。

代替手段・類似プラグイン

Simple Slug Translateの代替として、以下のようなプラグインやサービスも検討できます:

  1. WP Slug Translate:Google翻訳APIを使用する類似プラグインですが、更新が停止しています。
  2. Slugify:翻訳機能はありませんが、日本語をローマ字に変換する機能を持つプラグインです。
  3. カスタムフック:WordPressのwp_insert_postフックを使用して、独自に翻訳ロジックを実装する方法もあります。

まとめ

Simple Slug Translateは、日本語のWordPressサイトでSEOに有利な英語のスラッグを自動生成する強力なツールです。IBM Watson Language Translator APIの高品質な翻訳エンジンを活用することで、人間が作成したような自然な英語のスラッグを生成します。

初期設定には若干の手間がかかりますが、一度設定すれば後はほぼ自動的に動作するため、長期的には大きな時間節約になります。また、月間100万文字までは無料で利用できるため、小〜中規模のブログ運営には最適です。

技術的な観点からも、このプラグインはWordPressのフックシステムを効果的に活用し、外部APIとの連携を実現している好例と言えるでしょう。WordPressを運用している方、特に日本語コンテンツを発信している方には、ぜひ試していただきたいプラグインです。

参考情報