隠しメニューでURL書き換え

JoomlaのSEF(検索エンジンフレンドリー)URLは、メニューに対応したURL構造になります。

WordPressの場合には投稿した日をキーにしたり、カテゴリ名だったり、かなり自由が効きます。Joomlaでは同じように自由な設定ができないわけではなさそうですが、難しそうです。

メニューを使ってSEF URL設定

Joomlaでは、カテゴリーごとにSEF URLが作られるわけではありません。WordPressと違って、一つの記事を複数のカテゴリーに登録することはできないので、カテゴリーでSEFを決めても良さそうなものですが、メニュー項目ごとにSEF URLが付きます。

どういうことかというと、メインメニューからたどるサイト構造が

  • サイトホーム
    • 最新情報
      • 今日の占い
    • 日記帳
    • 掲示板

というサイトがあったとすると、

  • ホームディレクトリ(サイトホーム)
  • 最新情報.html
    • 最新情報/個別記事.html
    • 最新情報/今日の占い.html
      • 最新情報/今日の占い/個別記事.html
  • 日記帳.html
    • 日記帳/日記の記事.html
  • 掲示板.html

というようなディレクトリに別れます。そのため、メニュー内に項目を作ることで、ページをSEF URLで表示させることができます。

例えば、サイトマップをメニュー項目「sitemap」にしておけば、/sitemapでアクセスさせることができます。

隠しメニュー

Joomlaのメニューは、メインメニュー以外にもたくさん作ることができます。さらに、メニューをサイト上に見えるようにしておく必要はありません。

これを使って、内部構造を作るためだけのメニュー項目を作ることで、好きなようにURLをつけることができます。極端なことをいうと、全記事を個別のメニューに割り当てても良いのです。

JoomlaのSEF URL

Joomlaの記事は、コアのPHPを大きくいじらないと、SEF URLを使っても、たとえば、

のように、記事IDが入ってしまいカッコ悪い見栄えになります。さらに、カテゴリ名をメニューに割り当てていない場合にはカテゴリー名に数字がつくので、bloggingのカテゴリーをメニュー割当しなければ、

 になってしまいます。(メニューに割り当てた場合は、カテゴリー名ではなくメニュー名が適応されます。)

 

—Sponsored link—