農場主の日常 Nucleusのプラグイン開発で少し書いたのですが、
Nucleusの記事表示を行うURLは、記事の番号とカテゴリの番号、サブカテゴリの番号が組み合わさって
item_XXX_catid_YYY_subcatid_ZZZ.html
item_XXX_catid_YYY.html
item_XXX.html
のようなURLになります。URLは違うのだけど、どれもナビゲーション以外はまったく同じページが表示されます。
これ、ページを見る場合には一見問題なさそうですが、1回見てキャッシュ済みのページなのにLinkの色が変わらないとかいうことになったりします。
Nucleus以外のBlogやレンタルブログなんかでは大概こんなことは無いのに、これはむしろNucleusの特徴かもね。
ただ、Googleの「ウェブマスターのためのガイドライン」では、
複数のページ、サブドメイン、ドメインで同じコンテンツを公開しない。
という項目も有るので、複数ページでほぼ同じコンテンツというのは不利かもしれません。1つの記事が複数のカテゴリに所属する(マルチカテゴリ)を使っているうちのページとかでは特にね。
これではなんなので、permalink(記事の詳細ページ)のリンクを統一してみました。
変更は、Nucleusのtemplateの<%itemlink%>を使用している部分をitemidだけを含むURLを生成するように代える方針で、あとはプラグインを個別にチェックしようと考えていましたが、いくつかのプラグインの修正とtemplateの修正をするのはちと修正箇所が多いので、globalfunctions.phpを修正して対応しました。
Nucleusのglobalfunctions.php内のcreateItemLink関数を修正します。
function createItemLink($itemid, $extra = ”) の数行あと、954行目付近、
return addLinkParams($link, $extra);
行の前に
$extra = array();
を追加します。
*コアの変更ですので、自己責任でお願いします。
この変更で、プラグインやテンプレートの<%itemlink%>など、この関数を呼んでItemへのリンクを作成しているものすべてで、cateIDやsubcateIDを含まないItemIDを生成するようになります。
コメント
Nucleusでparmalink
アクセス解析の結果を見ていると同じ記事なのにURLが違っていて別々に扱われていることに気づいた。
これはNucleusに特徴的なことかもしれない。
アーカイブからアクセスするか、カテゴリー一覧からアクセスする…