• ベストアンサー

サイトのファイル構成の進めを教えてください

index.html contents1.html のような構成をphpで index.php index.php?mode=contents1 のようにGETを使いページを分けるのはあまり良い作り方でないのでしょうか SEOなどにも向いてないのでしょうか

  • PHP
  • 回答数2
  • ありがとう数3

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

  • ベストアンサー
回答No.2

ケースバイケースだと思います。 まず大前提として何らかのテンプレートクラス等を用いてHTMLとプログラムを分離したプログラミングスタイルを取る事をお薦めします。 一つのサイト内であれば画面構成も似てて当然だと思いますし、各ページ共通の処理は必ずあります。なので共通の処理はサブルーチン化して、各ページ固有の処理だけを個々のスクリプトに書いていく事になるでしょう。そうすると、プログラムは全く同じ、見た目のテンプレートファイルの入れ替えのみで表示できてしまうページが出てきます。このようなページはitsrumikoさんが言うとおり、get等で情報を渡して見た目を変える様にすれば作業量ががくんと減ってきます。 そのページ固有の処理が多いようならawazakさんがご指摘のように、単にメンテナンス性が悪くなるだけですが、共通処理が多ければ同じスクリプトで済ますのも悪くない、と思います。従って状態などを考えずどちらが良い、と決めれるものではないと思いますよ。

itsrumiko
質問者

お礼

とてもわかりやすい説明ありがとうございます とても参考になりました ”HTMLとプログラムを分離したプログラミングスタイル” これを頭においてやっていこうと思います wakameさん、awazakさん、どうもありがとう御座いました 私は質問内容をもっと丁寧に書くべきと反省orz

その他の回答 (1)

  • awazak
  • ベストアンサー率36% (61/165)
回答No.1

様々なエラー制御が面倒 修正がだるい(その部分を探す手間) いちいちformを作る手間 意味があまりない。 つまりメリットが感じられませんが・・・ 普通に作ることをおすすめします。

itsrumiko
質問者

お礼

確かに修正がだるそうです 構成が全ページにてる場合やページ数が多い場合に デザインの変更などに便利かなっと思ったんです リンクのアドレスに変数を載せるだけなのでformは使いません

関連するQ&A

  • SEO会社が作るサイトのファイル構成について

    はじめまして。 地方で細々とWEB製作、SEO業務を生業としております、猫Z太郎と申します。 この度、WEB製作、SEO業務に携わる諸先輩方へ質問があり投稿させて頂きます。 仕事でポータルサイトの製作及びSEO業務の窓口を担当しておりますが、SEOに関して、具体的施策は外部のSEO業者へ委託しています。 ウェブマスターツールを使い、被リンクサイトをたどって、SEO業者が製作したであろうダミーサイト?(被リンク用のサイト)を20サイト近く見つけたのですが 面白いように全てのサイトでファイル構成が一緒なのです。構成は以下の通りです。 ■トップ (ドメイン名/index.php) … 誰かのブログのようなテキストが長々とあり、中に依頼ワードのテキストリンクが無理矢理一つある。 ■ページ2 (ドメイン名/about.php) … 誰かのブログのようなテキストが長々あるだけ ■ページ3 (ドメイン名/main/index.php) … 誰かのブログのようなテキストが長々あるだけ ■ページ4 (ドメイン名/main/contents.php) … 誰かのブログのようなテキストが長々あるだけ ■ページ5 (ドメイン名/main/diary.php) … 誰かのブログのようなテキストが長々あるだけ ■ページ6 (ドメイン名/topics/index.php) … 誰かのブログのようなテキストが長々あるだけ ■ページ7 (ドメイン名/topics/sitemap.php) … 各ページへの内部リンクがあるだけ このファイル構成に何かSEO的なカラクリがあるのでしょうか? ドメインのページランクは、2~3がほとんどでした。 変な話ですが、同等のオールドドメインを買って、同様のファイル構成で被リンクサイトを作れば、独自のSEO対策も可能なものでしょうか?

  • SEOとユーザビリティを考慮したサイト構成について

    サイトのSEOとユーザビリティを同時に考慮したサイト構成について悩んでおります。 webデザインやSEOにお詳しい方、ご経験豊富な方、是非アドバイスをください。 例えば ■企業系通販系サイトなどの何らかの成約を狙うサイト ■ページ数20ページ以上の中・大規模サイトでコンテンツ数がわりと多い ■素人ではなかなかわからない専門性があるコンテンツ のサイトの場合・・・ <パターンA> ●オーソドックスで王道まっしぐらの多種多様で多機能なメニュー・コンテンツ配置 ●業種特徴があるため同業の競合とある程度類似するデザイン ●ユーザー自身が目的のコンテンツを探して最短クリックでたどり着けるサイト構成 【構成イメージ】 index  →contents1  →contents2  →contents3  →contents4  →contents5  →contents6  →contents7  →contents8  →contents9 <パターンB> ●可能な限り選択できる数を少なくした誘導型メニュー・コンテンツ配置 ●業種特徴よりも競合との差別化を第一義にした印象的デザイン ●クリック数が増えても迷わないで確実に目的のコンテンツにたどり着けるサイト構成。 【構成イメージ】 index  →groupA     →contents1     →contents2        →contents3  →groupB     →contents4     →contents5        →contents6  →groupC     →contents7     →contents8        →contents9 と、2パターンあった場合、どちらが良いのでしょうか? ユーザビリティやSEOなどを勉強してみると、webデザインやサイト構成では矛盾する事ばかりでした。 たとえば、最短クリックを目指すべきで階層は浅い方が良い云々と言いつつ、ユーザーにはわかりやすいよう選択数が少ないメニューで誘導する云々と、完全矛盾する真逆な事ばかりが記述されていたりで。 素人の私では経験や統計による客観的な判断ができないため、非常に悩んでおります。 お詳しい方々、是非ぜひ、ご教授ください。お願いします!

    • ベストアンサー
    • CSS
  • SEOを考慮したサイト構成とは?

    SEOを考慮したサイト構成とは? 現在、サイトを構築しているのですがSEOを意識したサイトを 作成したいと思っています。 ネットなどで調べて、私なりの対策をしたのが下記のような対策です。  ・スタイルは外部CSSを使い、HTMLは簡潔にする  ・コンテンツをメニューより上に表示させる  ・h1-h6の構成をきちんとツリー型の構成にする  ・フレームのたぐいは使わない metaに関してはサイトによって色々書いてあるので よくわかっていません。(metaが重要だとは思うのですが。。) 他になにかこういう対策をしたほうがいいよというようなことを 教えていただきたいです。 また、そういうことが書かれているサイトがありましたら ぜひ教えてほしいです。 よろしくお願い致します。  

  • SEO とサイトの構成

     こんにちは、1つのサイトはインターネットビジネス用で、このサイトを助けるためにサイトを2つ作りました(リンクをさせて)、が、どうも3つめの作ったサイトが足をひきずって、今では本来のサイトのページランクが2に落ちてしまい、閲覧数も減ってしまいました。  そこで、再度、SEO 対策をしようと勉強しているのですが、あるサイトで、サイトの構成ではカテゴリー別にフォルダで分けることが良いと読みました。  これってどうでしょうか? 肝心のサイトのページ数はかなりあってちょっと悩んでいます。でも、助けになるのならがんばってフォルダー作り、更新をしたいと思っています。  自分のサイトはイメージはフォルダーに入っている以外、index.html そしてその他全て同じ下にあります。今頃、というか、大変初心な質問かもしれませんが、どうぞアドバイスお願いいたします、ありがとうございます。

  • ページ数が多いサイトのヘッダーファイルの書き方

    PHP初心者です。 ヘッダーファイルのインクルード時に、タイトル・メタタグ等をページ毎に違う内容に自動生成するようにしているのですが、ページ数が300ページ程と増えてきており、記述を増やしていった結果、容量オーバーになったのかサイトが見れなくなってしまいました。記述を減らすと元に戻ったのですが。 そのため、現在複数のページで同じタイトルが使われている状態です。 出来れば現在のやり方で、全てのページのタイトル・メタタグ等を違う内容にする方法をどなたか教えて下さい。宜しくお願いします。 ヘッダーファイルは以下の内容が続く感じです。 ------------------------------------------- $seo['/contents1/'] = array( 'title' => 'タイトル1が入ります', 'meta_desc' => 'ディスクリプション1が入ります', 'meta_keys' => 'メタキーワード1が入ります', ); $seo['/contents2/'] = array( 'title' => 'タイトル2が入ります', 'meta_desc' => 'ディスクリプション2が入ります', 'meta_keys' => 'メタキーワード2が入ります', ); $seo['/contents3/'] = array( 'title' => 'タイトル3が入ります', 'meta_desc' => 'ディスクリプション3が入ります', 'meta_keys' => 'メタキーワード3が入ります', ); -------------------------------------------

    • 締切済み
    • PHP
  • 動的ページで全ての情報を検索対象にする正しいやり方

    ■/(ルートディレクトリ) ├─□index.php ├─■actionディレクトリ(各ページ共通に使用するファイルを格納) │  ├─□contents.php │  ├─□header.php(contents.phpのheader部) │  ├─□left.php(contents.phpのleft部) │  ├─□right.php(contents.phpのright部) │  ├─□footer.php(contents.phpのfooter部) │  ├─□class-teisuu.php(定数を格納) │  ├─□class-kannsuu.php(関数を格納) │  └─□class-mysql.php(mysqlの接続とクエリ) ├─■contentsディレクトリ(各コンテンツの情報を格納) │  ├─■0001 │  │  └─■imageディレクトリ(そのコンテンツの写真を格納) │  │     └─□001~n.jpg   --------------------------   1266コンテンツまで繰り返し   -------------------------- └─└─■1266      └─■imageディレクトリ(そのコンテンツの写真を格納)          └─□001~n.jpg contents.php ------------ <?php require_once("header.php"); require_once("right.php"); require_once("left.php"); require_once("footer.php"); require_once("class-teisuu.php"); require_once("class-kannsuu.php"); require_once("class-mysql.php"); ?> PHPとMYSQLで作った動的ページがあります。 index.phpで見たいコンテンツの絞込をやり、 0001~1266コンテンツのどれか1ページを見れるようにします。 そのときにindex.phpからcontents.phpに$_GET['n']='1211'というように コンテンツを判別する値を渡すことで1211のページを開くことができます。 そして、ヤフーなどの検索から直接そのcontents.phpに来た時にちゃんと開くように (isset($_GET['n'])) ? $pegenumber=$_GET['n'] : $pegenumber='0777'; のようにして$pegenumberが空にならないようにしています。 そこまではいいのですが、SEOを考えたときに問題があるのでは?と疑問に思いました。 せっかく情報が1266分もあるのに、そのやり方だと0777以外は検索されないですよね? 外部から来たものへ全てのコンテンツを検索対象にするためには、 contents.phpをactionディレクトリに置くのではなく、 contentsディレクトリの各ディレクトリの中に置きます。 そして、$_GET['n']をなくして、各contents.phpに$pegenumber='コンテンツ番号' を直接指定したほうがそれぞれ検索されるようになり、ちゃんと中身も表示されるようになる。 この考えは正しいですか? ■/(ルートディレクトリ) ├─□index.php ├─■actionディレクトリ(各ページ共通に使用するファイルを格納) │  ├─□header.php(各ページのheader部) │  ├─□left.php(各ページのleft部) │  ├─□right.php(各ページのright部) │  ├─□footer.php(各ページのfooter部) │  ├─□class-teisuu.php(定数を格納) │  ├─□class-kannsuu.php(関数を格納) │  └─□class-mysql.php(mysqlの接続とクエリ) ├─■contentsディレクトリ(各ページの情報を格納) │  ├─■0001 │  │  ├─□contents.php($pegenumber='001'を格納) │  │  └─■imageディレクトリ(そのページの写真を格納) │  │     └─□001~n.jpg   ----------------   1266まで繰り返し   ---------------- └─└─■1266     ├─□contents.php($pegenumber='1266'を格納)     └─■imageディレクトリ(そのページの写真を格納)        └─□001~n.jpg 0777ディレクトリのcontents.php ------------------------------ <?php $pegenumber='0777' require_once("../../action/header.php"); require_once("../../action/right.php"); require_once("../../action/left.php"); require_once("../../action/footer.php"); require_once("../../action/class-teisuu.php"); require_once("../../action/class-kannsuu.php"); require_once("../../action/class-mysql.php"); ?>

    • ベストアンサー
    • PHP
  • トップページURLのみで下層ページのURL取得

    現在勉強のためにsitemapを自動で作れるものを作成しています。 私が考えているようなツールはこのようなツールです -> http://seo.fc2.com/sitemap/ index.html -> hoge.html -> hogekasou.html のようなサイトのindex.htmlを指定した場合にhogekasou.htmlまで探せる方法を探しています。 私が考えている方法は、file_get_contentsなどでindex.htmlを開き解析してhoge.htmlを見つけ、さらにhoge.htmlをfile_get_contentsで開きhogekasou.htmlを見つける方法を考えています。 しかしページが多くなるとこの作業に時間がかかるためなにか効率のいい方法がないかと思い質問させてもらいました。 宜しくお願いします。

    • 締切済み
    • PHP
  • SEOに有利なサイトの構成

    index.htmlを作成し、同じ階層にa.html、b.htmlとするのと、 別々のフォルダにindex.htmlとするのはどちらがSEOに有利なのでしょうか? 大手のサイトが後者でしたので。  index.html  |-css  |-img  |-フォルダa  | -index.html  |-フォルダb

    • ベストアンサー
    • CSS
  • 複数のPHPファイルを読み込むには?

    例えば、header.php、contents1.php、contents2.php、fooder.phpという4つのphpファイルがあったとします。 それをindex.phpに、上からheader.php、contents1.php、fooder.phpの順で読み込ませてレイアウト表示したいと思います。 また、index2.phpには一番上にheader.phpを、その下にcontents1.phpとcontents2.phpを横並びさせ、その下にfooder.phpを表示されるというレイアウトで読み込みたいと思っています。 そうした場合に、index.phpとindex2.phpには、どういうふうに記述すれば、上記レイアウトで読み込むことが可能でしょうか。 初心者で、こんな質問、申し訳ありませんが、教えて頂けますと助かります。 よろしくお願い致します。

    • ベストアンサー
    • PHP
  • ホームページのページ構成

    サイトを作成するさい、どのようなページ構成にしたらよいか教えて下さい。 店舗のホームページを作成しており、サイトは5ページで構成されております。 ページ数は増える予定はなく現在は下記(1)で作成しております。 しかし正しい構成は下記(2)でしょうか。 (1)www下に各ページ設置 www/index.html     info.html     menu.html     gallery.html     access.html (2)各ページ毎にディレクトリを構成し設置 www/top/index.html    /info/index.html    /menu/index.html    /gallery/index.html    /access/index.html よろしくお願い致します。

    • ベストアンサー
    • HTML

専門家に質問してみよう