URLからの一意のIDに基づいてプロパティに関する情報を表示するページがあり、そのIDをmysqlデータベースで検索し、その行からすべての情報を取得します。
私はこれがSEOの方が良いと仮定しているので、各データベース行のhtmlページを「作成」できるかどうか/どのように疑問に思っていましたか?複数のページに1つの動的ページではなく、キーワードがありますか?
私のプロパティは、サイト上のフォーム/アップロードシステムによってデータベースに追加されます。アップロード時にページを作成する方が簡単かもしれないと考えていましたが、提案は受け付けています。
データベース行ごとにhtmlページを「作成」できるかどうか/どのようにすればよいか疑問に思っていました?
Htmlテンプレートを生成するphp
ファイルを1つ作成するだけで、そのページのテキストベースのコンテンツが変更されます。そのページでは、POST
またはGET
を介してパラメーター(行IDなど)を取得し、データベースから情報を取得できます。
これはSEOに適していると思いますか?
Googleがそれを解釈するexample.php?id=33
およびexample.php?id=44
は異なるページであり、yes、この方法はSEOの観点から単一のリストページよりも優れているため、少なくとも2つのphpファイルが必要です(listing.php
およびsingle.php
)、このページをlisting.php
。
追加のアドバイス:
example.php?id=33
は本当にく、seoフレンドリーではありません。URL書き換えコードが必要な場合があります。何かのようなもの example/properties/property-name
優れている ;)
誰かが実際のHTML
ファイルを生成/作成したい場合に備えて...
$myFile = "filename.html"; // or .php
$fh = fopen($myFile, 'w'); // or die("error");
$stringData = "your html code php code goes here";
fwrite($fh, $stringData);
fclose($fh);
楽しい!
要件に従って、htmlページを動的に生成する必要はありません。 .htaccessファイルで実行できます。
それでも、これはHTMLページを生成するサンプルコードです
<?php
$filename = 'test.html';
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Disposition: attachment; filename=$filename");
header("Content-Type: application/octet-stream; ");
header("Content-Transfer-Encoding: binary");
?>
ファイル名の拡張子を変更するだけで、.html、.phpファイルを作成できます。
ダイナミックHTMLページを生成する必要はありません。htaccessファイルを使用してURLを書き換えるだけです。
面白そうですが、動作します。
<?php
$file = 'newpage.html';
// Open the file to get existing content
$current = file_get_contents($file);
// Append a new person to the file
$current .= "<!doctype html><html>
<head><meta charset='utf-8'>
<title>new file</title>
</head><body><h3>New HTML file</h3>
</body></html>
";
// Write the contents back to the file
file_put_contents($file, $current);
?>
私はこれに似た仕事をしてきましたが、あなたを助けるかもしれないコードがいくつかあります。ライブの例は here 以下であり、参照として使用するために使用しているコードです。
create-page.php
<?php
// Session is started.
session_start();
// Name of the template file.
$template_file = 'couples-template.php';
// Root folder if working in subdirectory. Name is up to you ut must match with server's folder.
$base_path = '/couple/';
// Path to the directory where you store the "couples-template.php" file.
$template_path = '../template/';
// Path to the directory where php will store the auto-generated couple's pages.
$couples_path = '../couples/';
// Posted data.
$data['groom-name'] = str_replace(' ', '', $_POST['groom-name']);
$data['bride-name'] = str_replace(' ', '', $_POST['bride-name']);
// $data['groom-surname'] = $_POST['groom-surname'];
// $data['bride-surname'] = $_POST['bride-surname'];
$data['wedding-date'] = $_POST['wedding-date'];
$data['email'] = $_POST['email'];
$data['code'] = str_replace(array('/', '-', ' '), '', $_POST['wedding-date']).strtoupper(substr($data['groom-name'], 0, 1)).urlencode('&').strtoupper(substr($data['bride-name'], 0, 1));
// Data array (Should match with data above's order).
$placeholders = array('{groom-name}', '{bride-name}', '{wedding-date}', '{email}', '{code}');
// Get the couples-template.php as a string.
$template = file_get_contents($template_path.$template_file);
// Fills the template.
$new_file = str_replace($placeholders, $data, $template);
// Generates couple's URL and makes it frendly and lowercase.
$couples_url = str_replace(' ', '', strtolower($data['groom-name'].'-'.$data['bride-name'].'.php'));
// Save file into couples directory.
$fp = fopen($couples_path.$couples_url, 'w');
fwrite($fp, $new_file);
fclose($fp);
// Set the variables to pass them to success page.
$_SESSION['couples_url'] = $couples_url;
// If working in root directory.
$_SESSION['couples_path'] = str_replace('.', '', $couples_path);
// If working in a sub directory.
//$_SESSION['couples_path'] = substr_replace($base_path, '', -1).str_replace('.', '',$couples_path);
header('Location: success.php');
?>
このファイルがあなたのプロジェクトを開始し、後押しするための参考として役立つことを願っています。
私はあなたの問題にURL書き換えmodを使用することをお勧めします、私は同じ問題を抱えていますが、URL書き換えmodを使用し、良好なSEO応答を取得します。例を挙げましょう。たとえば、WordPress、ここでデータはデータベースに保存されますが、URL書き換えmod many WordPressウェブサイトはGoogleから良い応答を得てランクも取得します。
例:wordpress url rewrite modなしのurl-domain.com/?p=123 url rewriteモード後-domain.com/{title of article} like domain.com/seo- url-rewrite-mod
私はあなたが言いたいことを理解していると思う
変更を含めるためにコードを更新し、コメントを追加して、何が起こっているかを明確に確認します...
<?php
include("templates/header.htm");
// Set the default name
$action = 'index';
// Specify some disallowed paths
$disallowed_paths = array('header', 'footer');
if (!empty($_GET['action'])) {
$tmp_action = basename($_GET['action']);
// If it's not a disallowed path, and if the file exists, update $action
if (!in_array($tmp_action, $disallowed_paths) && file_exists("templates/{$tmp_action}.htm"))
$action = $tmp_action;
}
// Include $action
include("templates/$action.htm");
include("templates/footer.htm");