Nucleus CMS の重複URLを効率よくインデックスさせる
- 投稿日 : 2010-12-21, 19:34
- 最終更新日時 : 2011-01-16 09:11:28(履歴)
- タグ(Nucleus / Skin / SEO)
- カテゴリ(Nucleus)
- 記し人(luvsic)[PDF]
- 閲覧数(2995)
Fancy URL2 での Nucleus CMS のURL構造
Nucleus CMS では、カテゴリーやアーカイブなどで単体記事を表示することができますが、これは同じ内容の記事、別のアドレスが存在する構造になっています。柔軟ではありますが、商用サイト等の、「ひとつのページに被リンク効果やSEO効果を集中させたい」という観点からすると、あまりよくない状態です。
古い手法の重複URL 対処方法
これまでは robots.txt での制限、または下記のような meta タグを利用する、または表にそのアドレスをまったく出さないという方法がとられていました。
<%if(category)%><meta name="robots" content="NOINDEX,FOLLOW" /><%endif%>
これらはインデックスを避けるものであり、ベストな方法とは言えませんでしたが、これを解決する(多分)記述があります。
link rel="canonical"によるURL正規化
GoogleによってURL正規化のタグがサポートされています。これをアイテムが表示されるページに利用すれば、被リンクやインデックスが集まっても、単純なアイテムページへのアドレスに効果が受け継がれるはずです。
<%if(skintype,item)%><link rel="canonical" href="<%blogsetting(url)%>item/<%itemid%>" /><%endif%>
これをスキンの「個別アイテムページ」で利用します。
※「<head>」内です。
これによって、例えばFancyURL2であれば https://luvsic.net/item/122/catid/5のようなアドレスでアクセスしても、link rel="canonical" が適用された状態になります。
シンプルですが、今もっとも簡単にFancy URL2 の重複URLの問題を解決する方法でしょう。
NP_CustomURLの場合
NP_CustomURL を採用した場合、サイト上でのURLのほとんどをコントロールすることができます。たとえ直にアイテムIDアドレスへアクセスされたとしても、NP_CustomURLは適切なリダイレクトで仮想パスへ行うことが可能です。高機能プラグインのため、Nucleusでのサイト開発ではNP_CustomURLの採用が主流とも予想できます。
しかしそれでも link rel="canonical" を利用したい場合、少々問題があります。
<%CustomURL(path)%>はスキンでは利用できない
<%CustomURL(path)%>はテンプレートのみで使える変数です。よってさきほどの Fancy URL2 の記述では対応できません。方法を考えてみたところ、テンプレートを作成してitemとして見せかけて利用する方法があります。
- テンプレートを作成する 例:default/path
- テンプレートの アイテムの本体 に「<%CustomURL(path)%>」のみ記述
- スキンのhead内に下記を記述
<%if(skintype,item)%><link rel="canonical" href="<%blogsetting(url)%><%item(default/path)%>" /><%endif%>
他にスマートな解決策があるかもしれませんが、とりあえずこれで対策。
PHPスキルがある方は、スキンがアイテムのページの場合に<%CustomURL(path)%>にitemidを割り振れるよう、NP_CustomURLを改造したほうが便利かもしれませんね。
No comments yet