Monthly Archives: 5月 2011

Googleアカウントのメニューが英語になって困る

Googleアカウントのメニューが英語になってしまい困っており、どうにか日本語に戻したいと思っていろいろ調べてみたがどうにもよくわからない、と思っていたがこれを設定すればいいのか!と発見したのでメモしておく。

ここから「検索設定」→「表示言語の設定」を日本語にすれば、元通り。

Googleウェブマスターツールで引数つきURLを削除する

うちのかわいいサイトがGoogleペナルティにやられてしまったので、なんとか復活させようと思いましたが、なんだか面倒なのですぐにあきらめて移転することにしました。
新しいサイトはこちら:http://brassiere.roadsterlabs.com/

ユニークキーを引数としていたのですが、そのユニークキーの仕様をぐりぐり変えてしまったのが敗因と思います。また、さくらインターネットのデフォルトドメインと独自ドメイン、サブドメインの3ドメインで重複コンテンツになってしまったので、そのへんがペナルティの原因でしょう。

さて、表題の「Googleウェブマスターツールで引数つきURLを削除する」ですが、次の方法で削除できました(俺はできたのだが、あなたができてなくてもしらん)。


http://roadsterlabs.com/hoge.php?id=abc

http://roadsterlabs.com/hoge.php?id=def

http://roadsterlabs.com/hoge.php?id=123

http://roadsterlabs.com/hoge.php?id=456

http://roadsterlabs.com/hoge.php?id=789

http://roadsterlabs.com/hoge.php?id=obaka

これらの引数付きアドレスを一括して削除する、という場合。
ウェブマスター・ツールにログインし、左のメニューの「サイト設定→クローラのアクセス」、そして画面右側の「URLの削除」タブをクリック。
「新しい削除リクエスト」をクリックすると小窓が開くので、テキストボックスにhoge.php?id=と入力。

次の画面のセレクトボックスでは「ディレクトリを削除」を選択してリクエスト送信をします。これで削除されるはず。

おそらく、ディレクトリがうんぬんという話ではなくて、”Detele From TB_HOGE Where URL like ”hoge.php?id=%”みたいな処理が行われているのではないだろうか。

二つのテーブル間の同期をとる(MySQL)

何かのCSVファイルをDBに取り込んでマスターとする時、テンポラリに一時的に格納した後に処理をして、その後でマスターに更新するような処理をすることがありますが、その時にはこのようなSQLを使えばよいだろう。
mainテーブルにはunique_idというプライマリーキーが設定されているものとする。

INSERT INTO main (unique_id,information, information2)
    (select unique_id,information, information2 from temp)
    ON DUPLICATE KEY
        UPDATE
        main.information = temp.information,
        main.information2 = temp.information2;

これで、unique_idが無い場合にはinsert, キーがダブる場合にはUPDATEのinformationとinformation2フィールドのUPDATEが行われる。
コードが古くなって、廃止されたものはデータベースから削除する、という場合は、次のようなDeleteのSQLを実行して、「メインにあってテンポラリにない」テーブルを削除する。

delete from main where unique_id not in (select unique_id from temp);

tempデータベースのunique_idには、インデックスを貼っておくこと。処理スピードが違います。