SEF URLとカノニカル設定、FLEXIcontentの使い方

Joomla

≪≪この記事をすべて読むには約 6 分かかります≫≫

Joomla用拡張機能のFLEXIcontentを試しています。

FLEXIcontent-extension

機能は複雑ですが、標準の記事コンポーネント(com_content)を拡張する形で実装されている(少なくともそう見える)ので、使う側はそれほど複雑ではなさそうです。

この点は、K2と比べると良い点です。

インストールと初期設定

FLEXIcontentのインストールは簡単で、ダウンロードしたパッケージをインストールするだけです。

インストールすると、コンポーネントが出来ているのと、新しいメニュー「FLEXIcontent Hidden Menu」が追加されます。

コンポーネントを開くと初期設定をするように促されるのですが、表示されているボタンをクリックするだけでプラグインの有効化は終わり、設定画面を開いて一度保存ボタンを押せば使える状態になっています。

FLEXIcontent Hidden Menu

登録アイテムが一つだけ入っていて、Content(URLエイリアス:content-page)で、アイテムのタイプがFLEXIcontent→Directoryです。

SEF(検索エンジンフレンドリURL)

FLEXIcontentのSEF設定を有効にするには、SEFベースとしてこのメニューを選んでおかないとダメなようです。

canonical URLが常に、/content-page/・・・になってしまうので格好悪いので、ホームアイテムに設定しておけば、SEFが常にルートから始まるディレクトリ構造になるので綺麗に見えます。

ただし、FLEXIcontent→Directoryの表示がされてしまうので、ホームページがディレクトリ表示でよければ良いのですが、大抵はサイトメニューだったり、最新記事を持ってきたいところです。

表示にも拘るには

ここをうまく設定するために、テンプレートとしてフレームワーク「Gantry」を使ってみます。

Gantryを使うのは、ページのカスタマイズでメニューで指定したページコンテンツを消すことができるからですが、ルートに割りつけたテンプレートスタイルのphpファイルをいじれば消せますから、Gantryでなくても大丈夫です。

でも、GUI上からページコンテンツを消せるのは、多分Gantryだけです。他のT3やWrightでは出来ません。

通常メニューとSEF URLが切り離される

FLEXIcontentを使うと、SEF URLがメニューと少し切り離されるようです。正確には切り離されるわけではないのですが、生成されるパンくずリストや、カノニカルURLには、通常のメニューアイテムでつけたURLが反映されません。

たとえば、カテゴリーID 3、スラグがtechのカテゴリーがメニューアイテムのスラグtek2techに割り当てられていた場合、記事ID 22、記事エイリアス hello-worldは

  • Joomla SEF:/tek2tech/22-hello-world
  • FLEXIcontent SEF:/3-tech/22-hello-world

になってしまいます。

また、カノニカルURLやパンくずリストに表示されたURLにアクセスすると、FLEXIcontent Directoryで設定したテンプレートが使われてしまうので、上のようにホームアイテムに細工をしている場合、そちらが表示されてしまいコンテンツが見えません。

カノニカルURLが優秀

対応するには、どこかのメニューアイテムに、FLEXIcontent→Category(スラグtekkun)を割り当てておきます。そうすると、

  • 通常メニューから表示:/tek2tech/22-hello-world
    • カノニカルURL:/tekkun/22-hello-world
  • FLEXIcontentで表示: /tekkun/22-hello-world

が割り当てられます。

カノニカルURLの仕組みがよくわかりませんが、カノニカルになるべきURL以外で表示されている場合にだけ、カノニカルが付与される?ような気がします。

検証するために、カノニカルURLがついていないページにクエリを付けてみます。

  • /tekkun/22-hello-world:カノニカルURLなし
  • /tekkun/22-hello-world?NEED_CANONICAL:カノニカルURL/tekkun/22-hello-world

とカノニカルURLを付与してくれました。優秀です。

当面のSEF/URL設定

ということで、FLEXIcontentのオプションでSEF/URL optionsは

  1. Default Menu Itemid for URLs→flexihiddenmenu→content
  2. Add above to FLEXIcontent URL→どれが良いかわからない
  3. Remove above from pathway (breadcrubs)→YES
  4. Create pathway automatically→Yes
  5. Canonical tag→Yes
  6. Add /item/ in item SEF urls→No
    • YESにすると、直接のメニューアイテムではないページのURLに/item/が付きます。たとえば、/tekkun/item/22-hello-worldになります。

にしました。

コメント

タイトルとURLをコピーしました