2

私の仕事では、「mywebsite.org/category/」が検索エンジンに対して「mywebsite.org/category/index.php」とは異なるURLのように見えるため、上司が感じるさまざまなWebページが本来よりも低くランク付けされています。 「同じファイルを表示していても、そうです。私はそれがこのように機能するとは思わないが、彼は確信している。多分私は間違っています。2つの質問があります:

  1. すべてのサブカテゴリのアドレスバーに「index.php」と表示されるようにするにはどうすればよいですか?
  2. これは本当にページランクがどのように機能するのですか?
4

7 に答える 7

3

このコードをすべてのページの上部に追加することも機能するはずです。

<?php
if (substr($_SERVER['REQUEST_URI'], -1) == '/') {
    $new_request_uri = $_SERVER['REQUEST_URI'].'index.php';
    header('HTTP/1.1 301 Moved Permanently');
    header('Location: '.$new_request_uri);
    exit;
}
?>
于 2009-08-20T20:11:59.953 に答える
3
  1. あらゆる場所ですべてのリンクを変更することに加えて、より簡単な解決策は書き換えルールを使用することです。永続的なリダイレクトであることを確認してください。そうしないと、Googleは古いリンク(index.phpなし)を引き続き使用します。これをどのように行うかは、Webサーバーによって異なりますが、Apache HTTPdの場合、以下の例のようになります。
  2. はい。またはそう私は聞いた。確かに知っている人はほとんどいません。しかし、Googleはこのガイドラインに言及しています(「一貫性を保つ」として)。Googleのウェブマスターガイドラインをすべて確認してください。

書き換えルールのApache構成:

#一般的な構成
LoadModule rewrite_module modules / mod_rewrite.so

#あなたの凶悪なホストで
RewriteEngineオン

#スラッシュで終わるすべてのものを同じものにリダイレクトしますが、index.phpを追加します
RewriteRule ^(。*)/ $ $ 1 / index.php [R = 301、L]

#またはその逆、提案されているように
#RewriteRule ^(。*)/ index.php $ $ 1 / [R = 301、L]
于 2009-08-20T20:15:22.617 に答える
1

index.phpを捨てると言っているすべての人に同意します。入力しないと同じ結果が得られる可能性がある場合は、訪問者にindex.phpの入力を強制しないでください。

IISサーバーとApacheサーバーのどちらを使用しているかはわかりませんでした。IISは、index.phpがデフォルトのページであると想定するように設定できるため、http://mywebsite.org/はindex.phpを含めなくても正しく解決されます。

デフォルトのページを含めて、ユーザーにURLにページ名を入力させる場合は、ページ名を検索エンジンと訪問者にとって意味のあるものにします。

例:

http://mywebsite.org/teaching-web-scripting.php 

単なるよりもSEOランキングにとってはるかに説明的で有益です

http://mywebsite.org/index.php
于 2009-08-20T21:03:49.990 に答える
1
  1. ストレートPHPまたはその他のフレームワークを使用しているかどうかはわかりませんが、PHPの場合は、サイト上のすべてのリンクを「mywebsite.org/category/index.php」に変更するだけで済みます。

  2. これが検索エンジンのランクに影響を与える可能性があると思います。ただし、それぞれに「index.php」を追加するのではなく、「mywebsite.org/category」のみを使用する方がよいでしょう。

結論として、Webサイト内のすべてのリンクがいずれかを使用していることを確認する必要があります。アドレスバーに実際に表示される内容は重要ではありません。

于 2009-08-20T20:09:23.703 に答える
1

簡単な解決策は、<head>タグを挿入することです。

<link rel="canonical" href="http://mywebsite.org/category/" />

そうすれば、検索エンジンがどのページにたどり着いたとしても、それが単に別のビューであることがわかります。/category/

そして2番目の質問です-はい、Googleがあなたがスパムだと思った場合、それはあなたの結果に影響を与える可能性があります。そうでなければ、彼らはのサポートを追加しなかったでしょうrel="canonical"somedir/index.*彼らが同じように扱っても私は驚かないでしょうがsomedir/

于 2009-08-20T20:10:10.100 に答える
1

/ category/と/category/index.phpがseoの2つのURLと見なされるかどうかはわかりませんが、何らかの形でそれらに影響を与える可能性は十分にあります。念のため、すばやく変更しても問題はありません。

いくつかの考え:

URL

/index.phpを追加するよりも、キーワード'index'がおそらくあなたが望むものではないので、それらのいずれにもindex.phpがないように作成する方が良いでしょう。

現在のページのURLがindex.phpで終わっているかどうかを確認するスクリプトを作成して削除し、結果のURLに転送することができます。

たとえば、私のサイトの1つで、「www」が必要です。私のドメインでは(www.domain.comとdomain.comは検索目的で2つのURLと見なされますが、常にではありません)、各ページをチェックし、www。がない場合は広告を出して転送するスクリプトがあります。

    if (APPLICATION_LIVE) {
        if ( (strtolower($_SERVER["HTTP_HOST"]) != "www.domain.com") ) {
            header("HTTP/1.1 301 Moved Permanently"); // Recognized by search engines and may count the link toward the correct URL...
            header("Location: " . 'www.domain.com/'.$_SERVER["REQUEST_URI"] );
            exit();
        }
    }

あなたはあなたが必要なことをするためにそれをモード化することができます。

そうすれば、クローラーが間違ったURLにアクセスした場合、正しいURLに置き換えられたことが通知されます。人が間違ったURLにアクセスすると、正しいURLに転送され(ほとんどの場合気付かれません)、ブラウザからURLをコピーして誰かを送信したり、そのページにリンクしたりすると、最終的にはそのページの正しいURL。

リンクURL

彼らは他のページがあなたのページにリンクする方法がseoにとってより重要です。すべてのサイト内リンクが適切なURL(/index.phpなし)を使用していること、および「このページへのリンク」機能がある場合は、/index.php部分が含まれていないことを確認してください。全員があなたにリンクする方法を制御することはできませんが、項目1のスクリプトのように、ある程度制御することはできます。

URLルーティング

また、ある種のフレームワークまたはスタンドアロンのURL再ルーティングスキームの使用を検討することもできます。それはそれを作ることができたので、より多くのキーワードなどがありました。

例については、こちらをご覧ください:http: //docs.kohanaphp.com/general/routing

于 2009-08-20T20:16:31.693 に答える
-1

robots.txtファイルを確認してみませんか?完全に最善の解決策ではありませんが、それらを使用して実行可能な何かを実装できるはずです...

于 2009-08-20T20:06:11.450 に答える