permalinkをpermalinkに

Webネタ・サイト更新

農場主の日常 Nucleusのプラグイン開発で少し書いたのですが、

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を生成するようになります。

サクラキャンドル

 都内在住。理系高校理系大学を経て、電機関係の会社でリーマンやってます。
 仕事内容とサイトの内容はほとんど関係がなく、趣味の延長線上でいろいろと紹介します。

サクラキャンドルをフォローする
スポンサーリンク
農場主の日常

コメント

  1. Nucleusでparmalink

     アクセス解析の結果を見ていると同じ記事なのにURLが違っていて別々に扱われていることに気づいた。
    これはNucleusに特徴的なことかもしれない。
    アーカイブからアクセスするか、カテゴリー一覧からアクセスする…

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