• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:データベースとウィキシステム)

データベースとウィキシステム

このQ&Aのポイント
  • データベースに入れた情報をPHPで取り出すサイトを作成しましたが、検索に引っかからず悩んでいます。
  • HTMLにはフォームボタン程度の記述しかないため、情報がデータベースに入っていても検索にひっかからないです。
  • ウィキはHTMLのページがなくても、データベース内の語句を検索できる仕組みがあるようです。

質問者が選んだベストアンサー

  • ベストアンサー
  • ahoo_ok
  • ベストアンサー率31% (30/95)
回答No.4

あーーーー、回答者側もあれだな。 まぁリクエストのたびにDBからデータを取得してページ生成ってまぁ中小規模システムならあるけど 大規模システムクラスになるとデータベースの情報から静的ページ生成してパフォーマンスを保持している システムなんていくらでもある。 リクエストの都度データベースからデータを取得してページ生成なんてしていたらいくらロードバランサをかまして複数サーバで処理したところで限界がある。 まぁその場合は検索系システムと静的ページを紐付けるシステムも別途作る必要がありますけど 後、データ入力系のバックエンドはRDB系を使うけどフロント側はそのバックエンドからページ生成に必要なデータを一発で取得できてパフォーマンスがいい非RDB系(NoSQL)のDBを使う場合もある。 Facebookが自社のために開発してオープンソースとして寄贈したCassandraがいい例。 あっとそうそう質問者への回答がまだだった。 なんで回答者も手法を知っているように書いているけどどれを使ったらそれができるのか実装の説明を何でしないのだろうか?(あーーー知らないからか。) Apacheだとmod_rewriteモジュールがその機能を有している。 IISだとURL Rewrite Module。 gitパラメータはSEO的に不利だけどインデックスされないわけではない。 getパラメータがあるかとかそれ以前に検索エンジンに食わせるサイトマップなどseo対応しておけよ。

omochiomochi
質問者

お礼

具体的なご回答ありがとうございました。 とりあえず仕組みは良く分かりました。

その他の回答 (3)

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.3

 ユーザーがサーバーにデータを送る方法に、QUERY_STRING、STDN(標準入力)、PATH_INFOがありましたね。もちろんgoogleはQUERY_STRINGもページとして理解はしてくれますが、限定的です。最も確実なのはPATH_INFOです。  あなたがこのシステムを利用されているのが、 教えて!goo( http://okwave.jp/qa/q8673633.html ) OKWave( http://okwave.jp/qa/q8673633.html ) 楽天 みんなで解決!Q&A( http://qanda.rakuten.ne.jp/qa8673633.html ) などのいずれを使用されているのか分かりませんが、すべてPATH_INFOですね。  新聞社の記事のすべてでしょう。巨大なウェブサイトのほとんどはPATH_INFOと言っても良いでしょう。ブログなどのSNSは基本的に皆そうだと思います。 >(動的なPHPサイトでも検索に引っかかるというコメント、アドバイスは必要ありません)  本当に総拒否して良いのですか??  すべて、動的なサイトなのですけど  Windowsの毒素に犯されて、拡張子の呪縛から抜け出せていないのでは??  ウェブや他のOSは、拡張子は関係ありません。ウェブはサーバーから送られてくるデータ本文より前に送られてくるHTTP応答ヘッダのContent-typeでHTMLか画像かを判断します。あなたが作成しているPHPだって、拡張子は関係なく動作させられるでしょ。 AddType application/x-httpd-php .html 例えば、 Enviroment Variable and FORM,COOKIE( http://hpcgi1.nifty.com/Iruka/ENV_FORM.cgi )の後に、/omochiomochi/PHP/test.jpg としてアクセスしても、ユーザーからは、そのページが存在しているでしょ。

回答No.2

「実は動的URLになっててCGIでデータベースを引っ張ってるけど、静的URLのように見せかける方法」が、以下ページで解説されています。 http://senrioka-info.net/0_google_sitemap/htacs.htm OKWaveも、wikiも、URLには?や&が入っているようには見えないので、Googleの検索ロボットやブラウザは「静的URL」として扱い「そのページが実在している」と思い込んでいます。 でも、実は、静的URLが動的URLに変換されて、CGIでデータベースを引っ張っているのです。 難しく考えても仕方が無いので「一発目の静的URLへのリクエストで、データベースから引っ張って来られたページ内容が返って来たら、そのページが実在すると思い込む」と思っていれば間違いないです。

回答No.1

Wikiは「URLに仕掛けがある」のです。 ある語句をWikiで見ると wikiの基本URL/語句 と言うURLになっています。 wikiのWEBコンテンツは「wikiの基本URL/語句」と言うURLでアクセスされると、リクエストが「とある1つのCGI」に渡され、そのCGIが「リクエストされたURLから、語句を取り出して、データベース検索して、データベースが返した結果をHTMLに整形して、リクエスト元に返す」のです。 アクセスした側から見ると「まるで『wikiの基本URL/語句』と言うURLのページが存在して、そのページが表示されている」ように見えます。 Googleが検索の為にページをクロールする場合も「まるで、そのページのURLが存在して、普通にページの内容が返って来るように見える」ので、返って来たページ内の語句を普通に収集します。 貴方が質問した、このページ http://okwave.jp/qa/q8673633.html も、上記URLのページは実在しません。 okwave.jpが「http://okwave.jp/qa/q8673633.htmlを見せて」と言うリクエストを受け取ると、CGIが起動して、CGIが、リクエストされたURLから「q8673633」の部分を取り出して、「q8673633」の質問内容をデータベースから引っ張り、データベースが返してきた結果を「これがページの中身です」と、リクエスト先に返すのです。 ページの内容を返されたブラウザやGoogleの検索ロボットは「そのページが実在するのか、それとも、ページが実在しないでデータベースから返された結果なのか、区別できない」のです。

関連するQ&A

専門家に質問してみよう