URLの正規化について


投稿ツリー


前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 | 投稿日時 2011/8/12 10:47
SAT  新米   投稿数: 17

お世話になります。
weblogD3のインポートの件など、大変お世話になりました。

時間が取れなくて、まだ本サイトの方へ稼動はしていないのですが、
そろそろ着手しようかと思い、気になる点などがございましたので質問させて頂きます。

d3diaryの日記個別ページのURLは、
http://www.exsample.com/modules/diary/index.php?page=detail&bid=xxx&req_uid=xxx

といったように、detail&bid=xxx&req_uid=xxxというパラメータになるかと思います。
&req_uid=xxxを排除して、detail&bid=xxxでも同ページにアクセスができ、ユーザー情報(サイドのアバターなど)もこれで表示されたので、出来れば個別ページのURLを
http://www.exsample.com/modules/diary/index.php?page=detail&bid=xxx
と統一して頂く事は出来ないでしょうか?

ソースを詳しく拝見していないので、間違っていたら申し訳ございませんが、テンプレートのみで修正できるレベルであれば、独自に修正をしようと思いますが、PHPの中にも記載されていると、バージョンアップの度にマージが必要となるので、可能であればURLの統一をして頂けると助かります。

また、これも個人的なことで恐縮ですが、
weblogD3からインポートした後、検索エンジン最適化の為に、.htaccessで301リダイレクトを行おうと思っております。
現状weblogD3の方の日記の個別ページURLは、
http://www.exsample.com/modules/weblogD3/details.php?blog_id=xxx
としているので、
d3diaryの方で、index.php?page=detail&bid=xxxとなれば、xxxの部分だけで済むので、リダイレクトも簡単に行えるので助かります。

これが、&req_uid=xxxが付加されると、ちょっと簡単にはリダイレクトをする方法が思いつかないので・・・
というのも、特にGoogleでは重複コンテンツを嫌う傾向があり、可能な限り自身でURLを正規化した方が良いと思われ、今回このような質問をさせて頂きました。

本音をいうと、
http://www.exsample.com/modules/diary/detail-xxx/
というような、パラメータ表記がないURL表示が希望ですが、これは結構大変な作業かと思いますので、
とりあえずは、&req_uid=xxxが無くても動作に支障が無いかをお尋ねしたいのと、可能であれば、配布側で統一して頂けると幸いです。

わかりにくい文章で申し訳ございませんが、
ご検討頂けますと幸いです。
宜しくお願い申し上げます。

投票数:2 平均点:10.00
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2011/8/12 13:15 | 最終変更
なーお  長老   投稿数: 1784

SATさん、こんにちは。

1、req_uidについて
req_uidパラメータをできるだけ表示させているのには、理由がありまして。
ログインメンバーが、日記ページを表示中にイベント通知の設定をする際に、URL内にこのreq_uidがあることで、「表示中ユーザー」の「日記投稿時」「コメントが付いたとき」のイベントを表示することができるようになっています。

この点は、xoopsのnotificationの仕組みを使っているため、特にxoops2系やJPExなどでは小細工がきかず、定石的にURLに仕込んでいます。

但し、XCL2.1以降では、detailページ表示時に$_GET['req_uid']を上書きする処理ができるので、URLにreq_uidパラメータが無くても、記事執筆者のイベント通知が表示されるようにしてあります。

結論としては、記事毎のURLにはreq_uidを削除いただいても構いません。 メインページ内やブロック内のリンクにあるreq_uidの削除は、ほとんどの物がテンプレートで編集可能と思います。

2、ラッパー表示について
(html)側のルートフォルダに、「detail.php」のほかに「details.php」があるのをご存知でしょうか。 これは、d3blogからの移行ユーザー用にラッパーファイルの役目を果たし、検索サイトなどの既存の検索結果のままで記事の表示ができるようにしてあります。
weblogD3の場合は、記事番号がbidではないため、blog_idパラメータをbidパラメータに書き込み処理をここに追記しておけば、インストールディレクトリ名を合わせることで同様にラッパー動作をしてくれるはずです。

手順としては、一度適当なディレクトリ名のd3diaryにインポートした後で、weblogD3をアンインストールし、d3diaryをweblogD3がインストールしてあったディレクトリ名でもう一つインストールしてから、再度インポートする、という作業になると思います。

以上、よろしくお願いします。

投票数:0 平均点:0.00
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2011/8/16 13:08
SAT  新米   投稿数: 17

なーおさん、ご回答頂きましてありがとうございます。
返信・確認が遅れて申し訳ございませんm(_ _)m

詳しいご説明ありがとうございます!

引用:

但し、XCL2.1以降では、detailページ表示時に$_GET['req_uid']を上書きする処理ができるので、URLにreq_uidパラメータが無くても、記事執筆者のイベント通知が表示されるようにしてあります。

結論としては、記事毎のURLにはreq_uidを削除いただいても構いません。 メインページ内やブロック内のリンクにあるreq_uidの削除は、ほとんどの物がテンプレートで編集可能と思います。

今はxoops2.0.16aですが、ちょうどXCL2.2へアップグレードしようと考えていたので、req_uidは削除しても大丈夫そうで安心しました :-)

引用:

2、ラッパー表示について
(html)側のルートフォルダに、「detail.php」のほかに「details.php」があるのをご存知でしょうか。 これは、d3blogか らの移行ユーザー用にラッパーファイルの役目を果たし、検索サイトなどの既存の検索結果のままで記事の表示ができるようにしてあります。

すいません、details.phpは見ておりませんでした。
とても便利な物を色々用意していただいているようで助かります :-)

ただ、内容を見ても勉強不足でよく理解が出来ていないのですが、

引用:

weblogD3の場合は、記事番号がbidではないため、blog_idパラメータをbidパラメータに書き込み処理をここに追記しておけば、インストールディレクトリ名を合わせることで同様にラッパー動作をしてくれるはずです。

$_GET['page'] = 'detail';

の箇所を変更または追加をするのかな??と思いましたが、
具体的にどうすれば良いのか理解できませんでした><
宜しければ教えていただく事は可能でしょうか?

何度もお手数をおかけして申し訳ございませんm(_ _)m
よろしくお願い申し上げます。

投票数:0 平均点:0.00
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2011/8/16 16:11 | 最終変更
なーお  長老   投稿数: 1784

SATさん、こんにちは。

Wrapperファイルのほうは、weblogD3にも機能するように、SVN上でアップデートしておきました。
次回の版で反映されますが、上記リンクからダウンロードして入れ替えていただければ動作確認ができると思います。

例えば、
http://www.naaon.com/modules/dblog1/details.php?blog_id=460
このURLで、私のブログページが正常に表示されるのを確認できます。

以上、よろしくお願いします。

投票数:0 平均点:0.00
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2011/8/17 3:39
SAT  新米   投稿数: 17

なーおさん、ご返信有難うございます。
機能に追加して頂いて助かりました!
有難うございますm(_ _)m

$_GET['bid'] = $_GET['blog_id'];
を追記すれば良いんですね、勉強になります。

ところで、weblogD3と同じURLというのは理解できているのですが、
テンプレート上などの個別ページへのリンクは、
details.phpへと変更をすれば良いのでしょうか?
具体的には、http://www.exsample.com/modules/***/details.php?blog_id=xxx
といった感じかなと。

すいません、ラッパーなどの意味がわかっていないのですが、
リダイレクトされるわけではないのであれば、テンプレートの方のURLを変更させて頂きます。

投票数:0 平均点:0.00
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2011/8/17 10:08
なーお  長老   投稿数: 1784

SATさん

 私はブログをcocolog→XCL+d3blog→同d3diaryと移行したので、その経験だけで申し上げますと、

 ラッパーファイルは、既存リンク切れを防ぐ目的だけで設置しています。 今後d3diaryに完全に移行を決めるのであれば(後戻りしないということであれば)、ラッパーファイル以外の部分のURLリンク先ページは変更せず、 d3diaryの標準にしておくほうが、今後のメンテナンス上も間違いが減りますし、トラブルも少なくなると思います。

 検索エンジンのほうが優秀ですから、元記事からのリンクさえ切れていなければ、その先のリンクは、そのうち検索エンジン側で置き換えてくれています。 実際、私の古い記事もいつの間にかd3diaryの新しいページURLに置き換わっていました。
 その間、Googleのページランクが落ちる心配もしましたが、そういうこともありませんでした。

 正規化については気になるようでしたら(req_uidを除去する件は)そうしていただくとして、それ以外はd3diaryのページ指定のままで行かれることを、わたしとしてはお勧めします。

では。

投票数:0 平均点:0.00
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2011/8/18 7:16
SAT  新米   投稿数: 17

なーおさん、何度もご返信頂いて有難うございます。

ですよね、リダイレクト処理をするよりも、d3diary標準URLで運用をさせて頂こうかと思いました。
req_uidは除去するかもしれませんが、基本的にGoogleに関しては、
重複コンテンツは自動で処理をしてくれるみたいですし、
可能であれば、link rel="canonical"を導入して対応しようかなと考えております。

引用:

手順としては、一度適当なディレクトリ名のd3diaryにインポートした後で、weblogD3をアンインストールし、d3diaryを weblogD3がインストールしてあったディレクトリ名でもう一つインストールしてから、再度インポートする、という作業になると思います。

基本的に、ご教示頂いた上記手順にて移行をさせて頂こうと思います。
d3diaryから別のブログへというのは、現状ではとても考え難いので、これからもお世話になりますm(_ _)m

色々とお教え頂きまして、有難うございました。

投票数:0 平均点:0.00
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2011/8/18 9:16 | 最終変更
なーお  長老   投稿数: 1784

SATさん

一つ忘れていました。
weblogD3でお使いのコメントは、xoopsコメントでしょうか?
その場合は、weblogD3→d3diary1→(weblogD3削除後)d3diary2 とインポートするたびに、直後にコメントのインポート操作もして行ってください。

 (たぶん、そうしないと、weblogD3削除の時点でインポート不可能になってしまうと思うので。)

なお、d3forumのコメント統合をお使いでしたら、本体を全部移行後に、d3diary側とd3forumの当該フォーラム設定を変えるだけで行けます。

では。

投票数:0 平均点:0.00
返信する
SAT

なし Re: URLの正規化について

msg# 1.2.1.1.1.1.1.1
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2011/8/24 2:20 | 最終変更
SAT  新米   投稿数: 17

なーおさん、こんばんは。
すいません、確認が遅れました。

コメントはxoopsコメントを使用しております。

引用:

その場合は、weblogD3-->d3diary1-->(weblogD3削除後)d3diary2 とインポートするたびに、直後にコメントのインポート操作もして行ってください。
(たぶん、そうしないと、weblogD3削除の時点でインポート不可能になってしまうと思うので。)

ありがとうございます。多分忘れてインポートを一回だけにしてしまうとこでした。

ただ、これを機にd3forumコメントに移行しようかなとも考えています。
d3forumの方も、なーおさん方々のおかげで更に使いやすくなっているようですし・・・

色々ご助言いただきまして有難うございますm(_ _)m
また何かありましたらよろしくお願いします。

投票数:0 平均点:0.00
返信する

このトピックに投稿する

題名
ゲスト名
投稿本文
  条件検索へ