1

最初に私の状況を説明しましょう。私は

ブログ Web サイトを持っています。ブログ エントリは MySQL データベースに保存され、ユーザーが Web サイトにアクセスすると読み込まれます。各ブログ投稿には、ブログ投稿の検索に使用できるタグがあります。Google などの検索エンジンを使用して、投稿のタグやタイトルで関連する単語を検索したときに、ユーザーが私の個々のブログ投稿を結果として取得できるようにしたいと考えています。

たとえば、「検索エンジンの最適化のために URL にブログ記事のタイトルを含めますか?」というタイトルの投稿があり、ユーザーが「URL seo のブログ記事のタイトル」などを検索した場合、私の投稿が表示されるはずです。が結果の 1 つとして表示されます (たとえば、Google でプログラミングの質問を検索すると、多くの結果が Stackoverflow から得られます)。

post.php という動的な php ページを作成するシステムを実装する必要があると思います。この同じページを使用して、投稿のタイトルが URL に含まれる個々のブログ投稿を表示します。また、投稿タグをこのページのメタキーワードとして入れるとよいでしょう。しかし、URL にタイトルを含めることができるように、サーバー上に各ブログ投稿の静的ページを持ちたくありません。stackoverflow のやり方を見ると、投稿のタイトルが URL 自体に含まれている URL にリンクしている個々の投稿があります。似たようなものが欲しいです。したがって、私の最後の言い換えられた質問は次のとおりです。

1) URL に記事のタイトルを含めることは SEO に適していますか?

2)データが Web サイトに物理的に存在しないため、MySQL からブログ投稿データをロードする動的ページを使用することは SEO にとって悪いことですか?

3)個々のブログ投稿がクリックされたときに表示され、URL にブログ投稿のタイトルが含まれる動的ページを作成するにはどうすればよいですか (Stackoverflow と同様)。ボーナス: メタ キーワードとして投稿タグを含めることができれば、非常に素晴らしいでしょう!

4

2 に答える 2

2

robots.txtを使用して、すべての URL をリストしたサイトマップにリンクします。Googleはそれを見つけます。

また、必須ではありません: .htaccessを使用して、魔法のように php-url-crap を domain.ext/category/post-id.html またはその他のSEO フレンドリーな URLに変換します。

更新: まあ、私は一般的に XML を信頼していません。私のサイトマップはすべて、php で生成された html ファイルであり、問​​題なく動作します。

  1. URL構造はSEOにとって重要です。
  2. それは問題ではありません。Wordpress、Joomla、Drupal を見てください... 同じ原理です。
  3. html を配信する前にSQL クエリを実行し、その URL のデータのみを選択してからそれを html に挿入する page.php ファイルがあり、各ユーザーが異なる URL を入力すると、異なるコンテンツが表示されます。

「PHP MYSQL 初心者 CMS」というテーマのチュートリアルを見たり読んだりする時間をとることをお勧めします。

于 2012-08-11T20:15:50.607 に答える
1

私は次のようなものを使用します:

<!DOCTYPE HTML>
<!--
<?php
if(!isset($_GET['id']) && empty(trim($_GET['id']))) die('No post number specified!');
$conn = mysqli_connect('localhost', 'username', 'password', 'blog_db') or die('MySQL connection failed!');
$id = mysqli_real_escape_string($conn, preg_replace('/[^0-9]/', '', $_GET['id'])
$query = "SELECT * FROM `posts` WHERE `id` = '$id'";
$result = mysqli_query($conn, $query) or die('MySQL query failed!');
$post = mysqli_fetch_assoc($result) or die('Fetching content failed!');
$title = $post['title'];
$content = $post['content'];
$tags = explode(',', $post['tags']);
$author = $post['author'];
$time = $post['time'];
?>
-->
<html lang="en-US">
<head>
    <meta charset="UTF-8" />
    <title><?php echo htmlentities($title); ?> &mdash; By Blog</title>
    <meta name="keywords" content="<?php echo implode(',', htmlentities($tags)); ?>" />
</head>
<body>
    <div id="post">
        <div id="post-content">
<?php echo htmlentities($post); ?>
        </div>
        <div id="post-tags">
            <ul id="tags">
<?php foreach($tags as $tag) { ?>
                <li>
                    <a href="/tagged/<?php echo urlencode($tag); ?>"><?php echo htmlentities($tag) ?></a>
                </li>
<?php } ?>
            </ul>
        </div>
        <div id="author">posted by <a href="/author/<?php echo urlencode($author); ?>"><?php echo htmlentities($author); ?></a></div>
    </div>
</body>
</html>

おそらく、URL の書き換え (この URL を見てください: タイトルは表示されますが、実際のファイルは存在しません) を調べると、より検索エンジンに適したものになります。

また、検索エンジンもそこのリンクをたどるので、訪問者のためにサイトマップを用意しておくとよいでしょう。

于 2012-08-11T20:38:05.253 に答える