1

ドメインでワイルドカード サブドメインを有効にしています。これを使用して、url を書き換えて、page.php のローカル言語バージョンをユーザーに表示できるようes.domain.comにします。domain.com/page.php?lang=es

ワイルドカード サブドメインを許可することで発生する可能性のある問題の 1 つは、人々がリンクしwww.es.domain.comたりanything.they.like.domain.com、Web サイトの完全に機能するクローンを表示したりできることです。この「重複コンテンツ」はSEOに悪いと思います。

2 文字を超えるサブドメイン (www. はもちろん除外) を検出し、問題のある URL をクリーンなベースに 301 リダイレクトする RewriteRule を思いつく人はいdomain.comますか? domain.co.ukすでにサブドメイン上にあるように見えるドメインを考慮すると、問題が発生します。

補足として、クエリ パラメータを使用して、URL の反対側の SEO に同様の影響はありますか? たとえばdomain.com?param=anything-I-like、重複したページが確実に表示されます。Google はこのコンテンツをどのように処理しますか?

アップデート:

これが私が現在使用している書き換えルールです。PHP で不正な URL をクリーンアップしたい場合は、これを変更してすべてのサブドメインをキャッチする必要があります。これは CMS で使用されるため、一般的に (domain.com を指定せずに) 行う必要があります。助言がありますか?

RewriteCond %{HTTP_HOST} ^([a-z]{2})\.
RewriteRule p/(.*) page.php?p=$1&lang=%1
4

3 に答える 3

1

正直なところ、実際の問題を解決することについて話すことはできませんが、anything.I.want.domain.com が SEO にとって本当に、本当に悪いことは確認できます。私はこの分野で 2 年間の経験があり、現在、米国のメイン サイトのリンクをクリーンアップするプロジェクトに取り組んでいます。2 つの最大の問題は、約 100 個の *.domain.com が存在するサイトから発生しました。最大の問題は、トラスト フローに関するこの問題の影響です。基本的に、リンクのトラスト レーティングを 0 に送信し、このリンクを無視するだけでなく、リンク元のドメインとリンク先のドメインをスパムの可能性について調査する必要があることを Google に伝えます。ネス。

含意に関する最後の質問について:

クエリ パラメータは、他の URL 構造と同じように役立つ場合もあれば、有害な場合もあるため、これらにも注意する必要があります。サイトの言語バージョンが異なる場合は、(特に完全に独自のコンテンツがない場合) 1 つを rel-canonical ページとして使用してください。つまり、リンク構造は検索エンジンにとって重要ですが、それほど重要ではありません。これは多くの指標の 1 つです。私はサブドメインについてはるかに心配しています。クエリ変数でページを説明するのに役立ついくつかの小さな基本的なキーワードをこっそり入れることができれば、少しは役立つかもしれません。ただし、URL でサポートされている 3 層または 4 層構造のサイトにすることを強くお勧めします。

これを見る

Google は domain.com/landingpage/category/subcategory?somevars=44 を好む傾向があります。

3 つ以上のディープ スプレッドにすると、サイトが大きくなりすぎてナビゲートできなくなります。見たことがない場合は、ここである程度カバーされていると思います: http://moz.com/beginners-guide-to-seo

検索エンジンジャーナル

シングルグレイン

モズ

次のような多くの SEO の質問やツールに答えることができます。

マジェスティック

解決する

モズキャスト

SERPMetricsフラックス

も大いに役立ちます。少し読んでみて、リンクの適切なスキームを決定できるかどうかを確認してください。

繰り返しますが、申し訳ありませんが、私は実際には Apache を知りませんが、それが役立つことを願っています!

于 2013-07-18T13:07:20.490 に答える
1

これに関するすべての情報と返信に感謝します。私が見つけた解決策は、より一般的な .htaccess ルールを記述して、すべてのサブドメインをキャッチし、処理のために PHP に転送することです。次に、PHP はサブドメインが有効かどうかを確認し、有効でない場合は 301 で訪問者をルート ドメインにリダイレクトします。このように、誰かが blah.blah.domain.com にリンクした場合、検索エンジンはそれを domain.com へのリンクとして認識します。私は自分のサイトで言語サブドメインのみを使用していますが、使用したいすべてのサブドメインで機能するはずです。

htaccessの書き換えは次のとおりです。

正規表現は、ドメイン名として有効な文字が 3 文字を超えており、その後にドットが続き、その後に他の文字列が続く最後のインスタンスを見つけることによって機能します。アイデアは、URL でドメイン名を見つけて、その前のすべてをキャプチャするというものです。明らかに、これは 3 文字未満のドメインでは機能しません。

#All sub domains are redirected to p.php for processing:
RewriteCond %{HTTP_HOST} ^(.*)\.[a-z0-9\-]{3,}\..*
RewriteRule (.*) p.php?subdom=%1 [L]

PHPは次のとおりです。

function redirect301($page='/'){
    header("HTTP/1.1 301 Moved Permanently"); 
    header("Location:{$page}");
    exit(); 
}

$subdom = $_REQUEST['subdomain']; //you should sanitise this if using this script!
$defaultLang = 'en';
$alternateLangs = "de|es"; //list of allowed subdomains
$alternateLangs = explode('|',$alternateLangs);

if(!empty($subdom) && $subdom!= 'www'){
    if( !in_array($subdom,$alternateLangs) ) redirect301(); //redirect to homepage
    $ISOlangCode = $subdom; // en,es,de,etc - capture code for use later
}
if($defaultLang && $ISOlangCode == $defaultLang) redirect301(); //disallow subdomain for default language (redirect to homepage)

うまくいけば、これは誰かを助けるでしょう。

于 2013-07-19T11:12:20.277 に答える
1

おそらく、パラメータの前にあるものをすべて取り、domain.comそれをパラメータに入れる書き換えルールがあるとしlangます。リダイレクトを行うための書き換えルールを用意するのではなく、page.phpスクリプトで lang パラメータを調べ、無効な値に対してリダイレクトを発行します。

于 2013-07-18T14:43:14.973 に答える