インデックス作成が正しく行われないようにサイトミラーを閉じます

こんにちは、%habrauser%。

今日は、インデックス作成からサイトミラーを閉じる必要がない方法と、正しく閉じる方法を示します。



背景


私は私たちの街のある大企業でウェブマスターとして働いています。

私たちは、クライアントが当社の製品を宣伝および販売するためのサイトを作成しました。

クライアントは.RUゾーンのドメイン名を選択し、サイトは約1年間正常に機能しました。 現在、サイトは必要に応じて維持および編集されています。

しばらくして、クライアントはサイトの2番目のドメインが.ゾーンにあることを望みました

彼は独自に「プロモーターの専門的専門家 」を見つけました。そのサイトは、特定のリクエストに対してYandexの発行において最初の場所にありました。

彼は彼らと契約を結び、このseo-deskに毎月かなりの金額を送りました。

数週間後、SEOはようやく目を覚まし、私たちに連絡し、サイトへのftpアクセスとサイト管理パネルからのパスワードを取得しました。



「最適化」を開始


それはすべて、PHPShopサイトのエンジンを理解していないという事実から始まりました。

彼らは私たちに手紙を送り、それがどこで編集されているか、どのファイルに必要なタグがあるか、そして付録に公式文書へのリンクをいくつか教えてくれました。



サイト自体は、メインページのレイアウトスケルトンがindex.tplファイルにあり、残りの内部ページのhtmlスケルトンがshop.tplファイルにあるように設計されています。 コンテンツ自体はデータベース内にあり、ビジュアルエディターを使用して管理パネルから、またはソースhtmlの形式で編集されます。



Seoshnikiは必要に応じてレイアウトを修正しましたが、メインページでは著作権広告を貼りたいと考えていました。

ちなみに、この契約では、このサイトへのこのインデックス付きリンクを削除することはできないと述べています。



初歩的な管理パネルを理解していなかった悲惨なオプティマイザーは、フレームワークの通常の操作を妨げ、常識に反する松葉杖でサイトをスクリプトで埋め尽くしました。 最も無害な-彼らは静的バージョンをメインバージョンにし、この静的index.htmlをindex.phpの隣に置きました。



さらに、スクリプトを使用して、index.phpからindex.htmlにリダイレクトしました

なんで? すべてが管理パネルで編集されるという事実に目をつぶると、htaccessとmod_rewriteを使用して、数行を記述し、mod_phpを接続して301ヘッダーを表示しないことにより、Webサーバーレベルでこのようなリダイレクトを行うこともできます...



この驚きは、クライアントが主要な情報を変更したいという1か月後のseoshniksによって判明し、私たちに目を向けました。



私はTZに従ってすべてを行い、保存し、ゆっくりと夢中になり始めます。

私はデータベースに登りました-新しい情報。 彼はエンジンに乗り込み、デバッグは情報が正しく発行されたことを示しています。 ftpにアクセスして、サイトのルートに4つのなじみのないスクリプトを見つけました。その名前はseo-companyの名前です。



約1時間、コードを調べます。 ところで、彼らのスクリプトのphpコードは、リソースgovnokod.ruの名誉ある場所に授与されました。



私はそれらの後の妨害を修正し、彼らが行った作業を静的なindex.htmlからエンジンデータベースに転送します。



「私たちは驚きを気にしません」


数週間のうちに、新しい妨害が明らかにされています。 それはこのスレッドに関するものです。



クライアントが電話をかけ、サイトで何かをしたと悪意を持って言ったが、何も機能しない。 途方に暮れて、私たちは再び問題を整理し始めます。



ロシア連邦のゾーンにあるミラーのメインページにアクセスすると、エラー404が表示されます。

繰り返しになりますが、私たちは人々を急成長させ、「どのように?」という質問をする能力に少し驚きました。

zone.ruのメインドメインに移動します(昇格させます)-すべて正常です。

再び、悲嘆オプティマイザーのコードに登ります。



そして...私は次のコードを見つけます:

ドメイン名は特に開示していません。また、どのseo会社が非常に倒錯しているのかについても黙っています



if($_SERVER['HTTP_HOST']!='domain.ru'&&$_SERVER['HTTP_HOST']!='www.domain.ru') { $page=file_get_contents_curl('http://domain.ru/hjgjgjhgjh'); $page=iconv('utf-8','windows-1251',$page); header('HTTP/1.1 404 Not Found',true,404); $page=str_replace('<head>','<head><base href="http://domain.ru/">',$page); echo $page; echo 'not found'; exit(); }
      
      







facepalm.jpg



ご覧のように、彼らはミラーがYandexインデックスに収まることを望まず、残忍な松葉杖を作りました。



私は彼らのヒンドゥー教のコードを削除し、次のことを行います。



robots.phpファイルを作成し、次のように記述します。

 <?php header("Content-type: text/plain"); //  ,         if(strpos($_SERVER['HTTP_HOST'], 'domain.ru') === false) { //      , : echo "User-agent: *\nDisallow: /\nHost: domain.ru"; //    ,        } else { //    domain.ru,       ?> User-agent: Yandex Disallow: /gbook/ID Disallow: /search/ Disallow: /highslide/ Disallow: /java/ Disallow: /license/ Disallow: /pageHTML/ Disallow: /tagcloud/ Disallow: /data/ Disallow: /capcha/ Disallow: /pages/ Host: domain.ru User-Agent: Slurp Disallow: / User-agent: * Disallow: /gbook/ID Disallow: */*.swf Disallow: /search/ Disallow: /highslide/ Disallow: /java/ Disallow: /license/ Disallow: /pageHTML/ Disallow: /tagcloud/ Disallow: /webstat/ Disallow: /data/ Disallow: /capcha/ Disallow: /pages/ Sitemap: http://domain.ru/sitemap.xml <?php } ?>
      
      







作業は完了しました。robots.txtを削除し、次の行を.htaccessファイルに追加します(必須条件apache + mod_rewrite):

 RewriteEngine On RewriteRule ^robots.txt$ robots.php
      
      







UPD: nginx 個人用に変換されたルールはチェックしませんでしたが、動作するはずです。

コメントに何か書いたら-直します

 location = /robots.txt { rewrite ^(.*)$ /robots.php; }
      
      







それだけです! ロボットがrobots.txtをリクエストすると、サーバーはrobots.phpファイルを提供します



PS誰かがミラーを閉じるのに同様の湾曲した方法を使用するなら、彼はこれを最適化のためのスクリプトの「貯金箱」に追加するでしょう。



PPS現在、プロのseo企業は非常に少なく、その結果、「VS開発者」という永遠の対立が生じています。



PPPS誰もが興味を持っている場合、私はまだそのソデスクを指すことができます



ご清聴ありがとうございました!



UPD:反広告目的ではなく、予防目的:demis.ru-このスレッドのseo-heroes。



UPD:別のケース。 彼らは何かをするために登った、レイアウトが行きました。 すでに自分の費用と時間で彼らの妨害を修正するのに疲れている



All Articles