9

codeigniter (mvc) と php を使用して webapp を開発しています。連絡先が動的な場合、検索エンジン用のサイトマップを作成するにはどうすればよいですか? これに関するベスト プラクティスはありますか、またはプロセスを自動化する方法はありますか? コンテンツは常に急速に追加されるため、サイトマップを最新のものにしてほしいのでお願いします。ありがとう

更新:私の質問に答えるために、私が作成しているタイプのサイトは、ユーザーが記事を投稿する公開ブログ タイプのサイトです。

Update2 : 私の混乱を詳しく説明するために: サイトマップがどのように構成されているかを正確に理解していない可能性があります。たとえば、stackoverflow のようなサイトでは、ユーザーが新しい質問を追加すると (したがって、新しいページが作成されると)、サイトマップが変更され、再送信する必要がありますか? このようなサイトにとって、サイトマップを持つことはどれほど重要なのでしょうか?

4

6 に答える 6

6

コンテンツは動的ですが、サイトマップは静的にしたいと考えています。もちろん、必要に応じてサイトマップを 1 日に 1 回更新するか、新しいブログ エントリを投稿するたびに更新してください。ただし、要求されたときにサイトマップを作成しようとしないでください。それはパフォーマンスの悪夢になるでしょう。

Stackoverflow のサイトマップは毎日更新されていると思います。最近変更された 50,000 ページが含まれています。サイトマップは SEO (検索エンジン最適化) に役立ちます。

サイトマップ生成のレシピはこちら

于 2009-09-04T22:23:53.903 に答える
2

私はCodeIgniterの代わりにZendFrameworkとDoctrineで開発していることを除いて、あなたと同じような状況にあります。

この問題を解決する方法は、DoctrineNestedSetとして機能するサイトマップモデルを構築することでした。基本的には、id、parent_id、title、uri、created、updatedなどのいくつかのフィールドです。必要に応じてフィールドを追加できますが、それが基本的な前提です。

次に、Zend_Navigationを使用して、このツリーをサイトのメニューにレンダリングします。

Zend_Navigationには、XMLサイトマップを自動的に生成するためのヘルパーメソッドもあるため、そのXMLドキュメントをレンダリングするように設定されたコントローラーとビューがあります。

次に、サイトマップコントローラーを監視するZend Action Controllerプラグインを作成しました。更新が行われると、最後の更新と照合し、サイトマップが更新されたことをGoogleにpingします。

これらの概念はすべて、CIに簡単に移植できると思います。

CIにサイトマップビューヘルパーがない場合は、Zendが緩く分離されているため、おそらくZendNavigationクラスを使用できます。

または、ここのサイトマップの標準を使用して、CIでxmlドキュメントを生成することもできます。

http://www.sitemaps.org/protocol.php

于 2009-08-23T02:11:44.273 に答える
2

html サイトマップではなく、xml サイトマップを作成しようとしていると仮定しますか?

私はまだこれを行っておらず、すぐに試してみたいと思っていますが、私がしたいことは、example.com/index.php/sitemap のようなパスを呼び出す cron ジョブをセットアップすることです。次に、サイトマップ コントローラーのインデックス関数がクエリを実行して、すべての投稿のすべてのタイトルと、それらのエントリへの完全な URL を構築するために必要なすべてのものを選択します。これは、サイトマップ プロトコルの必須要素であるため、エントリが最後に更新されたときです。 . このためのフィールドがデータベースにない場合は、追加する必要がある場合があります。

その後、結果をループして、適切な構造の xml ファイルを書き出すだけです。ループしているため、エントリごとに優先順位、changefreq、およびその他すべての要素を決定する必要もあります。

また、 http: //www.xml-sitemaps.com/ の有料版も検討しています。これは、cron のセットアップ以外はすべて行う必要があり、非常に手頃な価格で、独自のサーバーで実行されます。19,99 米ドル相当の時間でこれを自分で開発できるとは思えません。また、このアプリは新しいコンテンツを検索エンジンに通知します。この方法についてはまだ説明していません。

于 2009-08-24T10:21:24.087 に答える
0

サイトマップ構造のupdate-frequencyパラメータは、ウェブページが更新される頻度を検索エンジンに伝えます。

ページの URL はさまざまな方法で変更できるため、混同しないでください。

stackoverflowなら questions.php?id=1317539このページかもしれませんし、例えばquestions.phpは更新頻度を1分に設定しています

そのため、毎分、stackoverflow Web サイトの新しいサイトマップが生成されます。

更新: Robert によるこの回答では、新しい質問がシステムに追加されたときに Stack Overflow のサイトマップがどうなるかを説明しています。

于 2012-09-24T08:49:44.087 に答える
0

作成するサイトの種類に応じて、いくつかの方法で作業できます。

たとえば、ニュース サイトを作成している場合。各ニュース記事のパーマリンクにリンクする単一のページを持つことができます。どのような種類のサイトやそのコンテンツが詳細に記載されているかをお知らせいただければ、より適切なサポートを提供できます。

于 2009-08-23T01:57:30.017 に答える