ついに夏本番!さぁ、家族でキャンプに行くぞ! >>

 PHPを使って、ページにアクセスしたときの状況によって表示の仕方を変えることができますよね。

 掲示板などで記事は別のファイルにしておいて、アクセスしたときのその段階での記事を読み込んで表示させるとか。

 でも、こういうのってSEO的にはどうなんでしょう?

 うろ覚えですが、動的なページより静的なページの方が有利と聞いたことがあるんですが、いまいち動的・静的もよく分かっておりません。
 ページとして動的がダメなのか、URLが動的だとダメなのかとか。

 掲示板の例をもう一度出しますと、書き込んだときにHTMLファイルとしてはき出して置いた方が有利なのか?
 それともPHPファイルのままで、アクセスしたときに記事を読みこんで表示させたとしても影響は全くないのか?

 アクセスのたびに読み込むと表示スピードが若干遅くなるでしょうから、そういうのが影響してるだけで、軽いページならどちらでも良い?

このQ&Aに関連する最新のQ&A

A 回答 (2件)

httpでの通信では


・PHPを実行したときの出力

・先に作っておいたHTMLファイル
とを区別する方法はありません。

何度アクセスしても同じHTMLを出力するPHP

単独でのHTMLファイル

アクセスの度に変化するようPHPでの出力

数秒毎にHTMLファイルを直接書き換える

拡張子が.htmlでPHPが実行されている

拡張子が.phpだけどPHPは実行しない

アクセスの度に計算に時間がかかるPHP

サーバーの回線が細くて時間がかかるHTML

など、外部からは判断できません。
    • good
    • 0
この回答へのお礼

 お礼が遅くなり申し訳ありません。

 動的が不利になるというのはURLの場合であって、ファイルの中では結果さえ同じなら関係ないようですね。

 ありがとうございました。

お礼日時:2014/10/09 11:57

PHPに限らず、サーバサイド系システム全般に言えることですが、



・何も考えずに実装すれば、静的HTMLのほうがはるかにSEO的にみて良い
・正しく最適化すれば、SEO的には静的HTMLよりはるかに強力

ということです。
「ぐるなび」「カカクコム」「Amazon」など、世界の大手情報提供Webサービスサイトは、商品名や店舗名で真っ先に検索エンジンにインデックスされています。
手作業で「最適化」されたサイトの及ぶところではありませんよね。

Ajaxコンテンツを検索エンジン(Google)にクロール・インデックスさせる方法
ttp://www.suzukikenichi.com/blog/how-to-make-crawlable-and-indexable-ajax-content/

こういう手法を駆使しています。

この回答への補足

 ご紹介いただいた記事を拝見いたしましたが、これって動的URLについてのお話ですよね。

 例えば動的URLではなく、abc.htmlというファイルがあるとして、直接、abc.htmlの中へPHPを書き込んで記事を呼び出す場合と、別のPHPファイルでabc.htmlを作り出してサーバーへ置いておく場合はどうでしょう?

 URLとしては、どちらも「http://○○.net/abc.html」。

 abc.html内のPHPで動的に記事を呼び出すのと、別のPHPファイルで静的なabc.htmlを作って上書きするのとでは、やっぱり後者の方が良いのでしょうか?

補足日時:2014/08/30 21:08
    • good
    • 0
この回答へのお礼

 ご回答ありがとうございます。

 Amazonなどはどうやってるのか不思議でしたが、そういう仕組みでしたか。

 ワシは個人サイトやブログを作ろうと思ってるだけなので、Ajaxという技術とは縁がなさそうで残念です(^_^;

お礼日時:2014/08/30 21:02

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QPHPをつかった動的ページでSEO化はできる?

Amazonなどで検索結果の画面がGoogleに表示されているのをよく見かけます。
動的にプログラムで生成されたページだと思うのですが、
このような動的にプログラムで生成されたページをSEO対策できるものなのでしょうか?
私のSEOに対する知識が浅いものしかなく、
SEOといえばHTMLファイルにしておかないといけないと思っていました。
PHPをつかった動的ページでSEO対策はできるのでしょうか?

Aベストアンサー

動的・静的かというだけのことであればSEOに特に影響はありません。
ですので拡張子はどちらでもかまいません。
しかし、動的にサイトを構築する場合は、仕様の面で色々注意しなければならないことがあります。
SEOでの質問ということは自然検索からのアクセスを重視したサイトをお考えということですよね。
その場合の注意点として、動的なページ生成でよく使われるもので、大きく以下の3つに分類できます。
1. ajax
2. post送信
3. get送信
1と2はSEOを前提としたサイトやページには非常に相性が悪いです。
その他、動的なサイトを構築する上での注意について、以下のサイトか参考になります。
紹介するurlは重複コンテンツについてまとまっているものですが、重複というだけでもこれだけ注意する項目があります。
http://web-tan.forum.impressrd.jp/e/2012/02/13/12027
制作会社にサイト制作を依頼する場合、依頼する側もある程度知識がないと、ページ遷移か全てajaxで、全くインデックスされずアクセスがないなど大変なことになるケースもめずらしくないので注意しましょう。

動的・静的かというだけのことであればSEOに特に影響はありません。
ですので拡張子はどちらでもかまいません。
しかし、動的にサイトを構築する場合は、仕様の面で色々注意しなければならないことがあります。
SEOでの質問ということは自然検索からのアクセスを重視したサイトをお考えということですよね。
その場合の注意点として、動的なページ生成でよく使われるもので、大きく以下の3つに分類できます。
1. ajax
2. post送信
3. get送信
1と2はSEOを前提としたサイトやページには非常に相性が悪いです。
その...続きを読む

Qsyntax error, unexpected '}' というエラーの対処法

PHPを習い始めて三日目になるのですがParse error: syntax error, unexpected '}' in C:\Program Files\Apache Group\Apache2\htdocs\****\****\game.php on line 33
というエラーがでるのですが33行目前後のどこをなおせばいいのでしょうか?
・game.php
<html>
<head>
<title>数当てゲーム</title>
</head>
<body>
<h1 style="background:#cccccc">数当てゲーム</h1>
<form method="POST" action="game.php">
1~100までの数を入力してください
<input type="text" name="answer" size="5" maxlength="3" />
<input type="sbumit" value=回答" />
</form>
<hr />
<?php
session_start();
if(is_null($_SESSION['answer'])){
mt_stand(microtime()*1000000);
$_SESSION['answer']=mt_rand(1,100);
$_SESSION['game_cnt']=0;
}
if($_POST['answer']!=""){
$_SESSION['game_cnt']++;
if($_session['answer']==$_POST['answer']){
print("おめでとうございます".
$_SESSION['game_cnt']."回で正解しました!");
session_destroy();
}else{
if($_SESSION['answer']>$_POST['answer']){
print("もう少し大きいです。");
}else
print("もう少し小さいです。");
}
}
}
?>
</body>
</html>
それとこの間違えたところをなおしたあとはいつもコンピュータを再起動しないと修正したところが適用されないのですがほかに方法はないですか?基本的な質問ですいません。

PHPを習い始めて三日目になるのですがParse error: syntax error, unexpected '}' in C:\Program Files\Apache Group\Apache2\htdocs\****\****\game.php on line 33
というエラーがでるのですが33行目前後のどこをなおせばいいのでしょうか?
・game.php
<html>
<head>
<title>数当てゲーム</title>
</head>
<body>
<h1 style="background:#cccccc">数当てゲーム</h1>
<form method="POST" action="game.php">
1~100までの数を入力してください
<input type="text" name="answer" size="5" max...続きを読む

Aベストアンサー

print("もう少し大きいです。");
}else
print("もう少し小さいです。");
のelseの後に{がないようですが、大丈夫でしょうか?

Q別ファイルの変数を呼び出したいのですが?

初めて質問させて頂くPHP初心者の者です。
例えば、
(a.php)というファイル内で導き出された変数の値($a)を、(b.php)というファイル内に呼び出したいのですが、関数等を利用して呼び出す事は出来るでしょうか?

-----a.php-------------------------
<?php
$a=xxxx; //導き出された変数$a(の値)
?>
-----------------------------------
-----b.php-------------------------
<?php
$a=△△△△; //このファイル内で変数$a(の値)を呼び出したい
?>
------------------------------------

よろしくお願い致します

Aベストアンサー

質問があいまいなので回答が微妙です。

たんにa.phpを再利用する場合、a.phpをincludeやrequire
する#1さんの回答が妥当です。
a.phpの中でprintやechoをしているのが気に入らないなら
出力をバッファリングして捨ててしまえばよいでしょう。

//a.php
<?PHP
print "a_html";
$a_value="a_value";
?>

//b.php
<?PHP
ob_start();
include("a.php");
ob_clean();
print $a_value;
?>

関数の再利用を前提とするならインクルードするわけ
ですからclass化して標準出力をしないのが普通だと
思いますが・・・・

また、別の観点でa.phpからリンクされるb.phpに
移動する際に値を持って移りたいというなら、
単純にpostやgetというformのデータでわたすか、
クッキーやセッションを使うことになります。

Qphpにcssを適応させたいのですが?

phpで出力させた結果をブラウズするのに、css指定させたいのですが?

できるのでしょうか?

Aベストアンサー

PHPだから特別な考えはしなくて良いです

PHPはあくまでも、サーバー側で動いて、その結果を出力させるだけです

つまり出力させたHTMLにごくごく普通にCSSを適用させれば良いだけです
又、テクニックとしCSSそのものをPHPで処理させることも可能ですよ

例えば
---------------index.html(又はindex.php)のhead内
<link rel="stylesheet" type="text/css" href="stylecss.php"/>
---------------

------------stylecss.php
BODY {
background-color: #<?php echo $background; ?>;
margin: 0px;
}

A:link {
color: #<?php echo $acollar; ?>;
text-decoration:none;
}
-----------
のようにしてしまって、CSSそのものを動的に生成することも可能です

PHPだから特別な考えはしなくて良いです

PHPはあくまでも、サーバー側で動いて、その結果を出力させるだけです

つまり出力させたHTMLにごくごく普通にCSSを適用させれば良いだけです
又、テクニックとしCSSそのものをPHPで処理させることも可能ですよ

例えば
---------------index.html(又はindex.php)のhead内
<link rel="stylesheet" type="text/css" href="stylecss.php"/>
---------------

------------stylecss.php
BODY {
background-color: #<?php echo $background; ?>;
margin: 0px;
...続きを読む

QコーディングはHTMLとPHPのどちらをベースにした方がいいでしょうか?

 実質的には初めてのWebアプリケーション開発です。
 さて、社内でも意見が割れているのですが、コーディングはHTMLとPHPのどちらをベースにしたら良いでしょうか?

【HTMLベース】
<input ~ value="<?=$hensu?>">
<?
if($hensu==6){
$cnt=0;
}
?>

【PHPベース】
print ("<input ~ value=\"$hensu\">");
if($hensu==6){
$cnt=0:
}


 つまり、
「HTMLの中にPHPを埋め込んでいく」
「PHPの中にHTMLを埋め込んでいく」

 開発効率やメンテナンス、あるいは世間の趨勢等、
どちらがいいのでしょうか?

Aベストアンサー

先の回答者が2人とも PHP ベースとおっしゃっているので
私は普段 HTML ベースなので、少し意見を。

で、Web アプリケーションの開発ですけど、
ビジネスロジック・インタフェース・デザインは
分離して開発するといいと思います。

したがって、出来る限り HTML と PHP は分離
する方がよいと思います。

例えば、簡単なカウンターを考えた場合、
ファイルから現在のカウンタを取得し、ロックかけて
1カウントアップして画面に表示する。
となりますが、

私が PHP を使って開発する場合、こんな感じに
なります

<?php
 require("CCounter.php");
 cCount = new CCounter();
 cCount.countUP();
?>
<html><head></head><body>....
<p><?php echo cCount.getCount(); ?>
</body></html>

つまり、処理のほとんどを PHP のクラスに
閉じ込めてしまいます。
つまり HTML を出力する PHP では極力 PHP が
登場しないようするべきだと思っています。

結果的に HTML ベースの形になります。
これだと、画面レイアウトの変更とかが
最悪デザイナーに依頼してもやってくれます。

PHP ベースだと Web デザイナーに画面を綺麗に
してもらうのは、なかなか困難かと思うので。

---
というわけで、私は
■ 画面レイアウトの HTML
■ ロジックの PHP クラス
に分離し、HTML に最小限の PHP を埋め込むことで
Web アプリの開発をしています。

どうでしょう。一意見として聞いていただければ
幸いです。

先の回答者が2人とも PHP ベースとおっしゃっているので
私は普段 HTML ベースなので、少し意見を。

で、Web アプリケーションの開発ですけど、
ビジネスロジック・インタフェース・デザインは
分離して開発するといいと思います。

したがって、出来る限り HTML と PHP は分離
する方がよいと思います。

例えば、簡単なカウンターを考えた場合、
ファイルから現在のカウンタを取得し、ロックかけて
1カウントアップして画面に表示する。
となりますが、

私が PHP を使って開発する場合、こん...続きを読む

QCSSでborderの長さを指定、または可変にしたい。

下記のように指定していますが、これだと横幅いっぱいに下の線が表示されてしまいます。

文字なりの長さ、または指定のピクセル数にしたいのですが、どのようにしたらよいでしょうか。

h3{
border-width : 0px 0px 1px 5px;
border-style : solid ;
border-color : #FF3333;
padding-left : 5px;
}

Aベストアンサー

borderの長さはそのボックスの大きさですから、ボックスの大きさを指定する事になります。
h3{
width:???px;
border-width : 0px 0px 1px 5px;
border-style : solid ;
border-color : #FF3333;
padding-left : 5px;
}

また、文字数(ボックスの内容)に合わせたい場合は、ボックスを浮動化(float)する等の方法もありますが・・・そのボックスの周りへ影響が出たり、ブラウザ毎にバグや実装の違いなどが比較的多く、扱いが面倒になるのであまりおすすめできません。

HTMLの方も修正する方法でもよければ

<h3><span>××○○</span></h3>
のようにspanで囲い、スタイルをspanに対して指定する方法もあります。

h3 span{
border-width : 0px 0px 1px 5px;
border-style : solid ;
border-color : #FF3333;
padding-left : 5px;
}

borderの長さはそのボックスの大きさですから、ボックスの大きさを指定する事になります。
h3{
width:???px;
border-width : 0px 0px 1px 5px;
border-style : solid ;
border-color : #FF3333;
padding-left : 5px;
}

また、文字数(ボックスの内容)に合わせたい場合は、ボックスを浮動化(float)する等の方法もありますが・・・そのボックスの周りへ影響が出たり、ブラウザ毎にバグや実装の違いなどが比較的多く、扱いが面倒になるのであまりおすすめできません。

HTMLの方も修正する方法でもよけ...続きを読む

Qテーブルセル余白(例えば左側だけ、上側だけ、など)

こんにちは。
宜しくお願いいたします。

テーブル内のコードに、cellpadding="5" は
セル余白が上下左右のすべて、5ピクセル空きますが、

左側だけ5ピクセル、とか、上側だけ5ピクセル、のように
指定方向のみ、余白を作ることは可能でしょうか。

その場合のHTML記述を教えてください。

また、ここで質問させていただいている「指定方向への余白指定」と
全体余白指定の「cellpadding="XX"」は同時に使って
良いものでしょうか。
素人質問ですみません。
宜しくお願いいたします。

Aベストアンサー

1つのセルだけなら、下記で。
<td style="padding: 5px 10px 20px 30px;">
上の例は、上が 5px。 右が 10px。下が 20px。 左が 30px。
適当に数値変更してください。
cellpadding="5" と style="padding: 5px;"は同じになるはず。
<td style="padding: 5px;">

両方使うとどうなるかは、試して下さい。
cellpadding をここ数年利用していないので・・・

複数個所利用するなら、NO.1さんを参考に HEAD内に下記を入れて試してみましょう。
<style type="text/css">
<!--
td {padding: 5px 10px 20px 30px;}
-->
</style>

QHTMLフォームのSELECTの幅を一定にするためには?

HTMLフォームのSELECTの幅を一定にするためにはどのようにすれば
いいのでしょうか?

CSS等で設定できるとありがたいのですが、やり方がわかりません。

Aベストアンサー

<select style="width: 200px">

QHTMLからフォルダを開きたい

いつも大変お世話になります<(_ _)>

Webサーバー上にあるWebページ(HTML)の中に、ローカルPCのフォルダを開くリンクを付けたいのですが、
<a href="file://c:\windows">OPEN</a>
としても、何も反応しません。

いろいろ調べたのですが、上記の方法しか見あたりません。

なお、ブラウザのアドレス欄に file://c:\windows と入力すると、フォルダの内容が表示されます。
※Firefoxだと、ファイルの一覧になりますが・・・

何か環境によって挙動が異なるのでしょうか?
それとも、セキュリティ上の観点から最近じゃ出来なくなっているのでしょうか?

是非ともお助け下さい。宜しくお願い致します。

Aベストアンサー

file:///C:/windows/
/は三つでは・・・
 IEの場合はエクスプローラ(ファイルマネージャ)が開くような・・・
 IEはファイルマネージャーと一体のブラウザなので・・・

★実は、ローカルサーバーが必要です。
 apacheでも何でも良いので、WEBデータの入っているフォルダーを
<VIRTUALHOST 127.0.0.1>
C:\Document and settings\my document\web
 とかに指定して、Windowsのhostsファイルで、適当なサーバー名を指定しておきます。
myLocalhost 127.0.0.1
とか・・・

 そうすると
http://myLoclahost/
 で開けます。

 

Q1ピクセルって何ミリですか?

1ピクセルって何ミリなのでしょう?
至急、お答えお待ちしております。
かなり急いでます。よろしくお願いいたします。

Aベストアンサー

1ピクセルが何ミリかという質問の答えになるかどうか分かりませんが、
WEB制作上に限って言えば、横100ピクセルの画像を作りたい場合、
Photoshop等では単位をピクセルで作れますが、Illustrator等の場合は、
100pointで作ります。
1pointは、0.35277ミリです。


人気Q&Aランキング