0

URLセグメントで渡されたIDに一致する単一のレコードをデータベースにクエリしていますwww.site.com/post/24

投稿24が存在しないとします。見つからないデータベースリクエストを処理するための安全でseo準拠の方法は何ですか?

以下は、Codeigniterモデルを使用した現在のソリューションです。

    function read_post($post_id) //argument is the value of the url segment
    {
        $user_id = $this->tank_auth->get_user_id();

        $this->db->where('user_id', $user_id);
        $this->db->where('post_id', $post_id);
        $this->db->limit(1);
        $query = $this->db->get('posts');

        //check if record exists
        if ($query->num_rows() > 0) //row is returned
        {
            return $query->row(); //passed to controller and view
        }
        else
        {
            show_404(); //generate 404 message
            return FALSE; //------------------------or exit()?
        }
    }

あなた自身の最良の方法/意見を共有してください。

4

3 に答える 3

6

404ページを表示します(404 HTTPステータスコードを使用)。それが正しいやり方です。そうしないと、コンテンツのないページが無限にあるふりをすることになります。

404ページで、コンテンツがもう存在しないことを簡単に説明してください。次に、Webページ上の他の人気のあるコンテンツへのリンクを追加できます。ユーザーのために、404ページから興味深いコンテンツ誘導することをお勧めしますが、ユーザーが404メッセージを読んで次に何をするかを選択できるように、リンクを使用してこれを行ってください。

単語を含む意味のあるURLがある場合は、単語を抽出してデータベースで何らかの検索を行うこともできます。検索結果を404ページにも、「興味があるかもしれません...」などの見出しの下に一覧表示します。あなたが製品やサービスを販売しているなら、404ページを素敵な販売ページにすることを躊躇しないでください!

私は最高のSEOがあなたの訪問者にとって最高のものであると強く信じています。それはすべてあなたのウェブサイトにそれらを保持することであり、それらを怖がらせないことです。Webサイトをできるだけユーザーフレンドリーにし、興味深いコンテンツをすべて簡単に見つけられるようにします。上記の私の答えは、その信念に直接由来しています。標準(この場合はHTTP標準)に従って正しいことを行うと同時に、優れたコンテンツとサービスでユーザーを捕らえるようにします。これは間違いなく、販売に関してあなたの会社全体にとって最良のものでもあります。

于 2012-06-20T23:24:32.680 に答える
2

SEOはあなたのデータベースとは何の関係もありません。

SEOは、キーワード、タイトル、説明、単語の頻度、最終的にレンダリングされたHTMLドキュメントの記事と同じ地域のページへの送信リンクと関係があります。

また、あなたはそれをカットしないなどのSEOフレンドリーなリンクが必要です/beach-party-on-sunday//post/24

回答:SEOの健全性、および一般的なHTTPサーバーの動作によると、WebサイトにURLが存在しない場合は、200回成功するのではなく、404HTTPステータスで応答するのが最適です。ただし、ユーザーをリダイレクトするURLがある場合は、URLが元に戻るかどうかに応じて、永続的なリダイレクトまたは一時的なリダイレクトを使用します。

シンプルにルールに従ってプレイするだけで、SEOに対応できます。

于 2012-06-20T23:27:15.923 に答える
0

ホームページにリダイレクトします。この特定のケースでは、www.site.com/postにリダイレクトします。

于 2012-06-20T23:24:32.530 に答える